تکرار(iteration)
هرفاز در مدل RUP از یک یا چند دوره تکرا ر تشکیل شده است که مدت و اهداف هر دوره از قبل مشخص می شود .پروژه در قسمت های کوچک تری ، بارها و بارها توسعه و تجدید نظر می شود .در پایان هر دوره تکرار ، ارزیابی دقیقی از دوره به منظور تعیین شروع یا عدم شروع یک دوره اصلاحی ، صورت می پذیرد.
Discipline
مدل RUP مشخص می کند که در طول فازهای مختلف،که به تناسب دوره های تکرار در هر فاز طول می کشد چه فعالیت هائی را باید انجام دهیم. کلیه disciplineهائی که در مدل RUP ملزم به انجام آن هستیم به دو دسته کلی discipline های مهندسی و پشتیبانی تقسیم می شوند. Discipline های مهندسی عبارتند از :
و discipline های پشتیبانی عبارتند از :
در این مرحله مستقل از بحث نرم افزاری یک راه حل سیستماتیک برای مساله موجود ارائه می شود .و کلیه فعالیت های مربوط به کسب و کار مدل می شود و در آن نقش قسمت های سخت افزاری ، نرم افزاری ، نیروی انسانی و ارتباط سیستم با سایر سیستم ها و بخش های دیگر به طور کامل مشخص می شود.
مدلسازی تجاری عمدتا در فاز های آغازین و جزئیات نقش بیشتری ایفا می کند.
درمورد نیازمندیها با دو مساله روبرو هستیم :
برای استخراج نیازمندیها می توانیم از مصاحبه با مشتری و کاربران نهائی سیستم و روش های طوفان ذهن(Brain Storming) استفاده کنیم . باید نیازمندیهای استخراج شده را به گونه ای مدیریت کنیم که در طول اجرای پروژه و پیاده سازی قسمت ها و تکرار های مختلف ، مسیر اجرا را دچار اختلال و مشکل نکند و در انتها کاملا مشخص باشد چه نیازمندی منجر به یک ویژکی خاص در سیستم شده است ، تا خطایابی ساده تر و سریعتر صورت پذیرد.
برای مشخص کردن و درک صحیح نیازمندی ها از رسم نمودار های موارد استفاده و سایر نمودارهای موجود استفاده می کنیم ، تا بین تمامی اعضای تیم درک یکسانی از نیازمندی ها به وجود آید. این فعالیت عمدتا در فازهای شناخت و جزئیات انجام می شود.
تحلیل و طراحی
در این discipline کلیه فعالیت های مربوط به آنالیز ، شناخت و طراحی مولفه های سیستم انجام می گیرد. تهیه مدل های آنالیز و طراحی به فهم بهتر سیستم و چگونگی پیاده سازی آن کمک می کند. هدف تحلیل و طراحی تحقق بخشیدن و عینی کردن هر چه بیشتر محصول در پیاده سازی است. در فاز های جزئیات و تولید نقش این discipline پررنگ تر می باشد.
پیاده سازی
در مدل RUP واحد توسعه و پیاده سازی سیستم موارد استفاده است.بنابراین برای پیاده سازی موارد استفاده به اعضای تیم واگذار می شود و اعضا آن را پیاده سازی می کنند. در این discipline برای تست هر مولفه از روش های تست واحد(Unit Test) استفاده می شود.
تست
تست مولف های نرم افزاری در discipline پیاده سازی انجام می شود . تستی که در این discipline مورد نظر است ، تست یکپارچگی و کارکرد مولفه های مختلف با یکدیگر است. انواع تست هایی که در این جا می تواند مورد استفاده قرار بگیر ، تست موارد استفاده(Use case Test) ، تست یکپارچگی(Integration Test) ، تست انحراف از معیار(Regression Test) ،تست فشار(Stress Test) ، تست پذیرش (Acceptance Test) و تست سیستم (System Test) می باشد. اهداف discipline تست عبارتند از :
مدل RUP ، یک روش تکراری برای تست سیستم ارائه می دهد که باعث می شود با تست سیستم در طول پروژه ، خطا ها و کاستی های سیستم هر چه سریعتر کشف شده و تیم هر چه سریعتر در جهت رفع خطا ها اقدام نماید. تست در سه بعد قابلیت اعتماد سیستم ، تست عملکرد سیستم و کارآیی برنامه وسیستم انجام می پذیرد .مدل RUP برای هر یک از این ابعاد فرایند را در طول هریک از مراحل برنامه ریزی ، طراحی ، پیاده سازی ، اجرا و ارزیابی توصیف می کند.
این discipline عمدتا در فاز تولید نقش دارد.
مدل نصب و راه اندازی
این discipline از درجه اهمیت بالائی در RUP برخوردار است ، چرا که محیط نصب و راه اندازی سیستم را مشخص می کند.در این discipline حداقل نیازمندیهای بستر راه اندازی و کار سیستم مشخص می شود و نرم افزار به صورت بسته های نرم افزاری آماده می شود . .بدین منظور می توان از روش هائی مثل pilot کردن سیستم و اجرای آزمایشی آن استفاده کرد.
اهداف این discipline را می توان در موارد زیر خلاصه کرد :
مدیریت پروژه
در این discipline فازبندی ها ، milestone ها ، زمانی که هر توسعه دهنده باید برای تولید یک مورد استفاده خاص صرف کرده و آن را تبدیل به کد کند ، زمان انضمام مولفه های مختلف و زمان تولید محصول نهائی ، مشخص و برنامه ریزی می شود . همچنین چون می توان از مدل RUP برای انواع پروژه ها ، اعم از پروژه های تولید یا راه اندازی ، نرم افزاری یا غیر نرم افزاری استفاده کرد ، بخشی به نام Tailoring وجود دارد که در آن مدل RUP را بسته به نیاز مساله متناسب می کند .
برای اینکه خروجی هائی که از تیم های مختلف طراحی ، تولید و ... به دست می آید یکسان باشد یکسری راهنما و قواعد تهیه می شود – قواعد طراحی، قواعد پیاده سازی ، قواعد آنالیز و...- که یکسان بودن خروجی تیم های مختلف را تضمین می کند.
اهداف اصلی مدیریت پروژه عبارتند از :
مدیریت ترکیب بندی و تغییرات
پس از نصب سیستم چرخه خطا و درخواست شروع می شود. باید تیمی برای مدیریت تغییرات و درخواست های جدید وجود داشته باشد ، که خطا ها و نیاز های مشتری و کاربران را دریافت کرده ، آن را در محیط مشابه امتحان کند . اگر خطا یا درخواست به واسطه عدم آگاهی و اطلاع مشتری بود آموزش و راهنمائی آن را به وی گزارش دهد و اگر خطای سیستم بود آن را به تیم توسعه جهت رفع و تولید یک تکرار جدید گزارش دهد.
این discipline کنترل نسخه های مختلفی از محصول را که توسط چندین نفر توسعه می یابد را توصیف می کند.و درباره اشتباه ها و مسائلی از قبیل زیر به ما اطمینان می دهد :
موقعیت مکانی و محیط نرم افزاری و سازمانی توسعه سیستم و در discipline مدیریت محیط مشخص و مدیریت می شود. به عنوان مثال می توان از نرم افزار source safe در محیط .NET نام برد و یا سرویس دهنده بانک اطلاعاتی و شناسه کاربری و رمز ورود به آن در این discipline مشخص می شود.
شکل زیر، ارتباط فازها ، تکرار هاو disciplineها را به طور کامل نشان میدهد.