Borna66
08-02-2010, 11:54 AM
مروري كلي بر متدولوژي RUP
RUP یک متدولوژی تکرارشونده (iterative) برای انجام فرایند مهندسی نرم افزار و تولید نرم افزار می باشد. در این روش كاربر سيستم همواره درگير در آمادهسازي سيستم ميباشد و در تمام مراحل بر توليد سيستم نظارت دارد. در اين روش سيستم نرمافزاري بصورت يكجا تحويل نميگردد.
در RUP هر سيكل از پروژه را به 4 فاز تکرارشونده (حركت عمودي در نمودار ) تقسیم و در هر فاز تکرارهایی تعریف مي شود.
در انتهاي هر يك از فازهاي RUPنقاط كنترلي (Milestone) براي ارزيابي وضعيت پروژه وجود دارند. در اين نقاط است كه وضعيت پيشرفت پروژه و موفقيت تيم پروژه سنجيده مي شود و تصميمگيريهاي مهم جهت بهبود روند انجام پروژه اتخاذ ميگردد.
در طول هر يك از فازها ممكن است يك يا چند تكرار صورت گيرد. همانطور كه در نمودار معروف RUP نيز مشخص است تكرارهايي كه در آغاز پروژه صورت ميگيرد بيشتر بر روي نيازمنديها و سرويسهاي مورد نياز سيستم تأكيد دارند و تكرارهايي كه در انتهاي پروژه صورت ميگيرند بيشتر بر پياده سازي سيستم تمركز ميكنند.
در ابتدای پروژه زمان های شروع و پایان و تعداد تکرارهای هر فاز را پیش بینی و تعیین نمایید و در کل پروژه آن را در نظر داشته باشید. در پایان هر تکرار نیز برای تکرار بعدی برنامه ریزی کنید. اگر نتوانستید طبق زمانبندی تمامی کارها را انجام دهید هیچ گاه زمان فاز (یا تکرار) را اضافه نکنید بلکه در فاز (یا تکرار) بعد ابتدا برای انجام کم کاری ها برنامه ریزی کنید و با از بین بردن علل به تعویق افتادن کارها در تکرار قبل و با زمانبندی واقع بینانه سعی کنید که دقیقا طبق برنامه پیش بروید.
متدولوژی 9 روند یا نظام (حركت افقی در نمودار) را نیز پیشنهاد می دهد. که در هر فاز موجب تولید فراورده هایی می گردند. فراورده هایی که تولید می شوند در هر فازی که ایجاد شوند امکان به روز آوری آنها در فازهای دیگر وجود دارد. در هر پروژه با توجه به بزرگی سیستم ممکن است تعدادی از این فراورده ها تولید گردند. در تمامی فازها، به مدیریت پروژه و محیط پرداخته می شود و فرآورده های آن تولید یا به روز می شوند.
حال به شرح مختصری در مورد کارهایی که در هر فاز انجام می گردد و مهم ترین فراورده هایی که بر اساس هر نظام در هر فاز تولید می گردد می پردازیم.
1. فاز آغازین (Inception phase)
در این فاز تمرکز بر روی تعيين اهداف و محدوده پروژه، هماهنگي افراد پروژه (كارفرما- پيمانكار و ....)، برآورد منابع مورد نياز پروژه، شناسايي ريسك هاي پروژه، مدل کردن کسب و کار و شناخت نیازمندی های سازمان می باشد. در پایان این فاز حداقل باید 85 – 90% نیازمندی های سازمان شناخته شده باشد.
فراورده هاي اين فاز مي تواند موارد زير باشد:
- Software Development Plan و Phase Plan
- طرح مديريت پيكربنديSystem Configuration Management Plan
- قالب كاري Business Case
- سند چشم انداز Vision Document
- سند واژه نامه Glossary Document
- قالب توليد Development Case
- فهرست مخاطرات Risk List
- مدل موارد كاربرد Use case model (( Use cases and Actors
- طرح تكرار Iteration Plan
- گزارش ارزيابي وضعيت Status Assessment Report
- گزارش ارزيابي تكرار Iteration Assessment Report
2. فاز تفصیل (Elaboration phase)
در اين فاز طراحي منطقي سيستم با توجه به قواعد و ساختار سازمان متولي پروژه انجام ميپذيرد و در انتهاي فاز با تكنولوژي در نظر گرفته شده براي سيستم, تركيب ميشود.
هدف از اين فاز تحليل همهجانبه مسايل مطرح در سيستم است. عواملي كه بيشترين درصد ريسك پروژه را به خود اختصاص ميدهند, بر طرف ميگردند.در اين فاز يك معماري مناسب و پايدار براي سيستم پايهريزي مي شود. شناخت نيازمندي ها كامل مي گردد و تحليل و طراحي شروع مي شود.
فراورده هاي اين فاز مي تواند موارد زير باشد:
- UI Proto type
- مشخصات موارد كاربرد Use Case Specification
- Proof of concept
- Domain Model
- Design mode
- Data model
- Implementation model
- نمونه اوليه معماري Architectural Prototype
- طرح آزمون Test Plan
- طرح تكرار Iteration Plan
- گزارش ارزيابي وضعيت Status Assessment Report
- گزارش ارزيابي تكرار Iteration Assessment Report
3. فاز ساخت (Construction phase)
هدف اصلي اين فاز ساخت و پيادهسازي بخش طراحي شده در فاز قبل ميباشد. در اين فاز نسخه a نرمافزار ارايه ميشود. نسخه a, نسخهاي از محصول است كه نشاندهنده انجام 60% از كار بوده و شامل قسمتهاي مختلف سيستم است كه پس از پيادهسازي توسط تيم تست, مورد بانگري و ارزيابي قرار ميگيرد.
در انتهاي اين فاز و معمولاً فاز بعد, نسخه b ارايه ميشود كه 90% از كار انجام شده را در برميگيرد. بعبارت ديگر 90% از ويژگيها و نيازهاي نرمافزاري ديده و پيادهسازي شده است.
فراورده هاي اين فاز مي تواند موارد زير باشد:
- Build
- Product
- سند معماري نرم افزار Software Architecture Plan
- Implementation model
- Data model
- Test Suite
- Test Evaluation Report
- طرح تكرار Iteration Plan
- گزارش ارزيابي وضعيت Status Assessment Report
- گزارش ارزيابي تكرار Iteration Assessment Report
- طرح تكرار Iteration Plan
- گزارش ارزيابي وضعيت Status Assessment Report
- گزارش ارزيابي تكرار Iteration Assessment Report
4. فاز انتقال (Transition phase)
هدف اين فاز انتقال و تحويل محصول نرمافزاري به سازمان مشتري ميباشد. زماني كه محصول در اختيار كاربران نهايي قرار گيرد, نظرات و بازخوردهايي از سوي آنها مطرح ميشود كه منجر به پيادهسازي اجزاي جديدي در سيستم شده و يا موجب تصحيح قسمتهايي از برنامه ميشود. در اين فاز درخواستهاي تغيير كه توسط كاربران سيستم اعلام شده مديريت و در سيستم اعمال مي گردند. در اين فاز نحوه و نيازهاي جهت استقرار سيستم اعلام مي گردد و اسناد آن تحويل داده مي شود.
در اين فاز ممكن است چندين تكرار لازم باشد و تستهاي مختلفي جهت ارايه نسخه نهايي صورت گيرد. در انتهاي اين فاز پروژه آماده تحويل ميباشد, ولي گاهاً نيز بر حسب نياز يك چرخه ديگر كه شامل همين چهار فاز ميباشد جهت توليد ويرايش جديد يا اعمال درخواستهاي جديد كاربر صورت ميگيرد.
فراورده هاي اين فاز مي تواند موارد زير باشد:
- Release Note
- Deployment Plan
- Installation Artifacts
- Training material
- End user Support material
- Product Builder
- Configuration Data
- Software Installation Media
- طرح تكرار Iteration Plan
- گزارش ارزيابي وضعيت Status Assessment Report
- گزارش ارزيابي تكرار Iteration Assessment Report
__________________
RUP یک متدولوژی تکرارشونده (iterative) برای انجام فرایند مهندسی نرم افزار و تولید نرم افزار می باشد. در این روش كاربر سيستم همواره درگير در آمادهسازي سيستم ميباشد و در تمام مراحل بر توليد سيستم نظارت دارد. در اين روش سيستم نرمافزاري بصورت يكجا تحويل نميگردد.
در RUP هر سيكل از پروژه را به 4 فاز تکرارشونده (حركت عمودي در نمودار ) تقسیم و در هر فاز تکرارهایی تعریف مي شود.
در انتهاي هر يك از فازهاي RUPنقاط كنترلي (Milestone) براي ارزيابي وضعيت پروژه وجود دارند. در اين نقاط است كه وضعيت پيشرفت پروژه و موفقيت تيم پروژه سنجيده مي شود و تصميمگيريهاي مهم جهت بهبود روند انجام پروژه اتخاذ ميگردد.
در طول هر يك از فازها ممكن است يك يا چند تكرار صورت گيرد. همانطور كه در نمودار معروف RUP نيز مشخص است تكرارهايي كه در آغاز پروژه صورت ميگيرد بيشتر بر روي نيازمنديها و سرويسهاي مورد نياز سيستم تأكيد دارند و تكرارهايي كه در انتهاي پروژه صورت ميگيرند بيشتر بر پياده سازي سيستم تمركز ميكنند.
در ابتدای پروژه زمان های شروع و پایان و تعداد تکرارهای هر فاز را پیش بینی و تعیین نمایید و در کل پروژه آن را در نظر داشته باشید. در پایان هر تکرار نیز برای تکرار بعدی برنامه ریزی کنید. اگر نتوانستید طبق زمانبندی تمامی کارها را انجام دهید هیچ گاه زمان فاز (یا تکرار) را اضافه نکنید بلکه در فاز (یا تکرار) بعد ابتدا برای انجام کم کاری ها برنامه ریزی کنید و با از بین بردن علل به تعویق افتادن کارها در تکرار قبل و با زمانبندی واقع بینانه سعی کنید که دقیقا طبق برنامه پیش بروید.
متدولوژی 9 روند یا نظام (حركت افقی در نمودار) را نیز پیشنهاد می دهد. که در هر فاز موجب تولید فراورده هایی می گردند. فراورده هایی که تولید می شوند در هر فازی که ایجاد شوند امکان به روز آوری آنها در فازهای دیگر وجود دارد. در هر پروژه با توجه به بزرگی سیستم ممکن است تعدادی از این فراورده ها تولید گردند. در تمامی فازها، به مدیریت پروژه و محیط پرداخته می شود و فرآورده های آن تولید یا به روز می شوند.
حال به شرح مختصری در مورد کارهایی که در هر فاز انجام می گردد و مهم ترین فراورده هایی که بر اساس هر نظام در هر فاز تولید می گردد می پردازیم.
1. فاز آغازین (Inception phase)
در این فاز تمرکز بر روی تعيين اهداف و محدوده پروژه، هماهنگي افراد پروژه (كارفرما- پيمانكار و ....)، برآورد منابع مورد نياز پروژه، شناسايي ريسك هاي پروژه، مدل کردن کسب و کار و شناخت نیازمندی های سازمان می باشد. در پایان این فاز حداقل باید 85 – 90% نیازمندی های سازمان شناخته شده باشد.
فراورده هاي اين فاز مي تواند موارد زير باشد:
- Software Development Plan و Phase Plan
- طرح مديريت پيكربنديSystem Configuration Management Plan
- قالب كاري Business Case
- سند چشم انداز Vision Document
- سند واژه نامه Glossary Document
- قالب توليد Development Case
- فهرست مخاطرات Risk List
- مدل موارد كاربرد Use case model (( Use cases and Actors
- طرح تكرار Iteration Plan
- گزارش ارزيابي وضعيت Status Assessment Report
- گزارش ارزيابي تكرار Iteration Assessment Report
2. فاز تفصیل (Elaboration phase)
در اين فاز طراحي منطقي سيستم با توجه به قواعد و ساختار سازمان متولي پروژه انجام ميپذيرد و در انتهاي فاز با تكنولوژي در نظر گرفته شده براي سيستم, تركيب ميشود.
هدف از اين فاز تحليل همهجانبه مسايل مطرح در سيستم است. عواملي كه بيشترين درصد ريسك پروژه را به خود اختصاص ميدهند, بر طرف ميگردند.در اين فاز يك معماري مناسب و پايدار براي سيستم پايهريزي مي شود. شناخت نيازمندي ها كامل مي گردد و تحليل و طراحي شروع مي شود.
فراورده هاي اين فاز مي تواند موارد زير باشد:
- UI Proto type
- مشخصات موارد كاربرد Use Case Specification
- Proof of concept
- Domain Model
- Design mode
- Data model
- Implementation model
- نمونه اوليه معماري Architectural Prototype
- طرح آزمون Test Plan
- طرح تكرار Iteration Plan
- گزارش ارزيابي وضعيت Status Assessment Report
- گزارش ارزيابي تكرار Iteration Assessment Report
3. فاز ساخت (Construction phase)
هدف اصلي اين فاز ساخت و پيادهسازي بخش طراحي شده در فاز قبل ميباشد. در اين فاز نسخه a نرمافزار ارايه ميشود. نسخه a, نسخهاي از محصول است كه نشاندهنده انجام 60% از كار بوده و شامل قسمتهاي مختلف سيستم است كه پس از پيادهسازي توسط تيم تست, مورد بانگري و ارزيابي قرار ميگيرد.
در انتهاي اين فاز و معمولاً فاز بعد, نسخه b ارايه ميشود كه 90% از كار انجام شده را در برميگيرد. بعبارت ديگر 90% از ويژگيها و نيازهاي نرمافزاري ديده و پيادهسازي شده است.
فراورده هاي اين فاز مي تواند موارد زير باشد:
- Build
- Product
- سند معماري نرم افزار Software Architecture Plan
- Implementation model
- Data model
- Test Suite
- Test Evaluation Report
- طرح تكرار Iteration Plan
- گزارش ارزيابي وضعيت Status Assessment Report
- گزارش ارزيابي تكرار Iteration Assessment Report
- طرح تكرار Iteration Plan
- گزارش ارزيابي وضعيت Status Assessment Report
- گزارش ارزيابي تكرار Iteration Assessment Report
4. فاز انتقال (Transition phase)
هدف اين فاز انتقال و تحويل محصول نرمافزاري به سازمان مشتري ميباشد. زماني كه محصول در اختيار كاربران نهايي قرار گيرد, نظرات و بازخوردهايي از سوي آنها مطرح ميشود كه منجر به پيادهسازي اجزاي جديدي در سيستم شده و يا موجب تصحيح قسمتهايي از برنامه ميشود. در اين فاز درخواستهاي تغيير كه توسط كاربران سيستم اعلام شده مديريت و در سيستم اعمال مي گردند. در اين فاز نحوه و نيازهاي جهت استقرار سيستم اعلام مي گردد و اسناد آن تحويل داده مي شود.
در اين فاز ممكن است چندين تكرار لازم باشد و تستهاي مختلفي جهت ارايه نسخه نهايي صورت گيرد. در انتهاي اين فاز پروژه آماده تحويل ميباشد, ولي گاهاً نيز بر حسب نياز يك چرخه ديگر كه شامل همين چهار فاز ميباشد جهت توليد ويرايش جديد يا اعمال درخواستهاي جديد كاربر صورت ميگيرد.
فراورده هاي اين فاز مي تواند موارد زير باشد:
- Release Note
- Deployment Plan
- Installation Artifacts
- Training material
- End user Support material
- Product Builder
- Configuration Data
- Software Installation Media
- طرح تكرار Iteration Plan
- گزارش ارزيابي وضعيت Status Assessment Report
- گزارش ارزيابي تكرار Iteration Assessment Report
__________________