PDA

توجه ! این یک نسخه آرشیو شده می باشد و در این حالت شما عکسی را مشاهده نمی کنید برای مشاهده کامل متن و عکسها بر روی لینک مقابل کلیک کنید : مهندسي نرم افزار 1 جلسه سوم



Borna66
03-12-2010, 01:27 PM
فصل4 -فرایند های نرم افزار

فرایند نرم افزار مجموعه ای از فعالیت هاست که منجر به تولید محصول نرم افزاری می شود
فعالیت های اساسی که در تمام فرایند های نرم افزاری مشترکند :
1- تعیین مشخصات نرم افزار .
2- طراحی و پیاده سازی نرم افزار .
3- اعتبار سنجی نرافزار .
4- تکامل نرم افزار.

مدل های فرایند نرم افزار :
1- مدل آبشاری .
2- توسعه تکاملی .
3- مهندسی نرم افزار مبتنی بر قطعه .

چرخه حیات نرم افزار :
http://pnu-club.com/imported/2010/03/620.jpg

مدل آبشاری :
مدل معروف فرایند توسعه نرم افزار است که از سایر فرایندهای مهندسی ناشی می شود و شامل مراحل زیر می شود :
1- تحلیل و تعریف خواسته ها .
2- طراحی سیستم و نرم افزار .
3- پیاده سازی و تست واحد .
4- جامعیت و تست سیستم .
5- به کارگیری و نگهداری .

توسعه تکاملی :
سیستمی ایجاد می شود و به تدریج اصلاح می گردد تا سیستم نهایی توسعه یابد .
دو نوع توسعه تکاملی وجود دارد :
1- توسعه اکتشافی .
2- ساخت نمونه اولیه موقتی .
در این سیستم دو اشکال وجود دارد :
1- فرایند قابل مشاهده نیست .
2- سیستم ها چندان ساخت یافته نیستند .

توسعه تکاملی :
http://pnu-club.com/imported/2010/03/621.jpg

توسعه نرم افزار مبتنی بر قطعه :
در این روش استفاده مجدد به عنوان ابزاری برای توسعه سریع سیستم است و شامل مراحل زیر است :
1- تحلیل قطعه .
2- اصلاح خواسته ها .
3- طراحی سیستم با استفاده مجدد .
4- توسعه و جامعیت .
توسعه سیستم مبتنی بر استفاده مجدد :
http://pnu-club.com/imported/2010/03/622.jpg

تکرار فرایند :
فعالیت های فرایند در پاسخ به تغییر در خواست ها ، تکرار خواهد شد .

دو مدل فرایند برای پشتیبانی از تکرار فرایند ارائه شدند .
1- تحویل تدریجی .
2- توسعه مارپیچی .

تحویل تدریجی :
امتیازات مدل توسعه تدریجی :
1- لازم نیست مشتریان صبر کنند تا کل سیستم تحویل داده شود. اولین مرحله ای که انجام شد، خواسته های حیاتی آن را پاسخ می دهد و نرم افزار می تواند به کارگرفته شود.
2- مشتریان می توانند از مراحل اولیه به عنوان الگو ، استفاده کنند .
3- ریسک کمتری در مورد خرابی پروژه وجود دارد .
4- چون سرویس هایی با اولویت بالاتر، زودتر تحویل داده می شوند، بنابر این بخش های مهم سیستم ، بیشتر مورد تست قرار می گیرند .

توسعه تدریجی :
http://pnu-club.com/imported/2010/03/623.jpg

توسعه مارپیچی :
این مدل فرایند نرم افزار را بصورت دنباله هایی از فعالیت ها نشان می دهدکه از فرایندی به فرایند دیگر عقبگرد می شود. این فرایند بصورت مارپیچ نشان داده می شود .
هر حلقه در مارپیچ به چهار قطاع تقسیم می شود :
1- تنظیم هدف .
2- برآورد و کاهش ریسک .
3- توسعه و اعتبار سنجی .
4- برنامه ریزی .

فعالیت های فرایند :
هر فرایند دارای چهار فعالیت اصلی است :

1- تعیین مشخصات نرم افزار یا مهندسی خواسته ها.
2- توسعه یا طراحی و پیاده سازی نرم افزار.
3- اعتبار سنجی نرم افزار .
4- تکامل نرم افزار .

تعیین مشخصات نرم افزار
فرایند درک و تعریف سرویس های مورد نیاز سیستم و مشخص کردن قیدهای روی عملیات و توسعه سیستم است .

مراحل اصلی در فرایند مهندسی خواسته ها :
1- مطالعه امکان سنجی .
2- استخراج و تحلیل خواسته .
3- تعیین مشخصات خواسته ها .
4- اعتبارسنجی خواسته ها .

فرایند مهندسی خواسته ها
http://pnu-club.com/imported/2010/03/624.jpg

طراحی و پیاده سازی نرم افزار
فرایند تبدیل مشخصات سیستم به سیستم اجرایی است .
فعالیت های فرایند طراحی عبارتند از :
1- طراحی معماری .
2- مشخصات انتزاعی .
3- طراحی واسط .
4- طراحی قطعه .
5- طراحی ساختمان داده ها .
6- طراحی الگوریتم .

روش های ساخت یافته از یک یا چند مدل سیستم که در زیر آمده است پشتیبانی می کند :
1- مدل شیء .
2- مدل توالی .
3- مدل تغییر حالت .
4- مدل ساختاری .
5- مدل جریان داده .

اعتبارسنجی نرم افزار
اعتبارسنجی نرم افزار سعی می کند نشان دهد که سیستم با مشخصاتش جور در می آید .
مراحل فرایند تست عبارت اند از:
1- تست قطعه و واحد .
2- تست سیستم .
3- تست پذیرش .

فرایند اشکالزدایی :
http://pnu-club.com/imported/2010/03/625.jpg

فرایند تست :
http://pnu-club.com/imported/2010/03/626.jpg


تکامل نرم افزار
شامل انجام تغییرات پس از بکارکیری است .

http://pnu-club.com/imported/2010/03/627.jpg

فرایند یکنواخت
RUP می گوید مدل های فرایند عادی، نمای یکتایی از فرایند را ارائه می کند .

از سه دیدگاه توصیف شده است :
1- دیدگاه پویا : مراحل مدل را در طول زمان نشان می دهد.
2- دیدگاه ایستا : فعالیت های انجام شده فرایند را نشان می دهد.
3- دیدگاه عملی : اعمال مناسبی که باید در اثنای فرایند اجرا شود را مشخص می کند .

مراحل موجود در RUP
1- شروع : ایجاد یک حالت تجاری برای سیستم .

2- اکتشاف : توسعه ودرک دامنه مسئله، ایجاد چارچوب معماری برای سیستم، برنامه ریزی پروژه و شناسایی ریسک های مهم پروژه .

3- ساخت : باطراحی سیستم، برنامه نویسی و تست سروکار دارد.

4- انتقال : ایجاد یک سیستم مستند سازی شده

دیدگاه عملی شش عمل خوب پیشنهاد می کند :
1- توصیف نرم افزار به طور تکراری .
2- مدیریت خواسته ها .
3- از معماری های مبتنی بر قطعه استفاده کنید .
4- نرم افزار را بطور ویژوال مدل سازی کنید .
5- کیفیت نرم افزار را مدل سازی کنید .
6- تغییرات در نرم افزار را کنترل کنید .

جریانهای کار ایستا درRUP
1- مدل سازی تجاری .
2- خواسته ها .
3- تحلیل و طراحی .
4- پیاده سازی .
5- تست .
6- استقرار.
7- پیکربندی و تغییر مدیریت .
8- مدیر پروژه .
9- محیط .

مهندسی نرم افزار به کمک کامپیوتر
نرم افزاری برای پشتیبانی ازفعالیت های فرایند نرم افزاری بکارمی رود و شامل فعالیت های زیر است:
1- توسعه مدل های گرافیکی سیستم .
2- درک طراحی با استفاده از دیکشنری .
3- تولید واسط کاربر .
4- اشکالزدایی برنامه از طریق آماده سازی داده هایی راجع به برنامه در حال اجرا .
5- ترجمه خودکار برنامه ها از نسخه قدیمی به نسخه های جدید آن .

دیدگاهها برای دسته بندی کیس:
1- دیدگاه عملکردی .
2- دیدگاه فرایندی .
3- دیدگاه جامعیت .

پیشنهاد فوگتا برای دسته بندی سیستم های کیس :
1- ابزارها .
2- محیط کاری .
3- محیط .


گردآورنده: طه - Borna66