بخشی از مقاله
خلاصه
برای توسعه نرم افزار میتوان از انواع متدولوژیهای سبک وزن که تاکید بر تولید محصول نهایی دارند یا انواع متدولوژیهای سنگین وزن که تاکید بر تولید محصولات با فرآوردههای بیشتر دارند استفاده کرد. فرآیند یکپارچه رشنال یا Rational Unified Process - RUP - یکی از تواناترین فرآیندهای توسعه نرم افزار در متدولوژیهای سنگین وزن می باشد که از ترکیب چند فرآیند و متد دیگر ایجاد شده است. RUP یک روش تکرار شونده است که برای تولید نرم افزار، تعدادی تکرار در هر فاز در نظر میگیرد.
این تکرارها باعث کامل تر شدن نرم افزار میگردند و در آخرین تکرار محصول نهایی ارائه میگردد. درفعالیتهای RUP، بجای تمرکز بر روی تولید مستندات بزرگ کاغذی، مدلهایی تولید میشوند که سیستم ارائه شده را به خوبی توسعه میدهند. در این مطالعه برای تحلیلو طراحیِ یک سیستم پیام رسان زمانمند با نام سیمرغ متدولوژی - Fast Rational Unified Process - FRUP معرفی میگردد که رویکرد جدیدی از متدلوژی Rational Unified Process - RUP - در حالت سریعتر ارائه میدهد. نتایج حاصل از این مطالعه نشان میدهد، تحلیلو طراحیِ سیستم مورد نظر با متدولوژی FRUP علاوه بر تعیین زمان بندی مناسب، توانسته سرعت و کیفیت تولید نرم افزار را نیز تامین کند.
.1 مقدمه
در متدولوژی توسعه فرآیند RUP، فرآیند عبارت است از مجموعه گامهای نیمه مرتب، که نتیجهی آن رسیدن به یک هدف معین است. در واقع فرآیند تولید نرم افزار یک فرآیند خشک و معمولی نیست که مسیر حرکت آن از قبل مشخص شده باشد؛ بلکه یک فرآیند تدریجی است که در آن نوآوری و خلاقیت مطرح میگردد. در یک فرآیند توسعه نرم افزار تعیین اینکه چه کسی، چه چیزی را به چه صورت و در چه زمانی انجام دهد، الزامی است .[1] این فرآیند یک روش نظاممند برای تخصیص کارها و مسئولیتها در یک تیم توسعه نرمافزار ارائه میدهد و هدف آن تولید نرمافزار بصورت بهینه و با کیفیت بالاست که بتواند نیازهای کارفرما را تحت یک برنامه زمانی مشخص و با بودجه قابل پیشبینی برآورده سازد
RUP بهرهوری تیم تولید نرمافزار را با فراهم نمودن دسترسی تمام افراد تیم به یک پایگاه دانش مناسب به همراه راهنماها، الگوها و ابزارهای کمکی برای همه فعالیتهای حیاتی توسعه، افزایش میدهد. از آنجا که تمام افراد به منابع یکسانی دسترسی دارند، لذا دید مشترکی برای توسعه نرمافزار برخوردار هستندRUP .[3] از چهار فاز آغازین، جزئیات، تولید و استقرار تشکیل شده، که با توجه به حجم پروژه میتوان هر فاز را به دوره های تکراری تقسیم کرد و سیستم را در مراحل تکراری توسعه داد
این متدولوژی سیستم را بر اساس موارد استفاده سیستم برای کاربران آن توسعه میدهد و از این جهت تاکید زیادی بر درک صحیح نیازمندیها و مدیریت آنها دارد. متدولوژیهای ساخت یافته، طی سال ها برای انجام انواع پروژهها مورد استفاده قرار میگرفت. مهمترین مشکل این متدولوژی ها ،پیاده سازی آن در محیط واقعی و دنیای شی گرا است و مشتری تا انتهای کار، نمی تواند نسخه عملی و کاربردی از سیستم را ببیند.[5] در RUP که مبتنی بر تحلیل و طراحی شیء گراست، دوره حیات یک نرم افزار به چندین دوره1 شکسته میشود که هر دوره بر روی یک نسل جدید از محصول کار میکند و در طول پروژه چندین نسخه از محصول را مشاهده کرده و درباره آن نظر میدهد
مهمترین مزیت تکراری و تکاملی بودن RUP کاهش ریسک انجام پروژه است، چرا که ریسک ها در ابتدای پروژه شناسایی شده و تیم درصدد رفع آن بر میآید و از این جهت برای پروژه های بزرگ و با امکان ریسک بالا مناسب است، البته برای پروژه های کوچک نیز میتوان آن را سفارشی کرده و مورد استفاده قرار داد
دیدگاهی که RUP بر اساس آن طراحی شده، به گونهای است که محدوده وسیعی از اهداف را پوشش دهد تا ضمانت اجرایی جهت انطباق با مواردی همچون حوزه کاربردی برنامه - سیستمهای تجاری یا سیستمهای فنی - و زمینههای تجارت - توسعه خانگی، توسعه محصولات، فروشندگان نرمافزار مستقل، توسعه قراردادی - حاصل شود RUP .[8] دارای دو ساختار ایستا و پویا میباشد.
در ساختار ایستا - بعد عمودی - علاوه بر ارائه فرآیند، توضیح داده میشود که عناصر فرآیند - عناوین نقشها2، فعالیتها3، فرآوردهها4 و نظمها - 5 چگونه بصورت منطقی دسته بندی گردند .[9] این ساختار به دیدگاههای تکنیکی همچون کیفیت، مهندسی و روشهای طراحی میپردازد. در ساختار پویا - بعد افقی - چرخه حیات پروژه به تعدادی پروژه تقسیم میشود که هر دوره با تحویل یک نسخه به مشتری خاتمه مییابد. این ساختار به دیدگاههای مدیریتی همانند جنبههای مالی، تجاری و کنترل منابع انسانی میپردازد .[10] در این مطالعه با در نظر گرفتن قابلیتهای RUP متدولوژی - Fast Rational Unified Process - FRUPبرای تحلیل و طراحیِ سیستم پیام رسان سیمرغ معرفی میگردد که هدف آن تسریع بخشیدن، زمانبندی مناسب و کنترل کیفیت نرم افزار در هر تکرار میباشد.
بخشبندی ادامهی این مطالعه به این ترتیب است که در بخش 2 روش پیشنهادی برای تحلیل سیستم پیام رسان شرح داده میشود. این بخش شامل سناریوی سیستم پیشنهادی، چرخه حیات، ارائه جدول زمانبندی و شرح تست پروژه میباشد. نتایج تجربیِ این مطالعه که دارای زیربخشهای نتایج حاصل از امکان سنجی، طراحی، پیادهسازی و تست است در بخش 3 نمایش داده میشود. نتیجه گیری کلی از کار در بخش 4 شرح داده میشود.
.2 روش پیشنهادی برای تحلیلو طراحیِ سیستم پیام رسان سیمرغ
در این مطالعه برای تحلیل و حیِطرا سیستم پیام رسانِ پیشنهادی یا نام سیمرغ - با درخواست مشتری - متدولوژی FRUP معرفی میگردد، که طبق استاندارد متدولوژی RUP طراحی شده است. سیستم ارائه شده با برنامه ریزی زمانبندی شده و با نظارت مشتری تولید میگردد و ریسکهای احتمالی در هر تکرار توسط مشتری بررسی، اصلاح و تست میشود. هدف از اینکار بهبود بخشیدن به زمان تحویل پروژهها، برای مشتریانی که برای تحویل پروژه نیازمند یک زمانبندی مناسب میباشند.
1,2 سناریوی سیستم پیشنهادی
سناریو سیستم پیشنهادی در این مطالعه با شروع یک مراجعه توسط مشتری صورت میگیرد. با توجه به درخواست مشتری نسبت به سیستمی که نسبتا بزرگ و با زمانبندی تعیین شده، روشFRUP پیشنهاد میشود کهتفاوت اصلیِ آن با روش RUP اضافه شدن یک متد زمانبندی به این متدولوژی است. در این روش بعد از جمعآوری اطلاعات و مقیاس بندی سیستم جدول زمانبندی تشکیل میشود و زمان پیش بینی شدهی تمام مراحل توسط مدیران تیم در آن لحاظ شده و در پایان نتیجه هر مرحله مقایسه میگردد و در جدول مربوط به امکان سنجی اولیه پروژه ثبت میشود. تمام مراحل تکرار پروژه توسط این جدول مدیریت میشود. بخش 1,1,2 به بررسی این جدول و جزئیات آن میپردازد.
1,1,2 امکان سنجی اولیه پروژه
با توجه به درخواست مشتری نسبت به سیستم درخواستی، باید لیستی از درخواستهای مشتری تهیه گردد که مهمترین آنها لیست ریسکهای احتمالی و زمان تحویل پروژه و لیست هزینهها میباشد. برای به دست آوردن این لیست ها باید همکاریها در طول تولید پروژه به طور مداوم انجام پذیرد. مهمترین این همکاریها در جمع آوری اطلاعات تیم آنالیز از سمت مشتری میباشد. برای امکان سنجی تولید این پروژه، نشستی به نام نشست مقیاسکار، تشکیل میگردد. در این جلسه طبق اطلاعات جمعآوری شده اولیه از سمت مشتری، تیم مسائلی را برای امکان سنجی بررسی میکند که نتایج حاصل از این مذاکرات در جدول 1 نمایش داده شده است.
جدول -1 مسائل مربوط به امکان سنجی اولیه پروژه