متدولوژی (Rup (Rational Unified Process یک فرآیند تولید و توسعه نرم افزاری می باشد که در سال 2000 این متدولوژی توسط شرکت Rational ارائه گردید .مهم ترین هدف Rup اطمینان از تولید نرم افزار با کیفیت بالا می باشد.
تولید نرم افزار با استفاده از متدلوژی Rup براساس یک روش تکرار شونده می باشد بدین صورت که در تولید یک محصول تعدادی تکرار در نظر گرفته می شود این تکرارها در فاز های Rup صورت می پذیرد در هر فاز Rup ممکن است چندین تکرار داشته باشیم و در پایان هر تکرار یک محصول قابل ارائه وجود دارد. این محصول در پایان هر تکرار کامل تر شده و در نهایت در آخرین تکرار محصول نهایی ارائه می گردد.
تولید یک محصول نرم افزاری در Rup شامل چهار فاز آغازین (Inception ) ، جزئیات (Elaboration ) ، ساخت (Construction ) و انتقال (Transition ) می باشد . میزان استفاده از نیروی انسانی و زمان صرف شده در هر فاز متفاوت است همان گونه که در شکل زیر مشاهده می کنید فاز ساخت بیشترین زمان و نیروی انسانی را نیاز دارد.
در Rup در ابتدای پروژه یک معماری اولیه تهیه می گردد این امر باعث به حداقل رسیدن ریسک های پروژه در ابتدای کار شده و کیفیت نرم افزار تولیدی را بالا می برد. از دیگر ویژگی های Rup قابلیت توسعه و تغییر نرم افزار براساس سلیقه و نیازهای کاربران و مشتریان می باشد.
یک فرآیند در Rup دارای عناصر اصلی زیر می باشد:
نقشها(Roles ): رفتارها و مسئوليتهايي هستند كه توسط يك فرد يا افرادی از يك تيم در پروژه انجام می شوند از جمله نقش های موجود در یک پروژه می توان به تحلیلگر سیستم ، معمار ، مشتری و کاربر نهایی اشاره کرد.
فعاليتها(Activities ): كارهايي كه يك نقش در طول پروژه انجام می دهد را فعالیت می گویند . هر فعالیت دارای هدف مشخصی می باشد و تنها به یک نقش منصوب می شود. فعاليتها ممكن است چندين بار در تكرارهاي مختلف پروژه انجام شوند .
فرآوردهها(Artifacts ): فرآوردهها در واقع محصولات و خروجی های پروژه می باشند كه در طول فرآيند توليد یک نرمافزار، بوجود می آیند و مورد استفاده قرار می گیرند و بروز رسانی می شوند .
به طور کلی روند تولید و توسعه یک نرم افزار با استفاده از متدولوژی Rup در 2 بعد صورت می پذیرد :
1.بعد افقی یا بعد زمانی فرآیند که شامل فازهای Rup می باشد.در شکل زیر بعد افقی همان محور افقی است که بیانگر ساختار داینامیک فرآیند می باشد .
2.بعد عمودی یامحورعمودی، ساختار استاتیک فرآیند را نمایش می دهد که شامل 9 دیسیپلین )مدل سازي کسب و کار، نيازمنديها ، تحليل و طراحي ، پياده سازي ، تست ، استقرار، مديريت پيكر بندي ،مديريت پروژه و محيط) می باشد.
همان گونه که در شکل مشاهده می کنید با گذشت زمان و در هر فاز دیسیپلین های خاصی اجرا می گردد و میزان استفاده از دیسیپلین ها بسته به نوع فازها متفاوت است. مثلا در فاز آغازین کاربرد دیسپلین استقرارِ(Deployment) صفر می باشد اما در فازهای ساخت و انتقال که پروسه تولید نرم افزار به اتمام رسیده است کاربرد این دیسپلین بسیار بالاست .
فازهای یك پروژه در RUP
در Rup انجام هر پروژه به چند قسمت تقسیم می شود که به هر کدام از این قسمت ها فاز گفته می شود. همان طور که گفته شد بعد افقی Rup شامل فاز های پروژه می باشد که در زیر به توضیح آن ها پرداخته ایم .
فاز آغازین (Inception ) :
در این فاز در ابتدا محدوده پروژه مشخص شده و به صرفه بودن انجام پروژه از نظر اقتصادی مورد ارزیابی قرار می گیرد و سپس به جلب رضایت سهامداران برای اجرای پروژه و اهداف آن پرداخته می شود. همچنین تهیه یک معماری اولیه و تخمین هزینه کلی پروژه ، زمان و مقدار سود دهی پروژه در این فاز انجام می گردد.
فاز جزئیات (Elaboration ) :
تحليل و بررسی دامنه پروژه و بدست آوردن یک معماري مناسب براي سيستم در این فاز صورت گرفته و توسعه پروژه و پیشگیری از ریسک های مهم سيستم از اهداف اصلی این فاز می باشد.
فاز ساخت (Construction ) :
فاز ساخت، عبارتست ازفرآيند توليد صنعتي كه در آن روي مديريت منابع، کنترل عملیات، به حداقل رساندن هزينهها و بدست آوردن یک کیفیت عالی در کوتاه ترین زمان تاكيد مي شود و به تکمیل تولید سیستم بر اساس معماری اولیه می پردازد. این فاز با استقرار یک نسخه کارکردی کامل از سیستم ، شامل نصب مستندات پشتیبانی و ابزارهای آموزشی خاتمه می یابد.
فاز انتقال (Transition ) :
در این فاز، خروجی پروژه با نیازمندی مشتری مطابقت داده می شود دراین فاز تضمین می شود نرم افزار نیازهای کاربر خود را برآورده می سازد این کار شامل تست محصول به منظور آمادگی برای انتشار و انجام تنظیمات جزئی براساس بازخورد کاربر است در این فاز دستورالعمل مورد نیاز برای راه اندازی خروجی نهایی پروژه به مشتری تحویل داده می شود .
دیسیپلین هاي Rup
دیسیپلین ها کارهای به هم مرتبطی هستند که برای به نتیجه رسیدن هدف خاصی از یک پروژه انجام می شوند. در هر دیسیپلین یک گردش کار وجود دارد. متدلوژی Rup از 6 دیسیپلین اصلی که مربوط به تولید محصول و 3 دیسیپلین پشتیبانی و مدیریت که مربوط به تیم و محیط تولید می باشد تشکیل شده است .
دیسیپلین های اصلی (مربوط به تولید محصول)
مدل سازی کسب و کار (Business Modeling ) :
اهداف اصلی این دیسپلین شناخت ساختار سازمان مورد نظر برای تولید و ارائه سیستم به آن سازمان ، بررسی مشکلات موجود و ارائه راه حل برای رفع مشکلات موجود می باشد و هم چنین با ارائه یک مدل Use-Case کسب وکار به تعریف فرآیندها ، نقش ها و مسئولیت های آن سازمان می پردازد.
نیازمندی ها (Requirements ) :
این دیسیپلین به بررسی نیازمندیهای سیستم براساس توافقات انجام شده با مشتری پرداخته و به تعیین حد و حدود سیستم و تخمین هزینه ها و زمان می پردازد.
تحلیل و طراحی (Analysis and Design ) :
تبدیل نیازمندیهای سیستم به طراحی به طوری که طراحی مورد نظر با محیط پیاده سازی هماهنگ باشد و هم چنین ایجاد یک معماری مستحکم از مهم ترین اهداف این دیسپلین می باشد.
پیاده سازی (Implementation ) :
پیاده سازی طراحی سیستم و تولید یک محصول نرم افزای در این مرحله صورت می پذیرد.
تست (Test ) :
تست محصول و بررسی کیفیت و نقایص محصول، بررسی هماهنگ بودن محصول پیاده سازی شده بر اساس طرح از اهداف اصلی دیسیپلین تست می باشد.
استقرار (Deployment ) :
نصب محصول و آماده کردن محصول برای ارائه و هم چنین امکان استفاده از محصول برای کاربران نهایی در این دیسیپلین انجام می شود.
دیسیپلین های پشتیبانی و مدیریت (مربوط به تیم و محیط تولید)
مدیریت پروژه (Project Management ) :
مدیریت پروژه ، مدیریت ریسک ها و از بین بردن محدودیت ها برای ارائه محصولی موفقیت آمیز از اهداف اصلی این دیسپلین می باشد.
مدیریت تغییرات و پیکربندی (Configuration & Change Management ) :
پیکر بندی و اعمال تغییرات لازم با حفظ صحت خروجی های پروژه در این بخش صورت می پذیرد.
مدیریت محیط(Environment ) :
فراهم کردن محیط تولید و ابزارهایی که در جهت پشتیبانی تیم تولید است مانند ایجاد سایت برای سازمان هدف در این بخش صورت می پذیرد .
کاربرد Rup
Rup Methodology براي انواع پروژه هاي نرم افزاري در مقیاس های مختلف از پروژه هاي بسیار کوچک تا پروژه هاي بسیار بزرگ کاربرد دارد. سیستم های اطلاعاتی ،سیستم های نظامی ،سیستم های صنعتی از جمله پروژه هایی هستند که می توان از متدلوژوی Rup در تولید آنها بهره مند شد.