فرایند یکپارچۀ منطقی، Rational Unified Process (قسمت اول)
پیش از این، در بررسی روشهای مدیریت پروژه به معرفی چندی از روشهای مدیریت پروژه پرداختیم. خط دید بر آن است که در قسمت اول این مقالۀ چندقسمتی به معرفی یکی از این روشها بپردازد: روش فرایند یکپارچۀ منطقی (رَشِنال) (Rational United Process).
RUP یا فرایند یکپارچه منطقی، نام فرایندی در مهندسی نرمافزار است که با یک پایگاه دانشِ [1] جستجوپذیر و تحتِ وب [2] انجام میشود. این فرایند بهرهوری تیم را افزایش میدهد؛ به موجبِ دستورالعملها، الگوهای آماده [3] و مشاوران ابزاریِ (Mentor tools) این فرایند، بهترین روشهای نرمافزاری برای تمام فعالیتهای ضروری چرخۀ حیاتِ نرمافزار فراهم میشوند. پایگاه دانش برای تیمهای توسعه، مزایای کامل زبان استاندارد صنعتی مدلسازی یکپارچه [4] (UML) را به همراه میآورد.
فرایند یکپارچه منطقی (RUP) چیست؟
در این فرایند مهندسی نرمافزار از رویکرد منظمی برای تعیین وظایف و مسئولیتها در یک سازمان توسعه استفاده میشود. هدف آن اطمینان از تولید نرمفزار با کیفیت بالا و برآورده ساختن نیازهای کاربران انتهایی آنها است.
فرایند یکپارچۀ منطقی یک محصول فرایندی است که با نرمافزار Rational® توسعه یافته است و پشتیبانی میشود. در فرایند یکپارچه منطقی تیم توسعه برای بهروزرسانیِ پیوسته فرایند و انعکاس تجربههای جدید و تکامل روشهای اثباتشده، با مشتریان، شرکا، گروه محصولِ Rational و همینطور، سازمان مشاورۀ Rational، همکاریِ نزدیکی دارد.
در RUP اعضای تیم به پایگاه دانش دسترسی آسانی دارند، و دستورالعملها، الگوهای آماده و مشاوران ابزاری (Mentor Tools) در تمام فعالیتهای ضروری توسعه، موجب افزایش بهرهوری تیمی میشود. با فراهم کردن امکان دسترسی تمام اعضای تیم به یک پایگاه دانش یکسان، صرفنظر از موضوعی که بر آن کار میکنند -نیازمندیها، طراحی، آزمون، مدیریت پروژه، یا مدیریت پیکربندی- میتوان مطمئن شد که تمام اعضای تیم از زبان، چشمانداز و روال کار مشترکی در توسعۀ نرمافزار برخوردار میشوند.
فعالیتها در فرایند یکپارچۀ منطقی منجر به ساخت و نگهداری مدلها میشود. به جای اینکه تمرکز بر تولید مستندات کاغذی باشد، بر توسعه و نگهداری مدلها تأکید میشود؛ مدل، به معنای ارائۀ پربار و غنیِ سیستم نرمافزاری درحالتوسعه است.
RUP راهنمایی برای استفاده مؤثر از زبان یکپارچۀ مدلسازی (UML) است. UML یک زبان استاندارد صنعتی است که به ما امکان انتقال واضح نیازمندیها، معماریها و طراحیها را میدهد. زبان یکپارچۀ مدلسازی در اصل با نرمافزارِ Rational ایجاد شد و در حال حاضر تحت سازمان استانداردهای گروه مدیریت شئ (OMG) [5] نظارت میشود.
فرایند یکپارچه منطقی یا رشنال با ابزار پشتیبانی میشود؛ این ابزار بخشهای وسیعی از فرایند را خودکار میکنند و برای ایجاد و حفظ مصنوعات مختلف –بیشتر مدلها- در فرایند مهندسی نرمافزار به کار برده میشود، مانند مدلسازی بصری[6]، برنامهویسی و آزمودن[7] و غیره. این ابزار ارزش فوقالعادهای برای پشتیبانی از کل روند ساماندهی در مدیریت تغییر و مدیریت پیکربندی در هر تکرار دارند.
فرایند یکپارچۀ منطقی یک فرایند قابلپیکربندی است. هیچ نوع پردازش سیگنالی وجود ندارد که برای تمام توسعههای نرمافزاری مناسب باشد. فرایند یکپارچه، هم مناسب تیمهای توسعۀ کوچک و هم مناسب سازمانهای توسعۀ بزرگ است. فرایند یکپارچه مبتنی بر یک معماری واضح و ساده است که موجب تشابه و اشتراکِ یک خانواده از فرایندها میشود. بااینحال میتوان آن را برای سازگاری با شرایط مختلف تغییر داد. این فرایند شامل یک مجموعهابزار توسعه (Development Kit) است که با آن میتوان برای انطباق با نیازهای سازمان موردنظر، از پیکربندی فرایند پشتیبانی کرد.
در فرایند یکپارچۀ منطقی یا RUP بهترین روشها برای توسعۀ مدرن نرمافزار به کار گرفته میشود. این روشها به شیوهای اتخاذ میشوند که برای محدودۀ وسیعی از پروژهها و سازمانها مناسب باشند. بهکارگیری این روشها با راهنمایی چون RUP موجب کسب مزایای کلیدی برای تیمهای توسعه میشود. در این بخش، شش روش از بهترین روشهای اصلی در فرایند یکپارچۀ منطقی شرح داده میشوند.
اتخاذ مؤثرِ شش روش از بهترین روشها
فرایند یکپارچه منطقی نشان میدهد که چگونه باید تیمهای توسعۀ نرمافزار، برای توسعه نرمافزار، رویکردهایی را که ازلحاظ تجاری اثبات شدهاند اتخاذ کنند. اینکه به این روشها «بهترین روشها» میگوییم، به این علت نیست که به طور دقیقی ارزش آنها قابل سنجش کمّی است؛ بلکه به این دلیل است که روشهایی محسوب میشوند که معمولاً سازمانهای موفق آن را در صنعت اتخاذ میکنند. در RUP برای هر عضو تیم، دستورالعملها، الگوهای آماده و مشاوران ابزاریِ (Mentor tools) لازم فراهم میشود تا کل تیم از تمام مزایای روشهای ذکرشده در زیر برخوردار باشند:
- توسعۀ نرمافزار به شیوۀ تکرارشونده
- مدیریت نیازمندیها
- استفاده از معماریها بر پایۀ اجزا[8]
- مدلسازی بصری نرمافزار
- بررسی کیفیت نرمافزار
- کنترل تغییرات اعمالی بر نرمافزار
توسعۀ تکرارشونده نرمافزار– در سیستمهای نرمافزاری خبرۀ امروزی نمیتوان با حفظ رعایت توالی، در ابتدای کار کل مسئله را تعریف کرد، کل راهکار را طراحی نمود، نرمافزار را ساخت و سپس محصول را در آخر کار آزمود. به یک رویکرد تکرارشونده نیاز است که موجب افزایش درک مسئله در روند اصلاحات پیدرپی، و پیشروی تصاعدی یک راهکار در طی چندین تکرار شود. در فرایند یکپارچۀ منطقی از یک رویکرد تکرارشونده استفاده میشود که مواردی را که ریسک بالایی دارند در هر مرحله در چرخۀ حیاتی در نظر میگیرد و پروفایلِ ریسک[9] پروژه را کاهش میدهد. این رویکرد تکرارشونده با ارائههای[10] قابلاجرا، متعدد و قابلنمایش از پیشروی، به شما در مواجهه با ریسک کمک میکند و موجب دریافت فیدبک از کاربر انتهایی و مشارکت پیوستۀ او میشود. به دلیل اینکه هر تکرار با یک ارائۀ قابلاجرا به پایان میرسد، تمرکز تیم توسعه بر کسب نتایج حفظ میشود و بررسیهای پیدرپی باعث میشود که پروژه طبق زمانبندی پیش برود. بهعلاوه رویکرد تکرارشونده، ایجاد تغییرات در نیازمندیها، ویژگیها یا زمانبندی را آسان میسازد.
در قسمت دوم این مقاله به 5 روش دیگر از بهترین روشها در فرایند یکپارچه منطقی میپردازیم.
فرایند یکپارچۀ منطقی یا RUP (قسمت دوم)
[1] Knowledge base
[2] Web-enabled
[3] temples
[4] Unified Modeling Language
[5] Object Management Group
[6] visual modeling
[7] testing
[8] component-based architectures
[9] risk profile
[10] release