فرآيند توليد نرم‌افزار

Download Report

Transcript فرآيند توليد نرم‌افزار

‫بسمهتعالي‬
‫فصل پنجم‬
‫فرآيند توليد نرمافزار در متدولوژي ‪USDP‬‬
‫اهداف جلسه‬
‫‪‬‬
‫آشنائي با روشهاي مدرن توسعه نرمافزار‬
‫‪‬‬
‫معرفي فرآيند توليد در متدولوژي‬
‫‪‬‬
‫درك تفاوت بين ‪ USDP‬و‬
‫‪‬‬
‫معرفي محورهاي اصلي‬
‫‪‬‬
‫درك محصول بودن‬
‫‪‬‬
‫آشنائي با ابعاد‬
‫‪USDP‬‬
‫‪RUP‬‬
‫‪USDP‬‬
‫‪RUP‬‬
‫‪RUP‬‬
‫‪2‬‬
‫فهرست مطالب‬
‫‪‬‬
‫فرآيند توليد نرمافزار‬
‫‪‬‬
‫روشهاي مدرن توسعه نرمافزار‬
‫‪‬‬
‫روشهاي سنگين و سبک‬
‫‪‬‬
‫مقدمهاي بر فرآيند‬
‫‪‬‬
‫محورهاي اصلي‬
‫‪‬‬
‫‪ RUP‬بعنوان يك محصول‬
‫‪‬‬
‫معرفي ابعاد فرآيند‬
‫‪USDP‬‬
‫‪USDP‬‬
‫‪RUP‬‬
‫‪3‬‬
‫فرآيند توليد نرم‌افزار‬
‫‪‬‬
‫يك فرآيند توليد نرمافزار چهار نقش اساسي دارد‬
‫‪‬‬
‫مشخخخنم نمخخخودن ترتيخخخع فعاليخخختهخخخايي كخخخه بايخخخد صخخخورت يخخخرد تخخخا‬
‫نيازمنديهاي كاربران به يك محصول واقعي تبديل شوند‬
‫‪‬‬
‫بيان اينكه چه فرآوردههايي بايد توليد شوند و در چه زماني‬
‫‪‬‬
‫تعيين روش اداره وظايف توسعهدهند ان منفرد و تيمخي نقخشهخاي‬
‫مورد نياز در پروژه و انتساع اين نقشها به اعضاي تيم‬
‫‪‬‬
‫فخخخراهم نمخخخودن معيارهخخخايي‬
‫(‪Metrics‬‬
‫‪ )Software‬بخخخراي انخخخدازه يخخخري‬
‫كيفيت محصوالت پروژه و روند پيشرفت فعاليتهاي آن‬
‫‪4‬‬
‫فرآيند توليد نرم‌افزار‬
‫به خوبي مستند‬
‫شده باشد‬
‫در فرآيند‬
‫توليد كه‬
‫به خوبي مستند نشده‬
‫باشد‬
‫(ادامه)‬
‫نرمافزارهاي مورد نياز به صورت‬
‫منظم و قابل پيشبيني قابل ت ‌وليدند‬
‫موفقيت بستگي به تالش طاقت‬
‫فرساي اعضاي تيم دارد‬
‫‪5‬‬
‫فرآيند توليد نرم‌افزار خوب‬
‫‪‬‬
‫يكخخي از مشنصخخخات بخخارز يخخخك فرآينخخد توليخخخد نخخوع اسخخختفاده از‬
‫تجربيات بدسخت آمخده از اجخراي پخروژههخاي نرمافخزاري موفخ‬
‫است‬
‫تكرار و توسعه تدريجي‬
‫بررسي‬
‫كيفيت‬
‫نرمافزار‬
‫مدلسازي‬
‫تصويري‬
‫نرمافزار‬
‫استفاده از‬
‫معماري مبتني‬
‫بر مؤلفهها‬
‫مديريت‬
‫نيازمنديها‬
‫كنترل تغييرات نرمافزار‬
‫‪6‬‬
‫تكرار و توسعه تدريجي‬
‫فرآيند آبشاري (‪)Waterfall Process‬‬
‫تحليل نيازمنديها‬
‫تعيين مشخصات‬
‫طر‬
‫احي به مراحل توليد نرمافزار‬
‫ترتيبي‬
‫ريشه مشكالت اصلي اين روش نگرش‬
‫پيادهسازي‌‬
‫آزمايش‬
‫نگهداري‌‬
‫تكامل‬
‫زمان‬
‫‪7‬‬
‫تكرار و توسعه تدريجي‬
‫(ادامه)‬
‫هزينه ريسك در روش آبشاري‌‬
‫هزينه‬
‫زمان‬
‫‪8‬‬
)‫(ادامه‬
‫تكرار و توسعه تدريجي‬
BM: Business Modeling
‫روش تکرار و توسعه تدريجي‬
R: Requirements Analysis
A/D: Analysis & Design
C: Implementation
T: Test
D: Deployment
Iteration 1
Iteration 2
Iteration 3
BM
BM
BM
R
R
R
A/D
A/D
A/D
C
C
T
T
D
D
T I M E
9
C
T
D
‫تكرار و توسعه تدريجي‬
‫(ادامه)‬
‫روش تکرار و توسعه تدريجي‬
‫نمونهسازي‌‬
‫تحليل نيازها‬
‫ي‬
‫معمار ‌‬
‫طراحي و ساخت‬
‫امكانسنجي‬
‫تكرار‬
‫مجتمع‌سازي مولفهها‬
‫با يكديگر‬
‫برنامهريزي براي توليد پرو ‌ژه‬
‫تدريج‬
‫تحويل مولفههاي ساخته شده‬
‫مقبوليت استفادهكننده‬
‫‪10‬‬
‫تكرار و توسعه تدريجي – ويژگيها‬
‫‪‬‬
‫تشخخنيم زود هنگخخام نياهخخايي كخخه در درك مس خ له تحليخخل يخخا‬
‫يراحي رخ ميدهند‬
‫‪‬‬
‫تشخخخخنيم زودهنگخخخخام ناسخخخخاز اريهخخخخاي موجخخخخود بخخخخين تحليخخخخل‬
‫نيازمنديها يراحي و پيادهسازي‬
‫‪‬‬
‫كاربر ميتواند دائما از روند پيشرفت پروژه ميلع ردد‬
‫‪11‬‬
‫تكرار و توسعه تدريجي – ويژگيها‬
‫‪‬‬
‫(ادامه)‬
‫بوسخخيله ايخخن روش مخخيتخخوان روي قسخخمتهخخاي مهمتخخر پخخروژه‬
‫متمركز شد و از پخردانتن بخه قسخمتهخاي كخم اهميختتر پرهيخز‬
‫نمود‬
‫‪‬‬
‫آزمخخخخايش تكخخخخراري و مسخخخختمر امكخخخخان تشخخخخنيم بهتخخخخر رونخخخخد‬
‫پيشرفت پروژه را به ما ميدهد‬
‫‪‬‬
‫باركاري (‪ )Workload‬تيمها بنصوم آزمايشكننخد ان روي‬
‫چرنه توليد پروژه به صورت متوازن توزيع ميشود‬
‫‪12‬‬
‫مديريت نيازمنديها‬
‫‪‬‬
‫نيازمنخخديهخخا عبارتسخخت از شخخريي يخخا قخخابليتي كخخه سيسخختم بايخخد‬
‫داراي آن باشد‬
‫‪‬‬
‫مديريت نيازمنديها شامل‬
‫ميلوع‬
‫سازماندهي و‬
‫دريافت‬
‫‪1‬‬
‫نيازمنديهاست‬
‫عملكردبودن‬
‫مستندسازي و پويا‬
‫نرمافزار متغير‬
‫ثابتها در دنياي‬
‫يكي) از‬
‫سيستم و محدوديتهاي موجود‬
‫‪ )2‬اعمال تغييرات ميلوع روي نيازمنديهاي جمعآوري شده‬
‫‪ )3‬رديابي و مستندكردن اثرات بوجود آمده و تصميمهاي اتناذ شده‬
‫‪13‬‬
‫مديريت نيازمنديها‬
‫‪‬‬
‫ويژ يها‬
‫‪‬‬
‫يك روش منظم و سيستماتيك براي مديريت نيازمنديها‬
‫‪‬‬
‫در ايخخن روش مخخيتخخوان نيازمنخخديهخخا را اولويخختبنخخدي فيلتربنخخدي ي خا‬
‫رديابي نمود‬
‫‪‬‬
‫امكان تشنيم واقعخي و منصخفانه عملكخرد و كخارايي سيسختم وجخود‬
‫دارد‬
‫‪‬‬
‫ناساز اريها به آساني قابل كشفند‬
‫‪14‬‬
‫استفاده از معماري مبتني بر مؤلفه‌ها‬
‫‪‬‬
‫معمخخاري سيسخختم عبارتسخخت از تعيخخين سخخانتار كلخخي سيس ختم و‬
‫روشهايي كخه ايخن سخانتار را قخادر بخه تخامين كليخه ويژ يهخاي‬
‫كليدي سيستم (‪ )cross-cutting concerns‬ميسازد‬
‫‪15‬‬
‫استفاده از معماري‌‪...‬‬
‫‪‬‬
‫(ادامه)‬
‫معمخخاري سيسخختم شخخامل تصخخميم يخخريهخخايي در سخخين ك خ ن در‬
‫موارد ذيل است‪:‬‬
‫معماري با مواردي از قبيل‬
‫سيستم‬
‫سازماندهيو رفتار‬
‫نحوهبر سانتار‬
‫ع‪ ‬وه‬
‫افزاري‬
‫سيستم نرم‬
‫يخ و‬
‫مجدد‬
‫پذيري سخاستفاده‬
‫خودن‬
‫تكنولوژنم‬
‫هايمشخخنم‬
‫محدوديتخا ‪+‬‬
‫واسخوخيهخخاي آنهخ‬
‫خانتاري و‬
‫انعيافعناصخخر‬
‫كارايي انتنخخاع‬
‫‪‬‬
‫رفتار اين عناصر‬
‫اقتصادي نيز سروكار دارد‬
‫‪‬‬
‫‪‬‬
‫سازماندهي اين عناصر در روههاي بزر تر (زيرسيستمها)‬
‫سبك معماري مورد استفاده‬
‫‪16‬‬
‫استفاده از معماري‌‪...‬‬
‫‪‬‬
‫(ادامه)‬
‫يكخخي از شخخيوههخخاي مهخخم معمخخاري نرمافخخزار توسخخعه مبتنخخي بخخر‬
‫مؤلفهها است زيرا اين روش امكان استفاده مجدد از آنها را‬
‫به ما ميدهد‬
‫‪‬‬
‫ويژ يها‬
‫‪‬‬
‫كمك در داشتن يك معماري كشسان‬
‫‪‬‬
‫افزايش قابليت استفاده مجدد از مؤلفهها و تكنولوژيهاي موجود‬
‫‪‬‬
‫مؤلفه پايه نوبي براي مديريت پيكربندي است‬
‫‪17‬‬
‫مدلسازي تصويري نرم‌افزار‬
‫مدل عبارت از يك توصيف ساده شده با توجه بخه يخك نگخرش‬
‫معين از سيستم است‬
Use
Case
Use
Case
Activity
Diagrams
Diagrams
Diagrams
Use
Case
Use
UseCase
Case
Diagrams
Diagrams
Diagrams
Scenario
Scenario
Sequence
Diagrams
Diagrams
Diagrams
Scenario
Scenario
Collaboration
Diagrams
Diagrams
Diagrams
18
State
State
Class
Diagrams
Diagrams
Diagrams
Model
Deployment
Diagram
State
State
Object
Diagrams
Diagrams
Diagrams
State
State
State
Diagrams
Diagrams
Diagrams
Component
Component
Diagrams
Component
Diagrams
Diagrams

‫مدلسازي تصويري نرم‌افزار‬
‫‪‬‬
‫(ادامه)‬
‫ويژ يها‬
‫‪‬‬
‫امكان توصيف سيستم با ميزان دلنواهي از جزئيات‬
‫‪‬‬
‫بوسخخيله مخخدلها ميتخخوان يراحخخي سيسخختم را بخخه صخخورت روشخخن و‬
‫صرين بيان نمود‬
‫‪‬‬
‫‪‬‬
‫امكان تشنيم معماريهاي غير قابل انعياف و واحدبندي نشده‬
‫نرمافزار نوع حاصل مدلهاي با كيفيت باال‬
‫‪19‬‬
‫بررس ي كيفيت نرم‌افزار‬
‫كيفيت به‬
‫براي رسيدن به يك نرمافزار با كيفيت قابل قبول‌ بايد فرآيند تشخيص‬
‫‪Cost‬‬
‫صورت مستمر و پيوسته از همان مراحل اوليه توليد نرمافزار به اجرا درآيد‬
‫‪Deployment‬‬
‫‪Development‬‬
‫هزينه اصالح خطاها به صورت نمايي رشد مينمايد‬
‫‪20‬‬
‫بررس ي كيفيت نرم‌افزار‬
‫‪‬‬
‫(ادامه)‬
‫ويژ يها‬
‫‪‬‬
‫فرآيند تشخنيم رونخد پيشخرفت پخروژه مبتنخي بخر واقعيختهخا نخه بخر‬
‫حدسها و محاسبات كاغذي نواهد بود‬
‫‪‬‬
‫ايخخن فرآينخخد ناسخخاز اريهخخاي موجخخود بخخين نيازمنخخديهخخا يراحخخي و‬
‫پيادهسازي را آشكار ميسازد‬
‫‪‬‬
‫امكخخان كشخخف زود هنگخخام نياهخخا را بخخه مخخا مخخيدهخخد و بخخدين صخخورت‬
‫هزينه اص ح آنها بشدت كاهش مييابد‬
‫‪21‬‬
‫مديريت پيكربندي‬
‫‪‬‬
‫هنخخخخر تشخخخخنيم سخخخخازماندهي و كنتخخخخرل تغييراتخخخخي كخخخخه بخخخخراي‬
‫نرمافزار در مدت كاركرد نود (از ابتداي توليد تخا نخارش شخدن‬
‫از عمل) رخ ميدهند‬
‫‪‬‬
‫يكخخي از مشخخك ت اساسخخي توليخخد نرمافخخزار مخخديريت پيكربنخخدي‬
‫است‬
‫‪‬‬
‫اين مشكل بويژه در پروژههاي بزرگ كه در آن تيمهخاي متعخددي بخا‬
‫يكخخديگر بخخر روي تكرارهخخا نشخخرها محصخخوالت و سخخكوهاي متفخخاوت‬
‫كار ميكنند قابل مشاهده است‬
‫‪22‬‬
‫مديريت پيكربندي‬
‫‪‬‬
‫(ادامه)‬
‫ويژ يها‬
‫‪‬‬
‫يك روش سيستماتيك و قابلتكرار براي كنترل تغييرات نرمافزار‬
‫‪‬‬
‫كنترل انتشار تغييرات‬
‫‪‬‬
‫‪‬‬
‫كاهش تدانل بين كار توسخعهدهنخد ان كخه بخه صخورت مخوازي بخا هخم‬
‫كار ميكنند‬
‫نرخ تغيير معيار مناسبي براي تشنيم وضعيت فعلي پروژه است‬
‫‪23‬‬
‫متدولوژيهای توسعه نرم افزار‬
‫‪‬‬
‫متدولوژيهای سنگين وزن (‪)Heavyweight‬‬
‫‪‬‬
‫اين نوع متدولوژيها معمخوال مسختندات محصخوالت و فرآوردههخاي‬
‫بيشتري توليد مينمايند‬
‫‪‬‬
‫متدولوژيهای سبک وزن (‪)Lightweight‬‬
‫‪‬‬
‫تاکيخخد بخخر توليخخد محصخخول نهخخايي و نخخه فرآوردههخخا و مسخختندات بسخيار‬
‫است‬
‫‪24‬‬
‫مقايسه متدولوژي‌هاي سبک و سنگين‬
‫‪‬‬
‫معيارهای مقايسه متدولوژيها با يکديگر‬
‫‪‬‬
‫روش‬
‫‪‬‬
‫معيار موفقيت‬
‫‪‬‬
‫اندازه پروژه‬
‫‪‬‬
‫سبک مديريت‬
‫‪‬‬
‫نحوه مستندسازی‬
‫‪‬‬
‫چرنهها‬
‫‪‬‬
‫اندازه تيم‬
‫‪‬‬
‫بر شت سرمايه‬
‫‪25‬‬
‫مقايسه متدولوژي‌ها ‪ -‬روش‬
‫‪‬‬
‫روشهخخای سخخريعاالنتقخخال بصخخورت ‪ Adaptive‬يخخا سخخاز ار عمخخل‬
‫میکنند و با شرايي منيب میشوند‬
‫‪‬‬
‫‪ Predictive‬عمخخل‬
‫پيشخگو‬
‫قابل پيشخ‬
‫ابتداخورت‬
‫وزناز بصخ‬
‫بينیيخخااست؟‬
‫خنگينچيز‬
‫سخ همه‬
‫روشهخخای آيا‬
‫میکنند و سعي ميکنند در آغاز همه چيز را پيشبينی کنند‬
‫‪26‬‬
‫مقايسه متدولوژي‌ها ‪ -‬معيار موفقيت‬
‫‪‬‬
‫معيار موفقيت در روشهای سخريعاالنتقخال دسختيابی بخه ارزش‬
‫کاري (‪ )Business Value‬است‬
‫روشهای سنگين وزن از نظر تغيير در فرآيند‬
‫‪‬‬
‫در روشهخخخای سخخخنگين وزن معيخخخار موفقيخخخت پخخخيش رفخخختن در‬
‫توسعه در حين پروژه انعيافپذيری ندارند‬
‫راستای يرح اوليه است‬
‫‪27‬‬
‫مقايسه متدولوژي‌ها ‪ -‬اندازه‬
‫‪‬‬
‫اندازه پروژه در روشهای سريعاالنتقال کوچک است‬
‫‪‬‬
‫اندازه پروژه در روشهای سنگين وزن میتواند بسيار بزرگ‬
‫اين مس له از محبوبيت روشهای سريعاالنتقال نمیکاهد‬
‫باشد‬
‫(آمار نشان میدهد که تعداد پروژههای کوچک بسيار بيشتر است)‬
‫‪28‬‬
‫مقايسه متدولوژي‌ها ‪ -‬سبک مديريت‬
‫‪‬‬
‫مخخديريت در روشهخخای سخخريعاالنتقخخال بصخخورت غيرمتمرکخخز و‬
‫آزاد است‬
‫‪‬‬
‫مديريت غيرمتمرکز امکان تصميم يری بهتر را در حين‬
‫در روشهخخخخخای سخخخخخنگين وزن مخخخخخديريت بصخخخخخورت ميلخخخخخ و‬
‫استبدادی است‬
‫پروژه فراهم میکند‬
‫‪29‬‬
‫مقايسه متدولوژي‌ها ‪ -‬مستندسازی‌‬
‫‪‬‬
‫مستندسخخخازی در روشهخخخای سخخخريعاالنتقخخخال بصخخخورت بسخخخيار‬
‫محدود انجام میشود‬
‫‪‬‬
‫در بسياری از موارد مستندسازيهای سنگين‪ ,‬کار بسيار‬
‫در روشهای سنگين وزن مستندسازی بصورت کامل و جامع‬
‫انجام میشود‬
‫دشوار و زمانبری است‬
‫‪30‬‬
‫مقايسه متدولوژي‌ها ‪ -‬چرخهها‬
‫‪‬‬
‫تعخخداد چرنخخههخخا (‪ )Cycles‬در روشهخخای سخخريعاالنتقخخال بسخخيار‬
‫زياد است اما زمان آنها کوتاه است‬
‫زمانبر بودن چرنههای توليد‪ ,‬موجع يوالنی شدن زمان‬
‫‪‬‬
‫در روشهای سنگين وزن تعداد چرنهها کخم اسخت ولخی زمخان‬
‫انتظار برای رسيدن به نشرها میشود‬
‫آنها بسيار زياد است‬
‫‪31‬‬
‫مقايسه متدولوژي‌ها ‪ -‬اندازه تيم‬
‫‪‬‬
‫در روشهای سريعاالنتقال انخدازه تخيم کوچخک اسخت (بخين ‪20‬‬
‫تا ‪ 30‬نفر)‬
‫‪‬‬
‫ود‬
‫نواهد ب‬
‫بسيار‬
‫هایهمکاری‬
‫قيت و‬
‫است‬
‫بيشتربزرگ‬
‫توسعه‬
‫کوچکتيم‬
‫تيم اندازه‬
‫سنگين دروزن‬
‫در نروش‬
‫‪32‬‬
‫مقايسه متدولوژي‌ها ‪ -‬برگشت سرمايه‬
‫‪‬‬
‫در روشهای سريعاالنتقال سرمايه نيلی زود در يخول پخروژه‬
‫بر می ردد‬
‫‪‬‬
‫اندبايخخخد تخخخا‬
‫خخرمايه‬
‫اقتصادی سخ‬
‫لحاظ بر شخخخت‬
‫ازخخخرای‬
‫وزن ب‬
‫خخنگين‬
‫هایسخ‬
‫روشخخای‬
‫در روشهخ‬
‫بصرفه‬
‫االنتقال‬
‫سريع‬
‫انتهای پروژه صبر کرد‬
‫‪33‬‬
‫معرفي ‪USDP‬‬
‫‪‬‬
‫يک فرآينخد توليخد مهندسخي نرمافخزار اسخت كخه روشخي مخنظم و‬
‫سيسخخخختماتيك بخخخخراي ترتيخخخخع انجخخخخام فعاليخخخختهخخخخا در يخخخخك پخخخخروژه‬
‫نرمافزاري را پيشنهاد مينمايد‬
‫فرآيند ‪ USDP‬از مدل شي رايي حمايت نموده و پايه‬
‫‪‬‬
‫‪ )Process‬است‬
‫داراي يك چارچوع فرآيند (‪Framework‬‬
‫افزار است‬
‫روشهاي مدرن توسعه نرم‬
‫‪‬‬
‫همه عناصر الزم براي توليخد محصخوالت نرمافخزاري از سيسختمهخاي‬
‫سخخخنتي و معمخخخولي رفتخخخه تخخخا سيسخخختمهخخخاي هوشخخخمند و سيسخخختمهاي‬
‫اي عاتي بزرگ را دربردارد‬
‫‪34‬‬
‫محورهاي اصلي ‪USDP‬‬
‫‪‬‬
‫سه محور اصلي‬
‫‪USDP‬‬
‫‪‬‬
‫راهبري بر مبناي موارد كاربري (‪)Use-Case Driven‬‬
‫‪‬‬
‫محوريت قرار دادن معماري (‪)Architecture Centric‬‬
‫‪‬‬
‫استفاده از روش تكرار و توسعه تدريجي‬
‫(‪)Iterative and Incremental Development‬‬
‫‪35‬‬
‫راهبري بر مبناي موارد كاربري‬
‫‪‬‬
‫مخخورد كخخاربري عبخخارت از دنبالخخهاي از عمليخخات اسخخت كخخه يخخك‬
‫سيسخختم انجخخام مخخيدهخخد تخخا يخخك نتيجخخه قابخخل مشخخاهده و ارزشخخمند‬
‫براي كاربر فراهم نمايد‬
‫در نگرش سنتي‬
‫در نگرش مبتني بر‬
‫موارد كاربري‬
‫سيستم بايد چه عملكردهايي از نود را‬
‫نشان دهد؟‬
‫سيستم به ازاي هر كاربر بايد چه‬
‫عملكردهايي از نود را نشان دهد؟‬
‫‪36‬‬
)‫(ادامه‬
‫راهبري بر مبناي موارد كاربري‬
‫راهبري بر مبناي م ‌وارد كاربري يعني‬
Use-Case
Model
Specified by
Realized by
Implemented by
Analysis
Model
Distributed by
Design
Model
Implementation
Model
37
Verified by
Deployment
Model
Test
Model
‫ به ‌عنوان يک فرآيند‬RUP
Unified Software Development
Process (USDP)
Is Customized to
(By Rational)
Rational Unified
Process(RUP)
Is Customized to
(By My Enterprise)
My Enterprise Process
38
‫‪ RUP‬بعنوان يك محصول‬
‫چون مستندسازي‬
‫‪‬‬
‫‪RUP‬‬
‫بوسيله اسناد كاغذي ميسخر نيسخت از‬
‫اسناد ‪ HTML‬استفاده شده است‬
‫بوسيله‬
‫‪‬‬
‫راهنماهخخاي الزم بخخراي بكخخار يري ‪ RUP‬بخخه عنخخوان يخخك فرآينخخد توليخخد در مراحخخل‬
‫منتلف توليد نرمافزار‬
‫‪‬‬
‫راهنماهاي ابزار (‪)Tools Mentors‬‬
‫‪‬‬
‫الگوها (‪)Templates‬‬
‫‪‬‬
‫يك ‪ Development Kit‬كه چگونگي تغيير سترش و تنظيم ويژه ‪ RUP‬را نشان‬
‫ميدهد‬
‫‪39‬‬
‫‪ RUP‬بعنوان يك محصول‬
‫(ادامه)‬
‫‪40‬‬
‫معرفي ابعاد فرآيند ‪RUP‬‬
‫‪‬‬
‫ميتوان نگاههاي ذيل را به فرآيند داشت‪:‬‬
‫‪ )1‬جعبه سياه (‪)Black Box‬‬
‫محصول جديد يا‬
‫تغيير يافته‬
‫فرآيند توليد و توسعه‬
‫نرمافزار‬
‫نيازمنديهاي جديد‬
‫يا تغيير يافته‬
‫‪ )2‬با توجه به مدت كاركرد مفيد سيستم نرمافزاري‌‬
‫مرگ‬
‫‪...‬‬
‫تولد‬
‫نسنهها يا نشرها (‪ )Releases‬منتلف‬
‫‪41‬‬
‫معرفي ابعاد فرآيند ‪RUP‬‬
‫‪‬‬
‫(ادامه)‬
‫نرمافخخزار يخخك محصخخول فيزيكخخي كخخه يخخك بخخار توليخخد و مسخختهلك‬
‫ميشود نيست بلكه مانند يخك موجخود زنخدهاي كخه در سخازمان‬
‫تولخخخد و رشخخخد كخخخرده و در دوران حيخخخات نخخخود بايخخخد بخخخا تغييخخخر‬
‫نيازهاي سازمان و اهداف و ماموريتهخاي آن نخود را تيبيخ‬
‫دهد‬
‫‪42‬‬
‫معرفي ابعاد فرآيند ‪RUP‬‬
‫‪‬‬
‫(ادامه)‬
‫مثال‪ :‬زند ي انسان!‬
‫‪‬‬
‫تولد و مرگ دارد‬
‫‪‬‬
‫داراي دورههاي ونا ون‪ :‬كودكي نوجواني جواني و پيري‬
‫نود تشبيه كرد!!!‬
‫منتمانسان‬
‫نيازهايزند ي‬
‫افزار را به‬
‫مي‪‬توان‬
‫نرميها و‬
‫حياتويژ‬
‫دورانداراي‬
‫هر دوره‬
‫‪‬‬
‫در ميان دورهها نيازهاي مشتركي زيادي وجود دارد‬
‫‪‬‬
‫ولي شيوه برآوردن آنها از يكديگر متفاوت است‬
‫‪‬‬
‫همچنين ميزان تاكيد روي هركدام متفاوت است‬
‫‪43‬‬
‫معرفي ابعاد فرآيند ‪RUP‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫(ادامه)‬
‫دوران حيات يك سيستم نرمافزاري شامل دورههخاي ونخا وني‬
‫است‬
‫ميان آنها فعاليتهاي مشتركي وجود دارد‬
‫در هر دوره بخه انخدازه معينخي روي هخر كخدام از ايخن فعاليتهخا‬
‫تاكيد ميشود‬
‫هركخخدام از ايخخخن دورههخخا ميتواننخخخد فعاليتهخخاي ويخخخژه نخخخود را‬
‫داشته باشند‬
‫‪44‬‬
‫معرفي ابعاد فرآيند ‪RUP‬‬
‫(ادامه)‬
‫در ‪ RUP‬دوران حيات يك نرمافزار به چهار مرحله آغازين‪ ،‬تشريح‪،‬‬
‫ساخت و انتقال تقسيم ميشود‬
‫سه مرحله اول شامل فعاليتهاي توليد يا توسعه نرمافزار بوده و مرحله چهارم‬
‫‪time‬‬
‫نگهداري آن است‬
‫‪Construction‬محيط واقعي و‬
‫‪Transition‬نده انتقال نرمافزار به‬
‫دربردار‬
‫‪Elaboration‬‬
‫‪Inception‬‬
‫‪iteration‬‬
‫‪#n+1 . . .‬‬
‫‪iteration‬‬
‫‪#n‬‬
‫‪iteration‬‬
‫‪#n+2 . . .‬‬
‫‪iteration‬‬
‫‪#n+1‬‬
‫‪iteration‬‬
‫‪#n‬‬
‫‪iteration‬‬
‫‪#2. . .‬‬
‫‪iteration‬‬
‫‪#1‬‬
‫‪preliminary‬‬
‫)‪iteration(s‬‬
‫‪Releases‬‬
‫‪45‬‬
‫معرفي ابعاد فرآيند ‪RUP‬‬
‫(ادامه)‬
‫‪ )3‬ديدگاه دو بعدي‬
‫‪‬‬
‫‪ RUP‬يخخك فرآينخخد توليخخد دو بعخخدي اسخخت (بخخرن ف فرآينخخدهاي‬
‫توليد سنتي كه يك بعدي هستند)‬
‫‪‬‬
‫اين ابعاد عبارتند از‪:‬‬
‫‪‬‬
‫بعد (محور) عمودي‪ :‬ردش كارهاي اصلي را نشان ميدهد‬
‫‪‬‬
‫بعد (محور) افقي‪ :‬سانتار چرنه توليخد نرمافخزار در ‪ RUP‬در بسختر‬
‫زمان را نشان ميدهد‬
‫‪46‬‬
‫معرفي ابعاد فرآيند ‪RUP‬‬
‫فرآيند دو بعدي‬
‫‌‬
‫(ادامه)‬
‫در يك تكرار همه‬
‫گردش كارها اجرا مي‬
‫شوند‬
‫فعاليتهاي‬
‫مشترك‬
‫زمان‬
‫‪47‬‬
‫معرفي ابعاد فرآيند ‪RUP‬‬
‫(ادامه)‬
‫‪48‬‬
‫پرسش و پاسخ‬
‫‪49‬‬