فرایند یکپارچۀ منطقی RUP (قسمت نهم)
بعد از بررسی گردشکار آزمون و استقرار در قسمت قبل این مقاله، چند گردشکار دیگر از نه گردشکار اصلی RUP را بررسی میکنیم.
مدیریت پروژه
مدیریت پروژه نرمافزار، هنر ایجاد توازن مابین رقابت اهداف، مدیریت ریسک، و غلبه بر محدودیتها در تحویل موفقیتآمیز یک محصولی است که هم نیازهای مشتریان (پرداختکنندگان صورتحسابها) و هم نیازهای کاربران در آن برآورده میشود. اینکه تعداد اندکی از پروژهها موفقیت قابلتوجهی دارند، نشاندهندۀ دشواری این امر است.
این گردشکار بیشتر بر جنبۀ معینی از یک فرایند توسعۀ تکرارشونده تمرکز دارد. هدف ما در این بخش آسان کردن وظیفه با فراهم کردن موارد زیر است:
- یک چارچوب برای مدیریت پروژههایی که بخش نرمافزاری آن زیاد است؛
- دستورالعملهای عملی برای برنامهریزی، تعیین کارکنان، اجرا و نظارت بر پروژهها؛
- یک چارچوب برای مدیریت ریسک.
این دستورالعملی برای موفقیت نیست بلکه رویکردی برای مدیریت پروژه است که احتمال تحویل موفقیتآمیز پروژه را جداً افزایش میدهد.
مدیریت تغییر و پیکربندی
در این گردشکار به تشریح چگونگی کنترل مصنوعات بسیاری که افراد در حینکار بر یک پروژه مشترک تولید میکنند میپردازیم. با کنترل میتوان مانع سردرگمیهای پرهزینه شد و مطمئن شد که مصنوعات حاصله به دلیل مشکلاتی از این نوع در تعارض قرار نگیرند:
- بهروزرسانی فوری- وقتی دو یا تعداد بیشتری از کارکنان بهطور مجزایی بر یک مصنوع در حال کارند، تغییراتی که یکی انجام میدهد، موجب خراب شدن کار قبلی میشود.
- اعلانهای محدود- وقتیکه یک مشکل در مصنوعاتی که چند توسعهدهنده در آن مشارکت دارند برطرف میشود، و برخی از آنها از تغییر مطلع نشوند.
- نسخههای چندگانه- در نسخههای تکاملی به بهبود بزرگترین مشکلات پرداخته میشود. یک عرضه میتواند برای کاربرد مشتری باشد، درحالیکه دیگری در آزمون باشد و سومی هنوز در روند توسعه باشد. اگر مشکلات در هر یک از نسخهها یافت شوند، برطرفی و تصحیح آنها باید در سرتاسر آنها اعمال شود. سردرگمی ممکن است موجب دوبارهکاری و تعمیرات هزینهبر شود، مگر اینکه با دقت کنترل و نظارت شوند.
این گردشکار، دستورالعملهایی را برای مدیریت متغیرهای چندگانه در سیستمهای نرمافزاری در حال تکامل؛ پیگیری اینکه کدام نسخه در سازههای (کامپایل شده- built) نرمافزار موردنظر به کار گرفته شوند؛ اجرای سازههای (کامپایل شدهیbuilt-) برنامههای منفرد یا کل عرضهها طبق مشخصات نسخۀ تعریفشده توسط کاربر؛ و اعمال سیاستهای توسعه مرتبط با سایت فراهم میکند.
توضیح میدهیم که چگونه میتوانید توسعۀ موازی را –توسعهای که در چندین محل انجام میشود- مدیریت کنید، و فرایند ساخت را خودکار سازید. این امر خصوصاً در یک فرایند تکرارشونده که شاید نیاز به پرداختن به سازهها بهطور روزانه داشته باشد، از اهمیت برخوردار است؛ البته چنین کاری بدون خودکارسازی توانمند ممکن نیست.
همچنین توضیح خواهیم داد که چطور میتوانید رد ممیزی را درخصوص اینکه چه کسی، چهموقع و چرا یک مصنوع را تغییر داده، دنبال کنید. بهعلاوه در این گردشکار، مدیریت درخواست تغییر پوشش داده میشود، بهطور مثال اینکه چگونه میتوان نقصها را گزارش داد، آنها را در طی چرخههای حیاتی خود مدیریت کرد، و چگونه میتوان از دادههای ناقص برای پیگیری پیشروی و روندها استفاده کرد.
محیط
هدف از گردشکار محیط این است که برای یک سازمان توسعۀ نرمافزار، یک محیط توسعۀ نرمافزاری که برای پشتیبانی تیم توسعه لازم است –چه فرایندها، چه ابزار- فراهم کند.
تمرکز این گردشکار بر فعالیتهای مرتبط با پیکربندی فرایند در زمینه پروژه است. بهعلاوه بر فعالیتهایی که برای افزایش دستورالعملهای موردنیاز برای پشتیبانی پروژه لازم است تمرکز دارد. در یک روند مرحلهبهمرحله، توصیف میشود که چگونه یک فرایند در یک سازمان پیادهسازی میشود.
گردشکار محیط دارای یک اسبابکار توسعه (Development Kit) نیز است که برای شما دستورالعملها، الگوهای آماده (template) و ابزار موردنیاز برای سفارشی کردن فرایند را فراهم میکند.
در این فرایند، جنبههای معین گردشکار محیط مثل انتخاب، اتخاذ و به کار انداختن ابزار و نگهداری محیط توسعه پوشش داده نشده است.
فرایند یکپارچۀ منطقی- محصول
محصول فرایند یکپارچه منطقی عبارت است از:
- یک پایگاه دانش قابلجستجو و مبتنی بر وب که بهمنظور تمام فعالیتهای اصلی توسعۀ دستورالعملها، الگوهای آماده(template) و مشاوران ابزاری (Mentor Tools) را برای تمام اعضای تیم فراهم میکند. پایگاه دانش را میتوان به بخشهای زیر تقسیم کرد:
- دستورالعملهای گسترده برای تمام اعضای تیم و تمام بخشهای چرخۀ حیات نرمافزار. دستورالعملها هم برای فرایند فکری سطحبالا و هم فعالیتهای روزانه و ملالتآور ایجاد میشوند. بهمنظور دستیابی آسان به یک پلتفرم مستقل بر میزکار شما، دستورالعمل به شکل HTML منتشر میشود.
- مشاور ابزاری (Tool Mentors) یک راهنمایی مشارکتی برای ابزاری که کل چرخه حیات را پوشش میدهند فراهم میکند. بهمنظور تسهیل دسترسی مستقل از پلتفرم بر میزکار شما، مشاوران ابزاری به شکل HTML منتشر میشوند. برای جزئیات بیشتر در خصوص «یکپارچهسازی ابزار» بخش بعدی مشاهده شود.
- Rational Rose ® -مثالها و نمونههای اولیهای را برای ساختاردهی اطلاعات در Rational Rose هنگام بهکارگیری فرایند یکپارچه منطقی فراهم میکند (Rational Rose ابزار Rational برای مدلسازی بصری هستند).
- الگوهای اولیه SoDA ® – بیش از ۱۰ الگوی اولیهی SoDA که به خودکارسازی مستند نرمافزار کمک میکند (SoDA یک ابزار خودکارسازی مستندات Rational است)؛
- Microsoft ® Word templates – بیش از ۳۰ الگوی آماده کلامی که به مستندسازی در تمام گردشهای کاری و تمام بخشهای چرخه حیات کمک میکند.
- برنامههای پروژه مایکروسافت (Microsoft Project Plans)- بسیاری از مدیران ساخت برنامههای پروژهای را که شامل رویکرد توسعه تکرارشونده هستند دشوار میدانند. الگوهای اولیه ما ایجاد برنامههای پروژه را برای توسعه تکرارشونده طبق فرایند یکپارچه منطقی آسان میکند.
- اسبابکار توسعه(Development Kit) – نشان میدهد که چگونه فرایند یکپارچه منطقی را برای نیازهای معینی از سازمان اتخاذکننده، یا پروژه سفارشی کرد، توسعه داد و همینطور ابزار و نمونههای اولیهای برای کمک به این تلاش فراهم کرد. این کیف ابزار توسعه را با جزئیات بیشتر در بخش بعد توضیح میدهیم.
- دسترسی به مرکز منابع که شامل آخرین اوراق سفید، بهروزرسانیها، اشارات، تکنیکها و نیز مراجعی برای افزودن به محصولات و سرویسها است.
- کتاب «فرایند یکپارچه منطقی: معرفی» نوشته فیلیپ کراچن، چاپ آدیسون وسلی است[۱]. این کتاب ۲۷۷ صفحه است و چشمانداز اجمالی و معرفی مناسبی از فرایند و پایگاه دانش ارائه میدهد.
ناوش (navigating) در پایگاه دانش
دانش فرایند یکپارچه منطقی (RUP) به شما امکان دسترسی به محتوا با مرورگرهای وب محبوب مانند Microsoft Internet Explorer و Netscape Navigator را میدهد.
با فرایند یکپارچه منطقی، هیچوقت بیش از یک یا چند کلیک بر موس از اطلاعاتی که میخواهید دور نیستید. پایگاه دانش دارای لینکهای hypertext است و بررسی مؤلفههای مختلف فرایند را ازطریق تصاویر تعاملی ارائه میدهد که دستیابی مستقیم و آسان به اطلاعات مرتبط را ممکن میکند. موتور جستجوی قدرتمند، نمایه، و مرورگر درختی «شبیه مرورگر»، استفاده از فرایند را آسان میکند. دکمههای ناوش امکان حرکت به صفحات قبلی را مثل خواندن یک کتاب فراهم میکند.
اطلاعات در نماهای مختلفی ارائه میشوند و با آن از امکان یافتن اطلاعات مربوط به نقشتان، یک فعالیت معین، یا یک گردشکار برخوردارید. برای آموزش آسان فرایند به نقشهای کلیدی پروژه، دورههای راهنمایی موجودند.
اسبابکار توسعه برای سفارشیسازی فرایند
فرایند یکپارچه منطقی آنقدر که باید، عمومی و کلی است تا سازمانهای توسعۀ نرمافزار، «همانگونه که هست» از آنها استفاده کنند. بااینحال در بیشتر شرایط، لازم است که این فرایند مهندسی نرمافزار اصلاح، تنظیم، و برای انطباق با تاریخچه سازمان اتخاذکننده، محدودیتها و مشخصات معین سازگار شود. بهخصوص این فرایند نباید بهطور کورکورانهای دنبال شود و کار بیفایدهای تولید کند و مصنوعاتی را بسازد که ارزشافزوده کمی دارند. تا جایی که ممکن است باید مؤثر باشد و توأمان، قادر به ایفای مأموریت خود که تولید سریع و قابلپیشبینی نرمافزارهای کیفیتبالا است باشد.
فرایند، دارای اسباب کار توسعه (Development Kit) است که دربردارندۀ دستورالعملهایی برای چگونگی سفارشی کردن فرایند برای انطباق با نیازهای معین سازمان اتخاذکننده یا پروژه است. همچنین الگوهای آماده برای تألیف فرایند اضافه میشوند، همینطور برای ابزار تولید و دستکاری موتور جستجو، نمایه، نقشۀ سایت، مرورگر درختی، و غیره. سازمانی که سفارشی کردن را انجام میدهد با اسبابکار توسعه، قادر به حفظ ظاهر و حس فرایند یکپارچه منطقی است. هرچقدر که فرایند سفارشیتر شود، حرکت آن به سمت سفارشهای بیشتر در عرضههای آینده فرایند دشوارتر میشود. اسبابکار توسعه، راهبردها، ابزار و فنهایی را برای بهحداقل رساندن کار ناشی از انتقال سفارشها به عرضههای آینده به حداقل میرساند.
در قسمت دهم و پایانی این مقاله، یکپارچگی با ابزار را بررسی میکنیم.
[۱] Philippe Kruchten, published by Addison-
Wesley