فرآیند یکپارچه رشنال یا RUP چیست؟

مدیر سایت 207

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

فرآیند یکپارچه رشنال یا RUP چیست؟

متدولوژی چیست؟

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

انواع متدولوژي:

تاكنون متدولوژي‌هاي مختلفي به صورت ساخت يافته و شي‌گرا به کار گرفته شده‌اند. از جمله RUP،RAD، SSDAM، CDM، Oracle،XP برای تولید نرم‌افزار ارائه شده‌اند.

RUP چیست؟

Rational Unified Process در فرهنگ مهندسی نرم‌افزار، فرآیند یکپارچه رشنال، نام یک متدولوژی یا فرآیند توسعه نرم‌افزار است که شرکت رشنال IBM، آن را تدوین کرده‌است. IBM این شرکت را در سال ۲۰۰۳ خرید و هم‌اکنون توسعه این فرآیند و ابزارهای آن را به‌عهده دارد.

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

تولید نرم‌افزار با استفاده از متدلوژی RUP براساس یک روش تکرار شونده می‌باشد بدین صورت که در تولید یک محصول تعدادی تکرار در نظر گرفته می‌شود این تکرارها در فازهای RUP صورت می‌پذیرد.

در هر فاز RUP ممکن است چندین تکرار داشته باشیم و در پایان هر تکرار یک محصول قابل ارائه وجود دارد. این محصول در پایان هر تکرار کامل‌تر شده و در نهایت در آخرین تکرار محصول نهایی ارائه می‌گردد.

RUP، فرآيندی قابل شكل‌‌دهی است. هيچ فرآيند واحدی برای همه نرم‌افزارها مناسب نیست.

RUP همان‌طور كه برای سازمان‌های بزرگ توسعه نرم‌افزار مناسب است، برای تيم‌های كوچك نيز مفيد است. اين فرآيند می‌‌تواند با موقعيت‌های مختلف تطبيق پيدا كند.

به سه علت RUP را يكپارچه می‌نامند:

- اين متدولوژی از يكپارچه‌‌سازی سه متدولوژی معروف ديگر به وجود آمده است، كه شامل Booch، OMT و OSE مي‌شود.

- از UML در جهت كارهای خود استفاده می‌‌كند. در واقع می‌‌توان گفت UML، خود ثمره RUP است و اين یک ویژگی منحصر به فرد است که متدولوژيی با خودش گسترش يابد.

- مفاهيمی از قبيل Object، Classو … مفاهيم ساده و ثابتی هستند، ولی متدولوژی‌های قبلی شاخصه‌های خاصی داشتند كه اكنون همه آن‌ها يكسان شده‌اند.

ویژگی‌‌هایRUP چیست ؟

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

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

فازهای RUP چیست ؟

فاز 1: آغازین (Inception)

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

فاز 2: تحلیل جزئیات (Elaboration)

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

فاز 3: ساخت (Construction)

فاز ساخت، در واقع به نوعی یک فرآیند ساخت است که در آن تأکید بر مدیریت منابع و کنترل عملیات به منظور بهینه‌سازی هزینه‌ها، زمان‌بندی‌ها و کیفیت است. به علاوه شامل کامل کردن تحلیل، طراحی، تولید و تست کارآیی مورد نیاز نیز است.

فاز 4: انتقال (Transition)

در این فاز، بخش زیادی از تمرکز بر این است که تضمین کند، نرم‌افزار برای کاربران نهایی آماده شده است یا خیر. همچنین این فاز می‌تواند به چندین تکرار تقسیم شود، و شامل تست کردن محصول برای آماده‌سازی جهت انتشار و ایجاد تنظیمات کوچک بر اساس بازخورد کاربران باشد.

جریان‌های کاری RUP چیست ؟

1. مدلسازی فعالیت‌های کسب و کار

هدف این جریان‌کاری، الگوبرداری از زمینه شغلی، دامنه سیستم شما است. فعالیت‌های مدلسازی متداول، شامل موارد توسعه زیر است:

- یک مدل متنی (اغلب یک نمودار جریان داده) که نشان می‌‌دهد چگونه سیستم شما در محیط کلی خود قرار می‌‌گیرد.

- یک مدل نیازمندی‌های کسب و کار سطح بالا (اغلب مدل مورد کاربرد ضروری)

- واژه نامه‌‌ای که اصطلاحات مهم تجاری را تعریف می‌‌کند.

- یک مدل دامنه (اغلب یک نمودار کلاس یا نمودار داده) که کلاس‌‌ها یا اشخاص اصلی را به تصویر می‌کشد.

- یک مدل فرآیند کسب و کار (اغلب یک نمودار جریان داده یا نمودار فعالیت) که سطح بالایی از روند کار را نشان می‌‌دهد تا توسط سیستم شما پشتیبانی شود.

2. مدیریت خواسته‌‌ها

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

3. تحلیل و طراحی

هدف از این جریان کاری، تکامل یک معماری مستحکم براساس نیازمندی‌های سیستم شماست، به عبارت دیگر تبدیل الزامات به یک طرح و اطمینان از اینکه مسائل مربوط به محیط اجرا در طراحی شما منعکس شده است.

4. پیاده سازی

هدف از این جریان کاری:

_ پیاده سازی کلاس‌‌ها و اشیاء از نظر مؤلفه‌ها (پرونده‌‌های منابع، باینری، اجرایی و ...

_ برای تست اجزای توسعه یافته به عنوان واحد

_ برای ادغام نتایج تولید شده توسط مجریان انفرادی (یا تیم‌ها) در یک سیستم اجرایی

5. آزمون هدف از این جریان کاری:

_ بررسی تعامل بین اشیاء

_ بررسی یکپارچه‌سازی مناسب از تمام اجزای نرم‌افزار است

_ تأیید صحت اجرای همه الزامات

_ شناسایی و اطمینان از برطرف شدن نقص‌‌ها قبل از استقرار نرم‌افزار

6. استقرار (Deployment)

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

- تولید نسخه‌های خارجی نرم‌افزار

- بسته‌بندی نرم‌افزار

- توزیع نرم‌افزار

- نصب نرم‌افزار

- ارائه کمک و رسیدگی به کاربران

7. مدیریت پروژه

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

- چارچوبی برای مدیریت پروژه‌های فشرده نرم‌افزاری.

- راهنمای عملی برای پروژه‌های برنامه‌ریزی، نیروی انسانی، اجرا، و نظارت.

- چارچوبی برای مدیریت ریسک.

8. مدیریت پیکربندی و تغییرات

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

9. آماده‌سازی محیط

• فراهم کردن محیط توسعه نرم‌افزار

– هم فرآیندها و هم ابزارها

– در سازمان توسعه نرم‌افزار است که برای پشتیبانی از تیم توسعه مورد نیاز است.

• محیط و شرایط را برای به کارگیری بانک الگو در پروژه آماده می‌‌کند.

• محیط را در طول یک تکرار پشتیبانی می‌‌کند.

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

مزایای اصلی فرآیند RUP چیست ؟

_ به راحتی ریسک‌‌ها را حل و فصل می‌کند.

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

_ تغییرات را کنترل می‌کند.

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

_ در برگیرنده الگوهای انعطاف‌پذیری است.

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

_ پروژه کارآمدتری را تحویل می‌‌دهد.

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

_ از توسعه تکرار شونده حمایت می‌‌کند.

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

بطور کلی RUP بهره‌‌وری تيم را با فراهم نمودن دسترسی تمام افراد تيم به يك پايگاه دانش قابل دسترس به همراه راهنماها، الگوها و ابزارهای كمكی برای همه فعاليت‌های بحرانی توسعه، افزايش می‌دهد. با تأمين دسترسی همه اعضای تيم به يك پايگاه دانش، افراد در هر قسمت از يك زبان، فرآيند و ديد مشترك برای توسعه نرم‌افزار برخوردار هستند، همچنین به جای تمركز بر روی توليد مستندات بزرگ كاغذی، مدل‌هايی توليد می‌شوند كه به خوبی سيستم در حال توسعه را ارائه می‌دهند.

تفاوت بین متدولوژی RUP و اسکرام :

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

(به عنوان مثال: تجزیه و تحلیل نیازمندی‌‌ها در مرحله تحلیل جزئیات افزایش می‌یابد).

در مقابل، اسکرام حکم چرخه عمر “سنتی” متناسب با یک تکرار را دارد. به عبارت دیگر، برای هر تکرار یک حجم کاری در یک زمان تعیین می‌‌شود، سپس کل چرخه در یک تکرار رخ می‌‌دهد.

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

امید که مقاله فوق توانسته باشد دریچه ای جدید به گستره معلومات شما باز کرده باشد.

نظرات

  • مخاطبان گرامی، برای انتشار نظرات لطفا نکات زیر را رعایت فرمایید:
  • 1- نظرات خود را با حروف فارسی تایپ کنید.
  • 2- نظرات حاوی مطالب کذب، توهین یا بی‌احترامی به اشخاص، قومیت‌ها، عقاید دیگران، موارد مغایر با قوانین کشور و آموزه‌های اسلامی منتشر نمی‌شود.
  • 3- نظرات بعد از ویرایش ارسال می‌شود.
*
*
  • نظری ثبت نشده است.