آشنایی با مهندسی نرم افزار
نرم افزار تبدیل به عنصر کلیدي در تکامل محصولات و سیستم هاي مبتنی بر رایانه شده است. در 60 سال گذشته، نرم افزار از یک ابزار تحلیل اطلاعات و حل مسئله، به صنعتی مستقل تکامل یافته است. عملکرد گذشته در توسعۀ نرم افزارهاي کاربردي، یکسري مشکلات ایجاد کرده است که هنوز هم آثار آن قابل دیدن است. نرم افزار به عاملی محدودکننده در ادامۀ تکامل سیستمهاي رایانه اي تبدیل شده است. هر نرم افزار شامل مجموعه اي از برنامه ها، داده ها و مستندات است. هریک از این اجزا دربردارندة پیکربندي خاص خود هستند که به عنوان بخشی از فرایند مهندسی نرم افزار به وجود میآیند. هدف مهندسی نرم افزار فراهم آوردن چارچوبی براي توسعه نرم افزارهایی است که داراي کیفیت مطلوب و بالایی باشند.
از دیدگاه Pressman: به مجموعه اي از فنآوري ها، روش ها و ابزارهاي مبتنی بر اصول مهندسی که در توسعۀ نرم افزار استفاده میشود، مهندسی نرم افزار گفته میشود. از دیدگاه Sommerville: مهندسی نرم افزار در دهۀ 1960 در کنفرانسی با نام بحران نرم افزار مطرح میگردد. مهندسی نرم افزار در ارتباط با توسعۀ سیستم هاي نرم افزاري به شکل فعالیت گروهی است و از قواعد مهندسی استفاده میکند و شامل جنبه هاي فنی و غیر فنی است. از دیدگاه Bauer: مهندسی نرم افزار عبارت از توسعه و استقرار نرم افزار با استفاده از اصول دقیق مهندسی براي دستیابی به نرم افزاري با صرفۀ اقتصادي است دو شرط قابل اعتماد و کارا را دارد.
در حال حاضر برنامه نویس گذشته جاي خود را به تیمی از کارشناسان و مهندسین نرم افزار داده است که هر یک در بخشی از فنآوري لازم براي تولید یک برنامه کاربردي پیچیده فعالیت میکنند. با این وجود هنگام توسعه سیستم هاي رایانه مدرن پرسش هاي قبلی به صورت زیر همچنان مطرح هستند: چرا توسعۀ نرم افزارطولانی است؟ جواب: عامل مهم در طولانی شدن توسعۀ نرم افزارها، عدم امکان اندازه گیري مستقیم و عدم استفاده از مؤلفه هاي آماده و آزمایش شده در پیاده سازي است. راهکار استفاده از روش توسعۀ مبتنی بر مؤلفه1 (CBD) تاحدي میتواند در رفع این مشکل کمک کند. چرا هزینۀ توسعۀ نرم افزار بالا است؟ جواب: به علت تغییرات محیطی، فنی و طولانی شدن زمان توسعۀ نرم افزار، هزینه ها افزایش می یابد. چگونه میتوان خطاهاي نرم افزار را پیش از تحویل شناسایی کرد؟ جواب: در مراحل تحلیل و طراحی نرم افزار، بازبینی هاي مستمر انجام و کد تولید شده، به حد کفایت مورد آزمایش قرار گیرد. چرا در اندازهگیري پیشرفت پروژة نرمافزاري مشکل وجود دارد؟ جواب: چون معیارهاي دقیق و خاصی براي سنجش نرم افزار وجود نـدارد و ایـن معیارهـا بـه پارامترهـاي بسـیاري از تحلیـل، طراحـی و پیاده سازي وابسته اند.
در شکل زیر به وضوح دیده میشود که منحنی عمر مفید نرم افزار محدب و داراي نرخ شکست صعودي با شیب بسیار کم نسبت به منحنی ایده آل در طول زمان است که این رشد نرخ شکست ناشی از تغییر نیازها است.
محتوای اطلاعات و قطعیت اطلاعاتب در تعیین ماهیت کاربردی در یک نرم افزار مطرح هستند.منظور از محتوا معنی و شکل اطلاعات ورودی و خروجی و قطعیت اطلاعاتی به معنای قابلیت پیش بینی و زمان بندی اطلاعات است.با این وجود تعیین گروه هاي کلی بامعنی براي کاربردهاي نرم افزاري تاحدي دشوار است. با پیچیده تر شدن نرم افزار، مرزهاي صریح و روشن از بین می روند. به هرحال میتوان زمینهه اي زیر را به عنوان گروه هاي کاربردي مشخص کرد:
برآوردهاي زیر از تعداد زیادي نرم افزار در چرخۀ توسعۀ نرم افزار انجام شده است که نشان دهندة شدت افزایش هزینه تغییرات پس از تحویل نرم افزار است.
نشانی ایمیل شما منتشر نخواهد شد. بخشهای موردنیاز علامتگذاری شدهاند *
Current ye@r *
Leave this field empty
Copyright © 2010 Dlbook Team