چرخه حیات تولید نرمافزار Software Development Lifecycle

فرایند توسعه نرمافزار که با عنوان «چرخه حیات توسعه نرمافزار» نیز شناخته میشود، ساختاری است که روی توسعه محصولات نرمافزاری اعمال میشود. و یا به بیانی دیگر، فرايند توسعه نرم افزار چهار چوبي است براي كارها و فعاليت های مورد نياز به منظور توسعه نرم افزار با كيفيت بالا.
چرخه حیات توسعه نرم افزار به سه فاز اصلی و یک فاز چتری(پشتیان) تقسیم بندی می شود. که فازهای اصلی عبارتند از: 1- تعریف 2- توسعه 3- نگهداری
هر یک از فازها خود به فازهایی تقسیم می شوند.
--------------------------------------------------------------------------------------------------------------------------
1- فاز تعریف
در مرحله تعريف تاكيد بر چه (WHAT) است:
چه توابع و عملكردي انتظار مي رود؟
چه رفتاري بايد سيستم داشته باشد؟
چه واسط هاي كاربري بايد طراحي شود؟
چه محدوديت هايي براي طراحي وجود دارد؟
معيارهاي صحت اعتبار براي تعريف يك نرم افزار موفق چيست؟
در اين مرحله روش مورد استفاده با انجام سه فعاليت زير مشخص مي شود:
* مهندسي سيستم يا اطلاعات System/Information Engineering
* برنامه ريزي پروژه نرم افزاري Software Project Planning
* تحليل نيازها Requirements' Analysis
--------------------------------------------------------------------------------------------------------------------------
2- فاز توسعه
مرحله توسعه تاكيد بر چگونگي (HOW) دارد:
چگونه داده ها بايد سازمان دهي شوند؟
تكميل وظايف چگونه در معماري وظايف گنجانده مي شود؟
ارتباط و توصيف پردازشها چگونه انجام مي گيرد؟
ويژگي هاي واسط هاي كاربري چيست؟
چگونه آزمايش انجام مي گيرد؟
چگونه طراحي تبديل به معماري برنامه و برنامه نويسي مي گردد؟ (مهمترين فعاليت)
در اين مرحله مدل هاي مورد نياز توليد مي گردد و روند كلي برنامه ها تعيين شده و ساختار پايگاه داده ها نيز رسم مي شود.
* سه فعاليت در اين مرحله عبارتند از:
* طراحي نرم افزار Software Design
* توليد كد Coding
* تست Testing
--------------------------------------------------------------------------------------------------------------------------
3- فاز نگه داري
مرحله سوم مرحله نگه داري است كه شامل:
نگه داري اصلاحي (Correction): اشكالات در چرخه زندگي پروژه شناسايي، بررسي و رفع ميگرددند.
نگهدار
تطبيقي (Adaptation): تغيير به مرور زمان و با توجه به نيازهاي محيطي و
كاربر.نياز جديد user را بايد با محيط تطبيق داد منوط به اينكه نرم افزار
قابليت توسعه را داشته باشد.
نگه داري ارتقايي (Enhancement): ارتقا نرم افزار پس از راه اندازي كه توسط كاربر خواسته مي شود.
نگه داري پيشگيرانه (Prevention): ايجاد تغييراتي در برنامه ها كه اصلاح و بهبود نرم افزار را تسهيل مي كند.
نرم افزار پس از دوره مشخصي بازنگري شده و اصلاحات لازم انجام مي شود، درواقع نرم افزار جديدي توليد مي گردد.
--------------------------------------------------------------------------------------------------------------------------
فعاليت هاي چتری (پشتيباني) :
فعاليت هاي پشتيباني زير در كليه مراحل فوق انجام مي گردد:
كنترل و نظارت بر برنامه ريزي پروژه
بازنگري هاي مستمر فني و رسمي (Quality Control)
اطمينان مرغوبيت نرم افزار ( شاما تمامي مراحل ) Quality Assurance
مديريت پيكربندي نرم افزار Configuration/Change Management
تهيه و تدوين مستندات
اندازه گيري ( مقياسهاي اندازه گيري ) Software Measurements
مديريت ريسك ( پيامدهايي كه برآورد زمان و هزينه را تغيير دهد) Risk Management
--------------------------------------------------------------------------------------------------------------------------
در مطالب آینده، بطور مفصل چرخه حیات توسعه نرم افزار را بحث خواهشم کرد.
از تمامی علاقه مندان خواهشمند است نظرات، پیشنهادات و کاستی ها را جهت بهبود مطالب بطور شفاف بیان کنند.
با تشکر
این وب لاگ به منظور افزایش سطح اطلاعات مهندسان نرم افزار و اصلاح دید فارغ التحصیلان این رشته نسبت به علم مهندسی نرم افزار ایجاد شده است.