Professional Documents
Culture Documents
Chapter2 Process
Chapter2 Process
1
نگاه اجمالي
فرايند چيست؟
2
آی,ا مفهوم فرآین,د ب,ا مهندس,ی نرم افزار یکس,ان اس,ت؟ پاس,خ ه,م «بل,ه» و ه,م «خیر» است
فرآین,د نرم افزار روش,ی را تعری,ف م,ی کن,د ک,ه در هنگام طراح,ی نرم افزار بکار گرفته
م,ی شود.ام,ا مهندس,ی نرم افزار نیز در بر گیرنده فناوریهای اس,ت ک,ه در فرآیند وجود
دارند یعنی روشهای فنی و ابزار خودکار.
رس,یدن ب,ه ی,ک نرم افزار مقرون ب,ه ص,رفه ک,ه قاب,ل اطمینان بوده و روی دستگاههای
واقعی کارآمد باشد.
3
تعريف IEEEازمهندسی نرم افز,ار:
4
فرآیند،شیوه ها و ابزارها
اس,اس نرم افزار ی,ک الی,ه ب,ه نام فرآین,د اس,ت .فرآین,د مهندس,ی نرم افزار مانن,د چس,بی است
ک,ه الی,ه های فناوری را ب,ا ه,م نگاه داشت,ه،توس,عه ب,ه موق,ع و منطقی نرم افزارکامپیوتری را
ممک,ن م,ی س,ازد فرآین,د چارچوب,ی برای مجموع,ه ای از حوزه های کلیدی و اص,لی فرآیند
خود مهیا می سازد که باید برای تحویل موثر فناوری مهندسی نرم افزار بوجود آید.
حوزه های اصلی پردازش [ )KPAs( ]PAU93مبنای کنترل مدیری,ت پروژه های نرم
افزاری را تشکیل داده و بس,تری فراه,م م,ی کنن,د ک,ه در آ,ن روشهای فن,ی بکار گرفته
میشود،محص,والت تولید میشون,د(،مدله,ا،اس,ناد،داده ه,ا،گزارشات،فرمه,ا و غیره)،محکهایی
بوجود می آیند،کیفیت سنجیده می شود و تغییرات احتمالی ترتیب داده می شوند.
روشهای مهندس,ی نرم افزار چگونگ,ی انجام کار را از نظ,ر فن,ی برای ساخت نرم افزار
مهیا م,ی کنند.روشهای مهندس,ی نرم افزار ب,ه مجموع,ه ای ازاص,ول اولیه تکیه دارن,د که بر
هر حوزه فناوری حاکم بوده و شامل فعالیتهای مدل سازی و دیگر فنون توصیفی است. 5
ابزارها
شيوه ها
فرايند
مالحظات كيفي
6
یک دید کلی از مهندسی نرم افزار
مهندسی عبارتست از:
تحلیل
طراحی
ساخت
تایید
بدون توج,ه ب,ه ماهیت چیزی ک,ه مورد کارهای مهندس,ی قرار م,ی گیرد .کارهای مربوط ب,ه مهندسی نرم افزار را
میتوان به سه گروه کلی تقسیم کرد ،بدون توجه حوزه کاربرد،اندازه پروژه یا پیچیدگی آن .
مرحله تعریف
7
مرحله تعریف
روی آنچ,ه ک,ه ای,ن کاره,ا هس,تند(،)whatمتمرک,ز م,ی شود .یعن,ی در طول تعری,ف مهندسی
نرم افزار س,عی م,ی کن,د نوع اطالعات,ی را ک,ه بای,د پردازش شوند،عملکرد مطلوب ،نوع
وضعیت س,یستم مورد انتظار ،نوع رابطهای,ی ک,ه باید ایجاد شوند .محدودیتهای موجود در
طرح و معیارهای ص,حت را ک,ه برای تعری,ف ی,ک س,یستم موف,ق الزمن,د ،شناسایی کند.
گرچه روشهای بکار گرفته شده در طول مرحله تعریف ،بسته به معیار مهندسی نرم افزار
ک,ه بکار رفت,ه بس,یار متفاوتن,د ام,ا س,ه کار اص,لی در بعض,ی موارد ب,ه وقوع می پیوندد
مهندسی سیستم ی,ا اطالعات ،طراحی پروژه نرم افزاری و تحلیل مربوط به موارد مورد
نیاز.
8
مرحله توسعه
مرحل,ه توس,عه وارائ,ه روی چگونگ,ی ()howمتمرک,ز اس,ت.یعنی در طول ای,ن مرحله
س,عی دارد چگونگ,ی س,اخته شدن داده ه,ا ،اجرای کار در ساختار نرم افزاری،
مهندس س,عی
چگونگ,ی توص,یف راب,ط ه,ا ،چگونگ,ی تبدی,ل طرح ب,ه زبان برنام,ه نویس,ی ی,ا زبان غیر
روی,ه ای)و چگونگ,ی انجام آزمون را توص,یف کند .روشهای بکار گرفته شده در طول
مرحل,ه توس,عه متفاوتن,د ام,ا س,ه کار فن,ی خاص همیش,ه رخ م,ی دهن,د :طراحی نرم افزار،
تولید کد و آزمون نرم افزار.
9
مرحله پشتیبانی
روی تغییر متمرک,ز()changمتمرک,ز اس,ت ک,ه ب,ا اص,الح خطا ،ایجاد تطابقات
الزم در ح,د الزم در رابط,ه ب,ا محیط نرم افزاری و تغییرات,ی ناشی از بهبود کار
بخاطر تغییر نیاز مشتری ،رابطه دارد
در طول این مرحله چهار نوع تغییر را شاهد هستیم.
اصالح
پیشگیری
10
ای,ن فازه,ا ومراح,ل توص,یف شده در دیدگاه کل,ی م,ا نس,بت ب,ه مهندسی نرم
افزار بوس,یله ی,ک س,ری فعالیتهای پوشش,ی تکمیل م,ی شوند .فعالیت
های نمونه در این گروه شامل موارد زیر است :
کنترل پیگیری پروژه نرم افزاری
تضمین کیفی نرم افزار
مدیریت طرح نرم افزری
آماده سازی اسناد و تولید
مدیریت قابلیت استفاده مجدد
بازنگری های فنی رسمی
ارزیابی
مدیریت خطر
11
فرآیند نرم افزار
,ه ای از کارهای مهندسی نرم افزاری،معیارهایبعض,ی از کاره,ا ک,ه ه,ر کدام مجموع
مجموع,ه
پروژ,ه محص,ول کار و نقاط تضمین کیفیت هس,تند،باع,ث م,ی شود ک,ه ای,ن مجموعه های
معین فعالیت,ی در مشخص,ه های پروژ,ه نرم افزاری بکار گرفت,ه شده و در مجموعه
تقاضاهای تیم پروژه نیز باشند.
موس,سه مهندس,ی نرم افزار ()SEIمدل جامع,ی ارائ,ه داده ک,ه روی مجموعه ای از
توانائیهای مهندس,ی نرم افزار ک,ه بای,د برای دس,ترسی س,ازمانها ب,ه س,طوح مختلف بلوغ
فرآیند وجود داشته باشد،پیش بینی می شود.
این طرح درجه بندی میزان تطابق با توانایی مدل کامل (]PAU93[ )CMM
را مشخ,ص م,ی کن,د ک,ه فعالیتهای اص,لی الزم در س,طوح مختل,ف فرآین,د تکام,ل را تعریف
می کند.
12
فرآیند نرم افزار(ادامه)
سطح :1اولیه.
فرآین,د نرم افزاری بص,ورت موقت,ی و حت,ی بعض,ی اوقا,ت بس,یار دره,م و بره,م توصیف شده
است.چند فرآیند تعریف می شود و موفقیت به تالش های فردی بستگی دارد.
سطح :2قابل تکرار.
فرآیندها,ی اولیه مدیری,ت پروژ,ه برای مشخ,ص کردن هزین,ه،زمان بندی وقابلیت کارای,ی آن
ص,ورت م,ی گیرند.اص,ل ضروروی فرآین,د در جای,ی اس,ت ک,ه موفقیتهای پیش ت,ر پروژ,ه ها,یی
کاربردهای مشابه را تکرار می کند.
سطح :3تعریف شده.
فرآین,د نرم افزاری برای مدیری,ت و فعالیت های مهندس,ی در طول ی,ک فرآیند پردازش نرم
افزاری در سا,زمان ثبت شده،استاندارد و منسجم است.
سطح :4مدیریت شده.
اقدامات دقیق صورت گرفته پردازش نرم افزار و کیفیت محصول همگی کنترل می شوند.
سطح :5بهینه سازی.
بهبود مکرر فرآین,د ب,ا ,توج,ه ب,ه بازخورد کم,ی فرآین,د و از روی آزمون ایده های ن,و آورانه و
فناوریهای تازه ،مقدور است. 13
نکات
تعهدات – نیازمندیهای (ک,ه از طرف س,ازمان اعمال شده) ک,ه بای,د مرتف,ع شود ت,ا به
اهداف دست یابد و دالیلی باید ارائه شود که با اهداف مطابقت داشته باشد.
توانائیه,ا – ای,ن چیزه,ا بای,د در جای خود باشن,د (چ,ه از نظ,ر س,ازمانی و چ,ه ه,ز نظر
15
نکات )ادامه(
روشهای کنترل پیاده س,ازی :شیوه ای ک,ه ب,ا آ,ن فعالیته,ا در جای خود قرار می
گیرند کنترل می شوند.
روش های,ی برای ارزیاب,ی درس,تی پیاده س,ازی :شیوه ای ک,ه ب,ا آ,ن عم,ل درست
برای KPAمشخص می شوند .
هجده ( KPAهر کدام با اس,تفاده از این خصوصیات توصیف شده اند) در طول
فرآین,د تکمیل کار تعری,ف شده و در س,طح مختل,ف فرآین,د تکامل,ی بصورت طرح
درآمده اند KPA.زیر را در هر سطح تکمیلی فرآیند به دست می آوریم سطح 2
فرآیند تکمیلی
مدیریت پیکربند ی نرم افزار .
جامعیت راه
حل
18
مدل ترتیب خطی
ای,ن مدل را ک,ه گاه,ی"چرخ,ه حیات کالس,یک" ی,ا "مدل آبشاری" م,ی نامن,د ،بیانگ,ر یک
نگرش نظام من,د و زنجیری نس,بت ب,ه تول,ی نرم افزار اس,ت ک,ه در س,طح سیستم شروع
شده و ب,ا تحلیل ،طراح,ی ،ک,د نویس,ی ،آزمون و پشتیبان,ی نرم افزاری پیشروی می
کند .
مهندسی سیستم/اطالعات
19
مشکالت ترتیب خطی
پروژ,ه های واقع,ی ب,ه ندرت از جریان زنجیری و متوال,ی ک,ه مدل ارائ,ه میدهد ،پیروی
م,ی کند .گرچ,ه مدل خطی می توان,د ب,ا تکرار تطابق یاب,د ،ام,ا آن را به طور غیر مستقیم
انجام م,ی ده,د .در نتیج,ه ،ب,ا انجام کار توس,ط اعضای پروژ,ه ممک,ن اس,ت موارد گیج
کننده ای رخ دهد .
اغل,ب برای مشتری مشک,ل اس,ت ک,ه تمام نیاز های خود را ب,ه طور مشخ,ص بیان کند .
مدل زنجیری خط,ی ب,ه ای,ن ام,ر نیاز داشت,ه و در تطاب,ق عدم قطعیت طبیع,ی که در آغاز
بسیاری از پروژه ها وجود دارد ،دارای مشکل است .
مشتری بای,د ص,بور باش,د .نسخه کاری برنام,ه ت,ا اواخ,ر مدت زمان کاری پروژه در
دس,ترس نخواه,د بود .اگر مشکل,ی وجود داشت,ه و ت,ا اواخ,ر کار برنام,ه نویس,ی ک,ه برنامه
مورد بازبینی قرار می گیرد مشخص نشود ،می تواند فاجعه آمیز باشد .
20
مدل نمونه سازی
الگوی نمونه سازی بهترین روش برای حل مشکالتی از قبیل :
نامطمئ,ن بودن مشتری از کارای,ی الگوریت,م ،قابلیت تطاب,ق آ,ن ب,ا ی,ک س,یستم عام,ل یا
شکل ارتباط متقابل دستگاه و انسان .
نمون,ه نخس,ت توس,ط مشتری /کاربر ارزیاب,ی شده و از آ,ن برای رفع نیازهای نرم
افزاری ک,ه قرار اس,ت تولید شود اس,تفاده م,ی شود وقت,ی نمون,ه اولیه طوری تنظیم شد
ک,ه نیازهای مشتری را براورده س,ازد ،عم,ل تکرار رخ م,ی ده,د ،در حالیکه در همان
زمان تولید کننده نرم افزار را قادر میسازد نیاز های مشتری را بهتر درک کند .
21
پارادیم ساخت نمونه
ήψϧΪϳΪΠΗΎϳΖΧΎγ
̵ ήΘθϣΎΑϩέϭΎΤϣ έΩ
ϪϧϮϤϧϝΪϣ
ارزیابی مشتری
از
مدل نمونه
22
مدل ساخت سریع برنامه ها()RAD
ب,,,,ا ت,,,وس,عه ,س,,ریع ,ک,,,اربرد Rapid Application Development
()RAD
یک مدل فرایند افزایشی تولید نرم افزار است که تنها بر یک سیکل تولید بسیار
کوتاه تاکید می کند مدل ( )RADیک نسخه تطابق یافته سرعت باال از مدل
زنجیری خطی است که در آن توسعه سریع با استفاده از ساختمانی مبتنی
بر اجراء تشکیل دهنده حاصل می شود اگر موارد مورد نیاز به خوبی شناسایی
شده و دامنه پروژه محدود شود ،فرایند RADاین امکان را به تیم می دهد
که سیستم تمام کاربردی را ظرف مدت بسیار کوتاهی ارائه دهند
(مثال 60تا 90روز )[ ]MAR91روش RADکه اساسا برای کارهای
س,یستمهای اطالعات,ی اس,تفاده م,ی شود در بر گیرنده مراح,ل زی,ر اس,ت .
[]KER94
23
مدلسازی تجاری
جریان اطالعات را در میان کارهای تجاری مدلسازی می کند.
مدلسازی داده ای
جریان اطالعات,ی ک,ه ب,ه عنوان بخش,ی از مرحل,ه مدلس,ازی تجاری تعریف شده در
مجموع,ه ای از اهداف داده ای ک,ه برای پشتیبان,ی تجاری الزمن,د ،پاالی,ش می شود.
مشخصه های هر هدف شناسایی شده و ارتباط بین این اهداف تعریف می شود .
مدلسازی فرآیند
اهداف داده ای که در مرحله مدلس,ازی داده ها تعریف شده اند تغییر می یابند ت,ا به
جریان اطالعات,ی الزم برای اجرای ی,ک کار تجاری ،دس,ت پیدا کنند .توضیحات
عم,ل پردازش برای افزودن ،شناس,ایی ،حذف ی,ا بازیاب,ی ی,ک شی,ء داده ای ارائه
می شوند .
24
تولید برنامه کاربردی
ب,ه جای تولید نرم افزار ب,ا اس,تفاده از زبانهای متعارف برنام,ه نویس,ی متعارف نسل
س,وم فرآیند RADتالش م,ی کن,د ت,ا از اجزاء برنام,ه موجود مجددا اس,تفاده کرده یا
جزء های قابل استفاده مجددی را تولید کند.
25
آزمون و گردش
از آنج,ا ک,ه فراین,د RADبراس,تفاده مجدد تأکید م,ی کن,د بس,یاری از اجزای برنامه
مورد آزمون قرار گرفته اند.این کار در زمان کلی آزمون صرفه جویی می کند.
مدل فرآین,د RADدر شک,ل زی,ر تشری,ح شده اس,ت.محدودیتهای زمانی اعمال شده
بر پروژه RADنیازمند یک دامنه قابل اندازه گیری است.
26
تیم شماره1 تیم شماره 2 تیم شماره3
مدل سازی مدل سازی
تجاری
مدل سازی
تجاری تجاری
مدل سازی
مدل سازی داده ای
داده ای مدل سازی
داده ای
مدل سازی
فرایند
مدل سازی
فرایند مدل سازی
فرایند تولید برنامه
کاربردی
تولید برنامه
کاربردی
آزمون و
چرخش آزمون و
چرخش
27
نقایص مدل های پردازش RAD
در مورد پروژ,ه های بزرگ ام,ا قاب,ل اندازه گیری RAD ،نیازمن,د مناب,ع انس,انی کافی
است تا تعداد تیمهای درست RADرا تشکیل دهد.
RADن,,یازمن,د ت,,,ولید ک,,,ننده ,و مشتریهای,یا,س,تک,,,ه ,ب,,,توا,نن,د ف,,,ع,ا,,لیتهایس,,ریع ,ال,زم,
را ب,,,را,یرسیدنب,,,ه ,ی,,کس,,یستم ,ک,,,املدر ی,,کچ,ارچوبزمانیک,,,وتاه ,ا,نجام ,دهند.
هم,ه نوع برنام,ه کاربردی برای RADمناس,ب نیس,ت .اگ,ر س,یستم ب,ه درستی پیکربندی
نشود ،س,اختن اجزای الزم برای RADمشک,ل س,از خواه,د بود .اگ,ر عملکرد عالی
موضوع اص,لی اس,ت و قرار اس,ت از طری,ق تنظیم راب,ط ه,ا ب,ا اجزای س,یستم تأمین شود
روش RADممکن است کارا نباشد.
RADوقتیک,,,ه ,خطرا,تف,,,نیب,,,سیار زیاد ا,ستمناسبن,,خوا,هد ب,,,ود.
28
مدل های تکاملی فرآیند نرم افزار
30
مدل فرایند فزاینده(ادامه)
مدل فرآین,د فزاینده مث,ل س,اخت نمون,ه اولیه و دیگ,ر روش های ارزیاب,ی و تکمیل
ماهیت تکرار شونده دارد ام,ا بر خالف نمون,ه اولیه ،مدل فزاینده روی تحویل
ی,,,ک محص,,,ول عملیات,,,ی ب,,,ا ه,,,ر بخ,,,ش رش,,,د یافت,,,ه و تأکید
م,ی کند .افزایشهای اولیه نس,خه های محدود شده محص,ول نهای,ی هس,تند ام,ا آنها
ای,ن توانای,ی را دارن,د ک,ه در خدم,ت کاربر بوده و همچنین محل,ی برای ارزیابی
توسط کاربر فراهم می کنند.
31
-2مدل پیچشی(حلزونی)
مدل حلزونی ک,ه در اصل توس,ط بوهم پیشنهاد شد یک مدل فرآیند نرم افزار تکاملی است
ک,ه ماهیت تکراری نمون,ه اولیه را ب,ا جنب,ه های نظام مند و کنترل شده مدل زنجیری
خطی ارتباط می دهد.
ب,ا اس,تفاده از مدل حلزون,ی نرم افزار در ی,ک س,ری نس,خه های فزاینده تولید می شود.در
طول تکرارهای اولیه ممک,ن اس,ت نس,خه اولیه ی,ک مدل روی کاغ,ذ ی,ا تنه,ا الگوی اولیه
باشد.در طول تکرارهای بعدی نس,خه های نس,بتا کاملتری از س,یستم مهندس,ی شده و تولید
می شود.
مدل حلزون,ی از نظ,ر فعالیت,ی ب,ه چن,د قس,مت تقس,یم م,ی شود ک,ه ب,ه آنه,ا مناط,ق کاری نیز
می گویند.معموال بین 3و 6منطقه وجود دارد.
32
مدل حلزونی
طرح ریزی
ارتباط با مشتری تحلیل ریسک
نقطه محوری
شروع پروژه
مهندسی
مهندسی و طراحی -کارهای الزم برای ساخت یک یا چند نمونه از برنامه کاربردی.
ساخت و ارائه -کارهای الزم برای ساخت،آزمون،نصب و تهیه پشتیبان,ی برای کاربر(مثل
مستند سازی و آموزش)
ارزیابی مشتری -کارهای الزم برای بدس,ت آوردن واکن,ش مشتری بر اس,اس ارزیابی
نمون,ه های نرم افزاری تولید شده در طول مرحل,ه مهندس,ی و اجرا شده در طول مرحله
نصب و راه اندازی.
34
شش منطقه کاری(ادامه)
ب,ا شروع فراین,د تکمیل,ی،تیم مهندس,ی نرم افزار در جه,ت حرک,ت عقربه های
س,اعت،حرک,ت در مارپیچ را آغاز م,ی کن,د و ای,ن کاراز مرک,ز شروع م,ی شود.اولین
مدار حول مارپیچ ممکن است منجر به تولید مشخصه محصول شود.
ب,ا عبور از ه,ر مرحل,ه منطق,ه برنام,ه ریزی،کارهای تطابق,ی ب,ا طرح پروژ,ه صورت
م,,ی گیرد .هزین,,ه و زمانبندی بر اس,,اس بازخورد ارزیاب,,ی مشتری،تنظیم می
گردند.عالوه بر آ,ن مدی,ر پروژ,ه تعداد تکرارهای تنظیم شده الزم برای تکمیل نرم
افزار را تعیین م,ی کند.مدل حلزون,ی م,ی توان,د کارهای انطباق,ی را ص,ورت ده,د تا در
تمام طول حیات نرم افزار کامپیوتری به کار گرفته شود.
در مدل حلزون,ی ه,ر مکعب,ی ک,ه در طول محور قرار داده شده اس,ت را م,ی توان به
عنوان نماینده نقطه شروع برای انواع پرژه های مختلف در نظر گرفت.
35
-3مدل حلزونیWINWIN
36
مدل حلزوی (WINWINادامه)
در مدل حلزون,ی بجای ی,ک رابط,ه ص,رف مشتری ،کلیه فعالیت های زیر
تعریف می شوند:
-1شناسایی سیستم یا دارندگان اصلی سیستم های فرعی
-2تعیین شرایط برد دارندگان سهم.
-3مذاکره در مورد شرای,ط برد س,هامدار برای تطاب,ق دادن آنه,ا درمجموعه ای
از شرایط win-winبرای همه افراد درگیر.
37
مدل حلزونی WINWIN
ارزیابیفVVVراVیند و محصولهای4-
جVایگزینو مرتفع VکVVVردنریسکها
اVعتبار سVVنجیمحصول6-
تVVVعVریفسVVطح بVVVعVد محصولو 5-
و تعریفات فرایند فVVVراVیند
مشتمل بر بخشها و قسمتها
38
مدل حلزونی( WINWINادامه)
عالوه بر تأکید روی مذاکرات اولیه،مدل حلزون,ی winwinس,ه معیار فرایند پردازش
نیز معرفی می کند که نقاط تکیهنامیده می شوند و به تکمیل یک چرخه حول مارپیچ کمک
نموده و معیارهای تصمیم گیری را قبل از انجام پروژه نرم افزاری مهیا می کنند.
نقاط تکیه نمایانگ,ر س,ه دیدگاه مختل,ف از پیشرف,ت در زمان,ی هس,تند ک,ه پروژ,ه مارپیچ را
ط,,ی م,,ی کند.اولین تکیه گاه ک,,ه ب,,ه آ,,ن اهداف چرخ,,ه حیات م,,ی گوین,,د
( )LCOمجموع,ه ای از اهداف را برای ه,ر فعالیت عمده مهندس,ی نرم افزار بیان م,ی کند
مثالً بعنوان بخش,ی از ،LCOمجموع,ه اهداف مرتب,ط ب,ا تعری,ف نیازهای س,طوح ارشد
سیستم/محصول.
دومین نقطه تکیه گاه به نام معماری چرخه حیات ( )LCAاهدافی را ارائه می دهد که باید
با تعریف شدن سیستم و نرم افزار مرتفع شوند،مثالً بعنوان بخشی از LCAتیم پروژه نرم
افزاری بای,د توضیح ده,د ک,ه قابلیت کارای,ی اجزای نرم افزاری قاب,ل استفاده مجدد و موجود
در بازار را برآورده کرده و اث,ر آنه,ا را روی تص,میمات س,اختاری در نظ,ر گرفت,ه اس,ت.
قابلیت عملیلت,ی اولیه()LOCسومین نقطه تکیه گاه است و نمایانگرمجموعه اهداف مربوط
ب,ه آماده س,ازی نرم افزار برای نص,ب/توزی,ع،آماده س,ازی س,ایت قب,ل از کارهای نصب و
راه اندازی و کم,ک مورد نیاز از طرف هم,ه طرفهای,ی اس,ت ک,ه از نرم افزار اس,تفاده ی,ا آن
را پشتیبانی می کنند.
39
-4مدل توسعه همروند
مدل تولید همزمان ک,ه گاه,ی ب,ه آ,ن مهندس,ی همرون,د م,ی گوین,د ک,ه توسط
دیوس و سیترام توصیف شده است:
مدیران پروژ,ه ای ک,ه وضعیت پروژ,ه را از فق,ط ب,ا دنبال کردن مراحل
اص,لی تعقیب م,ی کنن,د هیچ نظری در مورد وضعیت پروژه های خود
ندارند.اینهانمون,ه های,ی از تالش برای پیگیری مجموع,ه فعالیت های بسیار
مشکل با استفاده از مدل های بسیار ساده است.
مدل های فرآین,د مهندس,ی نرم افزار ک,ه توس,ط هامفری و کلت,ر ارائه شده
اند،نشانگر همروندی فعالیت های رخ داده در طول هر مرحله می باشند.
40
یک عنصر از مدل فرآیند همروند
شروع
توسعه نخست
منتظر تغییرات
تحت بازبینی
انجام شده
41
مدل توسعه همروند(ادامه)
مدل فرآین,,,,د همزمان ی,,,,ک س,,,,ری رویدادهای,,,,ی را مشخ,,,,ص
م,ی س,ازد ک,ه انتقال از حالت,ی ب,ه حال,ت دیگ,ر را برای ه,ر کار مهندس,ی نرم افزار آغاز می
کنند.
مدل فرآین,د همزمان اغل,ب بعنوان معیاری برای توس,عه و تولید برنامه های کاربردی
خادم/مخدوم اس,تفاده م,ی شود.ی,ک س,یستم خادم/مخدوم متشک,ل از مجموعه ای اجزای
کاربردی اس,ت.وقتی مدل فرآین,د همزمان در خادم/مخدوم اس,تفاده م,ی شود،فعالیت هایی را
در دو بع,د تعری,ف م,ی کن,د ،بع,د س,یستم و بع,د مؤلفه.موضوعات مربوط ب,ه س,یستم ب,ا استفاده
از س,ه فعالیت مورد توج,ه قرار م,ی گیرن,د،طراح,ی،مونتاژ و کاربرد.بع,د جزء از نظر دو
فعالیت مورد بررسی است:طراحی و شناسایی و همزمانی به دو شکل حاصل می شود:
-1فعالیت های س,یستم و جزء ک,ه بطور همزمان رخ م,ی دهن,د و م,ی توان آنه,ا را ب,ا استفاده
از رهیافت وضعیت گرا مدلسازی کرد.
-2ی,ک برنامه کاربردی معمول خادم/مخدوم بوس,یله اجزا بسیاری ب,ه اجرا در می آی,د که هر
کدام از آنه,ا را م,ی توان بطور همزمان طراح,ی و شناس,ایی نمود.مدل فرایند همزمان در
مورد همه نوع تولید نرم افزار قاب,ل اجراس,ت و تص,ویر دقیقی از وضعیت کنون,ی پروژه را
ارائه می دهند.
42
توسعه مبتنی بر اجزاء
43
توسعه مبتنی بر اجزا
تحلیل مخاطرات
طرح ریزی
ارتباط با مشتری
ارزیابی مشتری
مهندسی ساخت و اجرا
44
مدل شیوه های رسمی
مدل,ی ک,ه بر پای,ه شیوه های رس,می بدس,ت م,ی آی,د دربرگیرنده ی,ک س,ری فعالیت هایی
است که منج,ر به تعیین رسمی مشخصه های نرم افزار کامپیوتر با روابط ریاضی می
شود .روش های رس,می مهندس,ی نرم افزار را قادرم,ی س,ازند ک,ه ی,ک س,یستم مبتنی بر
کامپیوت,ر را ب,ا بکارگیری عبارات ریاض,ی بس,یار دقیق مشخ,ص توس,عه داده و تغییر
دهد.یک نوع از این روش به نام مهندسی نرم افزار اتاق پاک است.
ب,ا اینک,ه مدل روش های رس,می بص,ورت ی,ک روش حتم,ی و رای,ج در نیامده ام,ا یک
نرم افزار بدون مشک,ل را تضمین م,ی کند.ب,ا ای,ن وجود مس,ئله توانای,ی آ,ن در محیط
تجاری مورد بحث قرار دارد:
-1توسعه روش های رسمی در حال حاضر کامالً وقت گیر و گران است.
-2از آنج,ا ک,ه تولید کنندگان کم,ی در مورد نرم افزار دارای پیش زمین,ه کافی برای
استفاده از روش های رسمی هستند یک دوره آموزش پر هزینه الزم است.
-3اس,تفاده از مدل ه,ا بعنوان ی,ک مکانیزم ارتباط,ی برای مشتریان غیر کارکشته از
45نظر فنی مشکل است.
فنون نسل چهارم
46
فنون نسل چهارم(ادامه)
می توان وضعیت کنونی روش های 4GTرا به صورت زیر خالصه کرد:
-1اس,تفاده از روش 4GTروش بس,یار ارزشمندی برای بس,یاری از حوزه های مختلف
در برنام,ه های کاربردی اس,ت 4GT.همراه ب,ا ابزارهای مهندس,ی نرم افزار ب,ا کمک
کامپیوت,ر()CASEو مولدهای ک,د،ی,ک راه ح,ل خوب برای بسیاری از مشکالت نرم
افزاری ارائه می دهد.
-2اطالعات جم,ع آوری شده از شرکتهای,ی ک,ه از 4GTاس,تفاده م,ی کنن,د نشانگ,ر این
اس,ت ک,ه زمان الزم برای تولید نرم افزار برای بر نام,ه های کاربردی کوچک و
متوسط تقریبا ً کاه,ش یافته و میزان طرح و تحلیل برای برنامه های کوچ,ک نیز کم شده
است.
-3اس,,تفاده از 4GTبرای کارهای تولید نرم افزار در مقیاس بزرگ نیازمند
تحلیل،طراح,ی و آزمون بیشتری در وق,ت ص,ورت گیرد ک,ه ای,ن کار از طریق حذف
کدها بوجود می آید.
47
فناوری فرآیند
48