۱۳۸۹ اردیبهشت ۲۰, دوشنبه

متدولوژي RUP

RUP، متدولوژی ارائه شده توسط شرکت Rational، پرکاربردترین فرآیند تولید و توسعه نرم افزاری در دنیای کنونی است و به عنوان یک استاندارد صنعتی بالفعل در دنیای IT پذیرفته شده است. به گزارش رویتر در سال 2001 میلادی بیش از ششصد هزار شرکت تولید کننده نرم افزار، از ابزارهای شرکت Rational استفاده می کرده‌اند که این تعداد کماکان هم در حال افزایش است. این متدولوژی، برای انواع پروژه‌های نرم‌افزاری در دامنه‌های مختلف ( مانند سیستم‌های اطلاعاتی، سیستم‌های صنعتی، سیستم‌های بلادرنگ، سیستم‌های تعبیه شده، ارتباطات راه دور، سیستم‌های نظامی و ...) و در اندازه‌های متفاوت، از پروژه‌های بسیار کوچک (یک نفر در یک هفته) تا پروژه‌های بسیار بزرگ (چند صد نفر تولید کننده با پراکندگی جغرافیایی)، کاربرد دارد.


مزیت بزرگ این متدولوژی، استفاده از روش تکرار در تولید و مدیریت تولید نرم‌افزار است که این امر، امکان تولید مبتنی بر کاهش ریسک و مواجه با مشکلات اصلی در ابتدای کار و در نتیجه احتمال موفقیت بیشتر را فراهم می‌کند. از محاسن دیگر این متدولوژی مبنا قرار دادن نرم‌افزار و تولید یک معماری پایدار در ابتدای کار است، که در نتیجه امکان کشف مشکلات عمده ساختاری، تست و مجتمع سازی ممتد را از ابتدای کار فراهم می‌کند. از دیگر مزایای این روش این است که افراد تیم همزمان با پیشرفت پروژه، مطالب جدیدی فرا می‌گیرند و کیفیت فرآیند تولید نیز به طور مرتب افزایش می‌یابد.

رويكرد تكرارشونده نسبت به رويكرد سنتي آبشاري هم مشكل تر است و هم آسان تر! مشكل بودن اين رويكرد به اين دليل است كه رويكرد تكرارشونده مستلزمِ برنامه ريزي مستمر و كاملاً پويا در طول پروژه مي باشد .اين در حالي است كه در رويكرد آبشاري برنامه ريزي يك بار و آن هم در ابتداي پروژه انجام مي شود. اما دليل آسان تر بودن رويكرد تكرارشونده نسبت به رويكرد آبشاري، اين است كه در رويكرد تكرارشونده، فرصت يادگيري و بهبود در طول مسير چرخه توليد فراورده فراهم مي باشد. به اين ترتيب، در طول پروژه، امكان تصحيح به موقع اشتباهات وجود خواهد داشت؛ در واقع تكرارِ بعد، مي توانيد جبران كنيد. در حالي كه در رويكرد آبشاري، بسياري از اشتباهات در انتهاي پروژه آشكار مي شود و بالطبع فرصت كمي براي تصحيح وجود خواهد داشت.

مزيت هاي عمده ي رويكرد تكرارشونده نسبت به رويكرد آبشاري، عبارتند از:

- ريسك ها را زودتر مي توان کنترل نمود.

- تغييرات، بسيار راحت تر قابل مديريت و كنترل مي باشد.

- امكان استفاده ي مجدد در سطوح بالاتري فراهم مي گردد.

- تيمِ انجام دهنده پروژه، قادر خواهد بود در طول پروژه، يادگيري داشته باشد.

كيفيت كلي محصول نيز بهتر خواهد بود.

فازهای RUP:

Inception (تعریف حوزه مسئله)

Elaboration (برنامه ریزی پروژه, مشخص کردن ویژگیها, پایه گذاری معماری)

Construction (ساختن محصول)

Transition (انتقال محصول به محیط کار)

تعریف حوزه مسئله Inception

دستیابی به توافق میان تمامی ذینفعان بر روی اهداف چرخه حیات پروژه

بدست آوردن محدوده نرم افزاری پروژه و محدودیتهای آن (Vision)

مشخص نمودن سناریوهای اساسی سیستم (Use Case)

برآورد هزینه و زمان کلی برای کل پروژه

خروجی:

دید کلی از نیازمندیهای پروژه (Vision)

مدل ابتدایی (Use Case)

Business Case شامل ضوابط و شرایط موفقیت و پیش بینیهای مالی می باشد.

برآورد ابتدایی از ریسکها

تخمینی از منابع مورد نیاز

طرحی برای پروژه کا فازها و تکرارها را نمایش دهد.


برنامه ریزی پروژه, مشخص کردن ویژگیها, پایه گذاری معماری Elaboration

تحلیل دامنه مسئله

بنا کردن شالوده معماری استوار

حذف ریسکهای عمده پروژه

ایجاد یک طرح فراگیر که نشان دهنده چگونگی تکمیل پروژه باشد.

خروجی:

تکمیل Use Case

معماری قابل اجرا با مستندات

Business Case پالایش شده که شامل برآورد ریسکها باشد

طرح توسعه برای سرتاسر پروژه


ساختن محصول Construction

تولید تکاملی یک محصول نرم افزاری کامل که قابل انتقال به محیط کاربر باشد.

خروجی:

یک مدل طراحی و مدل Use Case کامل

نسخه قابل اجرای نرم افزار که تمامی نیازهای کارکردی را برآورده نماید

مستندات کاربر


انتقال محصول به محیط کار Transition

انتقال محصول نرم افزاری به محیط کاربر

خروجی:

تست بتا به منظور ارزیابی سیستم در برابر انتظارات کاربران

اجرای موازی همزمان با سیستم موجود که جایگزین آن خواهد شد

تبدیل نمودن پایگاه داده های قایل استفاده

آموزش کاربران و نگهداری سیستم

آماده نمودن محصول برای بازاریابی و فروش

مدلهای سیستم بروزشده

هیچ نظری موجود نیست: