مروري بر RUP و قابليتهاي آن در توليد نرمافزار
نويسنده: حجازي، سيد عليرضا
چكيده: چه چيز ميتواند يك پروسه توليد نرمافزار را توصيف كند؟ آيا منظور از پروسه، آمادهسازي نرمافزار صرفاً براي ارائه در بازار است؟ مسلماً در هر كاري وجود يك سامانه و فرايند كاري ضروري است؛ ولي چه چيزي ميتواند موجب ايجاد سرعت و كيفيت در فرايند توليد يك نرمافزارشود؟ لزوماً طراحي و پيادهسازي يك فرايند يكپارچه و منطقي ميتواند چنين نتيجهاي در بر داشته باشد. بدين منظور امروزه از روشي استفاده ميشود كه اصطلاحاً RUP ناميده ميشود. به حداقل رساندن حجم پروسه توليد يك نرمافزار همزمان با حفظ كيفيت و صرفهجويي در زمان از مهمترين ويژگيهاي اين روش ميباشند. معمولاً براي يك شركت توليد نرمافزار، سرعت عمل به موقع براي پاسخگويي به تقاضا و شرايط اجتماعي اهميت دارد، اما گاهي اين شتابزدگي سبب فدا شدن كيفيت ميگردد. RUP با ارائه يك چارچوب منطقي علاوه بر تعيين زمانبندي مناسب، كيفيت مورد نظر توليد كننده و استفاده كننده نرمافزار را تأمين مينمايد. در اين مقاله ضمن مروري بر RUP به عنوان روش يكپارچه توليد نرمافزار، قابليتهاي آن در افزايش سرعت توليد نرمافزار و حفظ كيفيت آن برشمرده ميشوند.
منظور از RUP چيست؟ در اين مقاله از چند منظر به RUP خواهيم پرداخت:
RUP يك پروسه توليد نرمافزار است.
RUP مجموعهاي از تجربيات بسيار عالي توليد نرمافزار را كه در عمل با آنها برخورد شده است، در خود دارد.
RUP همانند يك محصول نرمافزاري به بازار ارائه شده و به فروش ميرسد با اين تفاوت كه RUP اولين ساختار توليد نرمافزار را ارائه داده و گام نخست را در اين زمينه برداشته است.
چرا RUP را يک فرايند يکپارچه ميگويند؟ به سه علت RUP را يكپارچه مينامند:
اين متدولوژي از يكپارچهسازي سه متدولوژي معروف ديگر بوجود آمده است كه شامل Booch، OMT و OSE ميباشد.
از UML4 در جهت كارهاي خود استفاده ميكند. در واقع ميتوان گفت UML خود ثمره RUP ميباشد و اين خود بسيار خوب است كه متدولوژيي با خودش گسترش يابد (گروه كاسميك 2003الف). مفاهيمي از قبيل Object، Class و ... مفاهيم ساده و ثابتي هستند ولي قبلاً متدولوژيها علامتهاي خاصي داشتند كه اكنون همه آنها يكسان شدهاند.
در داخل RUP يك چارچوب توليد نرمافزار است كه ما آنرا براي سازمان و پروژه خود بومي ميكنيم و ميتوان گفت كه در واقع يك قالب فرايند5 است.
شكل 1 ساختار اصلي RUP را مشخص ميكند. اگر در بعد زمان به آن نگاه كنيم شامل 4 فاز ميباشد و اگر در هر لحظه به آن نگاه كنيم شامل 9 قالب خواهد بود.
شکل 1. ساختار اصلي RUP
ويژگي Usecase Driven: يكي از مشكلات OOA اين بود كه ميگفتند با هر روشي تبديل و كار كنند و بعد بتوان آنرا به شيءگرا تبديل كرد. يعني مثلاً پروژه SSADM را طراحي كرده و بعداً به شيءگرا تبديل نمود. ولي آن عقيده اشتباه بود و حتماً تحليل شيءگرا بايد صورت بگيرد. خصوصيت خوب شيءگرا كه در ديگر روشها نميباشد اين است كه نوتاسيوني كه استفاده ميشود (بوچ، رامباق و جاكوبسون 1999) در همه مراحل يكي است يعني مفاهيمي از قبيل شيء، كلاس، روابط كلاسها و ... در تمامي مراحل يكي است. اهميتي كه Usecase Driven دارد اين است كه با زبان مشتري نوشته ميشود. مشتري ميتواند آنرا بفهمد و بسيار مناسب براي تشخيص نيازمنديهاي سيستم ميباشد. در بخش تحليل و طراحي از روي Usecaseها تحليل و طراحي انجام ميدهيم و مسائلي مانند مديريت پروژه نيز تحت تاثير Usecaseها هستند كه ما آنها را دستهبندي كرده و مديريت ميكنيم. همچنين راهنماهاي سيستم هم تحت تاثير Usecaseها (كراچتن 2000، 298) ايجاد ميشوند.
ويژگي Incremental: به معني آن است که پروژه بصورت چهار مرحله حلقهاي جلو ميرود ولي در هر مرحله چرخش يك دسته از Usecaseها كامل و آماده استفاده ميشود و كليه اين كارها در 9 جريان كار7 كه در شكل 1 مشخص شده بود، قابل مشاهده است.
ابعاد پروژه
حوزه كاربردي برنامه (سيستمهاي تجاري يا سيستمهاي فني)
زمينههاي تجارت (توسعه خانگي، توسعه محصولات، فروشندگان نرمافزار مستقل، توسعه قراردادي).
همانند هر ساختار پروسه ديگري، RUP نيز روش سيستماتيكي را براي به دست آوردن، سازماندهي و ارائه راهكارهاي مهندسي نرمافزار در اختيارتان قرار ميدهد. RUP براي سازماندهي راهكارها، بر يك مدل پروسه ساده و کاملاً زيربنايي استوار شده است كه توضيح اين امر در قالب چند مقاله يا كتاب نميگنجد.
با اين وجود، ساختار پروسه مزبور را نميتوان به يك ظرف خالي تشبيه نمود. اين ساختار از قبل توسط حجم عظيمي از پروسههاي راهكاري كه قبلاً در پانزده سال گذشته توسط مليتهاي مختلف تحصيل شده است و با شركت Rational ارتباط داشتهاند (افرادي كه قبلاً اين شركت آنها را به خود جذب كرده و برخي از شركاي اين شركت نظير IBM ، HP و BEA (كراچتن 2003)) انباشته گرديده است. RUP مجموعه محدود و بستهاي نيست كه به منظور كاربردهاي عمومي منتشر شده باشد و پاسخ يا راهحل تمامي مشكلات توسعه نرمافزاري را دربرگيرد؛ بلكه ساختار RUP ساختار بازي است كه به منظور استنتاج بايد شاخههاي آنرا دنبال كنيد و اين ساختار سالانه دوبار روزآمد ميگردد. ساختار RUP تصفيه شده است و پشتيباني ابزاري و مندرجات آن نيز توسعه يافتهاند.
از يك سو، گروه توسعه پروسه شركت Rational، امر به روز سازي محتويات RUP را همگام با مقتضيات فنآوري و بازخوردهايي كه كاربران اين ساختار ارائه ميدهند، به عهده دارند و از سوي ديگر شركاي متعدد اين شركت و افرادي كه RUP را براي استحصال و سازماندهي فرايندهاي راهكاري خود پذيرفتهاند و از آن براي اهداف مربوط به خود استفاده ميكنند، ساختار ارائه شده توسط شركت Rational را تبليغ نموده و آنرا را تكميل ميكنند.
ساختار RUP پيرامون چند منطق ساده و مرتبط به هم سازماندهي شده است:
RUP نقشهايي را تعريف ميكند كه بايد در پروسه وجود داشته باشد و بر مبناي آن، صلاحيتها، تخصصها و مسئوليتهاي افرادي كه بايد پيشرفت پروژه را محقق سازند، مشخص ميشود.
RUP كارهايي را كه هر يك از افراد بايد در عمل انجام دهند، به طور گام به گام تشريح ميكند.
اين عمليات با استفاده از ابزارهايي واقعي مانند مدلها، كدها، اسناد و گزارشها اداره ميشوند.
در RUP به وفور با راهنماييهاي مربوط به نقشهايي كه افراد بايد به عهده بگيرند، فعاليتهايي كه بايد انجام شوند و مصنوعات مورد نياز برخورد خواهيد نمود كه در قالب خطوط راهنما، الگوها، مثالها و معلمهاي ابزاري ارائه ميشوند كه چگونگي به وقوع پيوستن دستهاي از فعاليتها توسط يك ابزار بخصوص را شرح ميدهند.
تمامي اين المانهاي توصيف پروسه در قالب سامانههايي سازماندهي شدهاند.
RUP مقدماتي نه سامانه، بيش از چهل نقش و صد محصول را تعريف ميكند و حاوي بيش از هزار صفحه راهنما است. همچنين ميتوانيد به پروسههاي الحاقي متعددي كه وظايف و مندرجات بيشتري را به RUP اضافه ميكند، دسترسي پيدا كنيد. برخي از منتقدين RUP آنرا پروسهاي بسيار سنگين تصور نموده و آنرا به كرگدني تشبيه ميكنند كه توان انجام تعداد نامحدودي عمل غير معمول را براي شما فراهم ميآورد؛ با اين وجود نگاه ما به RUP همانند لوح باشكوهي از معارف است كه ميتوانيد آنچه را كه نياز داريد، از داخل آن برگزينيد.
اجازه بدهيد مقايسهاي انجام دهيم. اگر فرهنگ لغات مناسبي از 800 لغت را انتخاب كرده باشيد، ميتوانيد در خيلي از نقاط دنيا و در بسياري شرايط، گليم خود را از آب بيرون بكشيد؛ ولي با انتخاب فرهنگ لغات حجيمي چون Webster ، اولاً هيچكس شما را مجبور به استفاده از لغاتي كه در فرهنگ لغات وجود دارد نميكند، ثانياً ميتوانيد سطح لغات محفوظي خود را براي انطباق با وضعيتهاي مختلف ارتقا ببخشيد و ثالثاً ميتوانيد فرهنگ لغات خود را بهبود دهيد. فرهنگ لغت800 لغتي بايد فقط زيرمجموعهاي از يك فرهنگ لغات باشد.
RUP تمرينات توليد نرمافزار ثابت شده فراواني را در بردارد. شركت Rational ميدان ديد بالايي را براي موارد زير، ارائه ميدهد:
توسعه مكرر
مدلسازي بصري
مديريت ملزومات تغييرات كنترل
بازبيني مداوم كيفيت
استفاده از معماري بر مبناي اجزا
همچنين URP بر مبناي ديگر اصول كليدي ديگري كه كمتر قابل مشاهده هستند و سادهتر به محاق فراموشي سپرده ميشوند، استوار شده است كه فقط براي يادآوري اشارهاي به آنها مينماييم (جنر 2002):
منحصراً آنچه را كه مورد نياز است، پرورش دهيد.
روي نتايج ارزشمند تمركز كنيد، نه روي چگونگي حصول نتايج
كاغذبازي را به حداقل برسانيد.
انعطافپذير باشيد.
از اشتباهات خود عبرت بگيريد.
به طور منظم، مخاطرات محتمل را مورد بازبيني قرار دهيد.
براي پروسه موردنظر معيارهاي قابل اندازهگيري و علمي را بدون موضعگيري شخصي استوار كنيد.
از گروههاي كوچك و توانمند استفاده كنيد.
طرحي را در ذهن داشته باشيد.
ذهنيت كليدي در سازگار شدن و سازگار كردن RUP قالب توسعه8 ميباشد. يك قالب توسعه نمونهاي از RUP است كه براي پروژه ويژهاي كه مد نظرتان است، مناسب باشد. با مراجعه به ساختار RUP به توضيح پروسهاي دست مييابيد كه موارد زير را تعريف نموده و شناسايي ميكند (جنر 2002):
چه چيزي توسعه داده خواهد شد؟
به چه مصنوعاتي واقعاً نياز داريم؟
چه الگوهايي بايد مورد استفاده قرار بگيرند؟
كدام مصنوعات در حال حاضر وجود دارند؟
به چه نقشهايي نياز داريم؟
چه فعاليتهايي انجام خواهند شد؟
كدام خطوط راهنما، استانداردهاي پروژه و ابزارهايي مورد استفاده قرار خواهند گرفت؟
6- نتيجه گيري
از آنچه گذشت در مييابيم اولاً در حال حاضر تنها روش توسعه نرمافزاري که مورد پذيرش در عرصه جهاني است، RUP ميباشد. ثانياً اين روش علاوه بر ساماندهي به فرايند توليد نرمافزار از دو بعد زمان و کيفيت، به لحاظ برخورداري از انعطافپذيري بالا در صورت کاربرد و پياده سازي صحيح ميتواند سبب تسريع فرايند توليد و توسعه نرمافزار و تأمين کيفيت مورد نظر در نرمافزار گردد و نهايتاً اين که يکي از مهم ترين ويژگيهاي RUP اين است که قابليت توسعه و تغيير نرمافزار ها را بر اساس تغيير نيازهاي کاربران و نيز تغيير فناوري، از قبل پيش بيني نموده است.
Booch, G., J. Rumbaugh and I. Jacobson. 1999. The Unified Modeling Language User Guide. Addison- Wesley.
COSMIC Group. 2003a. Valve Control System – Cosmic Group Case Study. École de technologie supérieure, Université du Québec, Montréal, Canada, January 25, 2003 version http://www.lrgl.uqam.ca/cosmic-ffp/casestudies/
COSMIC Group. 2003b. Rice Cooker – Cosmic Group Case Study. École de technologie supérieure, Université du Québec, Montréal, Canada, Janua ry 26, 2003 version http://www.lrgl.uqam.ca/cosmic-ffp/casestudies/
Jenner, M. 2002. Automation of Counting of Functional Size Using COSMIC-FFP in UML. 12th International Workshop on Software Measurement – IWSM 2002, Magdeburg, Germany, Oct. 7-9, 43-51.
Kruchten, P. 2000. The Rational Unified Process, an introduction. Addison Wesley.
Kruchten, P. 2003. The RUP platform. Montréal-SPIN . November, 33.
Schewe, K.D. 2000. UML: A Modern Dinosaur? A Critical Analysis of the Unified Modeling Language. Proc. 10th European-Japanese Conf. on Information Modeling and Knowledge Bases. Saariselk/Finland.
ارسالي از طرف کاربر محترم :sabamm
/ع
1- مقدمه
منظور از RUP چيست؟ در اين مقاله از چند منظر به RUP خواهيم پرداخت:
RUP يك پروسه توليد نرمافزار است.
RUP مجموعهاي از تجربيات بسيار عالي توليد نرمافزار را كه در عمل با آنها برخورد شده است، در خود دارد.
RUP همانند يك محصول نرمافزاري به بازار ارائه شده و به فروش ميرسد با اين تفاوت كه RUP اولين ساختار توليد نرمافزار را ارائه داده و گام نخست را در اين زمينه برداشته است.
2- RUP چيست؟
چرا RUP را يک فرايند يکپارچه ميگويند؟ به سه علت RUP را يكپارچه مينامند:
اين متدولوژي از يكپارچهسازي سه متدولوژي معروف ديگر بوجود آمده است كه شامل Booch، OMT و OSE ميباشد.
از UML4 در جهت كارهاي خود استفاده ميكند. در واقع ميتوان گفت UML خود ثمره RUP ميباشد و اين خود بسيار خوب است كه متدولوژيي با خودش گسترش يابد (گروه كاسميك 2003الف). مفاهيمي از قبيل Object، Class و ... مفاهيم ساده و ثابتي هستند ولي قبلاً متدولوژيها علامتهاي خاصي داشتند كه اكنون همه آنها يكسان شدهاند.
در داخل RUP يك چارچوب توليد نرمافزار است كه ما آنرا براي سازمان و پروژه خود بومي ميكنيم و ميتوان گفت كه در واقع يك قالب فرايند5 است.
شكل 1 ساختار اصلي RUP را مشخص ميكند. اگر در بعد زمان به آن نگاه كنيم شامل 4 فاز ميباشد و اگر در هر لحظه به آن نگاه كنيم شامل 9 قالب خواهد بود.
شکل 1. ساختار اصلي RUP
3- خصوصيات RUP چيست؟
ويژگي Usecase Driven: يكي از مشكلات OOA اين بود كه ميگفتند با هر روشي تبديل و كار كنند و بعد بتوان آنرا به شيءگرا تبديل كرد. يعني مثلاً پروژه SSADM را طراحي كرده و بعداً به شيءگرا تبديل نمود. ولي آن عقيده اشتباه بود و حتماً تحليل شيءگرا بايد صورت بگيرد. خصوصيت خوب شيءگرا كه در ديگر روشها نميباشد اين است كه نوتاسيوني كه استفاده ميشود (بوچ، رامباق و جاكوبسون 1999) در همه مراحل يكي است يعني مفاهيمي از قبيل شيء، كلاس، روابط كلاسها و ... در تمامي مراحل يكي است. اهميتي كه Usecase Driven دارد اين است كه با زبان مشتري نوشته ميشود. مشتري ميتواند آنرا بفهمد و بسيار مناسب براي تشخيص نيازمنديهاي سيستم ميباشد. در بخش تحليل و طراحي از روي Usecaseها تحليل و طراحي انجام ميدهيم و مسائلي مانند مديريت پروژه نيز تحت تاثير Usecaseها هستند كه ما آنها را دستهبندي كرده و مديريت ميكنيم. همچنين راهنماهاي سيستم هم تحت تاثير Usecaseها (كراچتن 2000، 298) ايجاد ميشوند.
ويژگي Incremental: به معني آن است که پروژه بصورت چهار مرحله حلقهاي جلو ميرود ولي در هر مرحله چرخش يك دسته از Usecaseها كامل و آماده استفاده ميشود و كليه اين كارها در 9 جريان كار7 كه در شكل 1 مشخص شده بود، قابل مشاهده است.
4- ديدگاه اوليه درباره RUP
ابعاد پروژه
حوزه كاربردي برنامه (سيستمهاي تجاري يا سيستمهاي فني)
زمينههاي تجارت (توسعه خانگي، توسعه محصولات، فروشندگان نرمافزار مستقل، توسعه قراردادي).
همانند هر ساختار پروسه ديگري، RUP نيز روش سيستماتيكي را براي به دست آوردن، سازماندهي و ارائه راهكارهاي مهندسي نرمافزار در اختيارتان قرار ميدهد. RUP براي سازماندهي راهكارها، بر يك مدل پروسه ساده و کاملاً زيربنايي استوار شده است كه توضيح اين امر در قالب چند مقاله يا كتاب نميگنجد.
با اين وجود، ساختار پروسه مزبور را نميتوان به يك ظرف خالي تشبيه نمود. اين ساختار از قبل توسط حجم عظيمي از پروسههاي راهكاري كه قبلاً در پانزده سال گذشته توسط مليتهاي مختلف تحصيل شده است و با شركت Rational ارتباط داشتهاند (افرادي كه قبلاً اين شركت آنها را به خود جذب كرده و برخي از شركاي اين شركت نظير IBM ، HP و BEA (كراچتن 2003)) انباشته گرديده است. RUP مجموعه محدود و بستهاي نيست كه به منظور كاربردهاي عمومي منتشر شده باشد و پاسخ يا راهحل تمامي مشكلات توسعه نرمافزاري را دربرگيرد؛ بلكه ساختار RUP ساختار بازي است كه به منظور استنتاج بايد شاخههاي آنرا دنبال كنيد و اين ساختار سالانه دوبار روزآمد ميگردد. ساختار RUP تصفيه شده است و پشتيباني ابزاري و مندرجات آن نيز توسعه يافتهاند.
از يك سو، گروه توسعه پروسه شركت Rational، امر به روز سازي محتويات RUP را همگام با مقتضيات فنآوري و بازخوردهايي كه كاربران اين ساختار ارائه ميدهند، به عهده دارند و از سوي ديگر شركاي متعدد اين شركت و افرادي كه RUP را براي استحصال و سازماندهي فرايندهاي راهكاري خود پذيرفتهاند و از آن براي اهداف مربوط به خود استفاده ميكنند، ساختار ارائه شده توسط شركت Rational را تبليغ نموده و آنرا را تكميل ميكنند.
ساختار RUP پيرامون چند منطق ساده و مرتبط به هم سازماندهي شده است:
RUP نقشهايي را تعريف ميكند كه بايد در پروسه وجود داشته باشد و بر مبناي آن، صلاحيتها، تخصصها و مسئوليتهاي افرادي كه بايد پيشرفت پروژه را محقق سازند، مشخص ميشود.
RUP كارهايي را كه هر يك از افراد بايد در عمل انجام دهند، به طور گام به گام تشريح ميكند.
اين عمليات با استفاده از ابزارهايي واقعي مانند مدلها، كدها، اسناد و گزارشها اداره ميشوند.
در RUP به وفور با راهنماييهاي مربوط به نقشهايي كه افراد بايد به عهده بگيرند، فعاليتهايي كه بايد انجام شوند و مصنوعات مورد نياز برخورد خواهيد نمود كه در قالب خطوط راهنما، الگوها، مثالها و معلمهاي ابزاري ارائه ميشوند كه چگونگي به وقوع پيوستن دستهاي از فعاليتها توسط يك ابزار بخصوص را شرح ميدهند.
تمامي اين المانهاي توصيف پروسه در قالب سامانههايي سازماندهي شدهاند.
RUP مقدماتي نه سامانه، بيش از چهل نقش و صد محصول را تعريف ميكند و حاوي بيش از هزار صفحه راهنما است. همچنين ميتوانيد به پروسههاي الحاقي متعددي كه وظايف و مندرجات بيشتري را به RUP اضافه ميكند، دسترسي پيدا كنيد. برخي از منتقدين RUP آنرا پروسهاي بسيار سنگين تصور نموده و آنرا به كرگدني تشبيه ميكنند كه توان انجام تعداد نامحدودي عمل غير معمول را براي شما فراهم ميآورد؛ با اين وجود نگاه ما به RUP همانند لوح باشكوهي از معارف است كه ميتوانيد آنچه را كه نياز داريد، از داخل آن برگزينيد.
اجازه بدهيد مقايسهاي انجام دهيم. اگر فرهنگ لغات مناسبي از 800 لغت را انتخاب كرده باشيد، ميتوانيد در خيلي از نقاط دنيا و در بسياري شرايط، گليم خود را از آب بيرون بكشيد؛ ولي با انتخاب فرهنگ لغات حجيمي چون Webster ، اولاً هيچكس شما را مجبور به استفاده از لغاتي كه در فرهنگ لغات وجود دارد نميكند، ثانياً ميتوانيد سطح لغات محفوظي خود را براي انطباق با وضعيتهاي مختلف ارتقا ببخشيد و ثالثاً ميتوانيد فرهنگ لغات خود را بهبود دهيد. فرهنگ لغت800 لغتي بايد فقط زيرمجموعهاي از يك فرهنگ لغات باشد.
5- انعطافپذيري RUP و انطباق با آن
RUP تمرينات توليد نرمافزار ثابت شده فراواني را در بردارد. شركت Rational ميدان ديد بالايي را براي موارد زير، ارائه ميدهد:
توسعه مكرر
مدلسازي بصري
مديريت ملزومات تغييرات كنترل
بازبيني مداوم كيفيت
استفاده از معماري بر مبناي اجزا
همچنين URP بر مبناي ديگر اصول كليدي ديگري كه كمتر قابل مشاهده هستند و سادهتر به محاق فراموشي سپرده ميشوند، استوار شده است كه فقط براي يادآوري اشارهاي به آنها مينماييم (جنر 2002):
منحصراً آنچه را كه مورد نياز است، پرورش دهيد.
روي نتايج ارزشمند تمركز كنيد، نه روي چگونگي حصول نتايج
كاغذبازي را به حداقل برسانيد.
انعطافپذير باشيد.
از اشتباهات خود عبرت بگيريد.
به طور منظم، مخاطرات محتمل را مورد بازبيني قرار دهيد.
براي پروسه موردنظر معيارهاي قابل اندازهگيري و علمي را بدون موضعگيري شخصي استوار كنيد.
از گروههاي كوچك و توانمند استفاده كنيد.
طرحي را در ذهن داشته باشيد.
ذهنيت كليدي در سازگار شدن و سازگار كردن RUP قالب توسعه8 ميباشد. يك قالب توسعه نمونهاي از RUP است كه براي پروژه ويژهاي كه مد نظرتان است، مناسب باشد. با مراجعه به ساختار RUP به توضيح پروسهاي دست مييابيد كه موارد زير را تعريف نموده و شناسايي ميكند (جنر 2002):
چه چيزي توسعه داده خواهد شد؟
به چه مصنوعاتي واقعاً نياز داريم؟
چه الگوهايي بايد مورد استفاده قرار بگيرند؟
كدام مصنوعات در حال حاضر وجود دارند؟
به چه نقشهايي نياز داريم؟
چه فعاليتهايي انجام خواهند شد؟
كدام خطوط راهنما، استانداردهاي پروژه و ابزارهايي مورد استفاده قرار خواهند گرفت؟
6- نتيجه گيري
از آنچه گذشت در مييابيم اولاً در حال حاضر تنها روش توسعه نرمافزاري که مورد پذيرش در عرصه جهاني است، RUP ميباشد. ثانياً اين روش علاوه بر ساماندهي به فرايند توليد نرمافزار از دو بعد زمان و کيفيت، به لحاظ برخورداري از انعطافپذيري بالا در صورت کاربرد و پياده سازي صحيح ميتواند سبب تسريع فرايند توليد و توسعه نرمافزار و تأمين کيفيت مورد نظر در نرمافزار گردد و نهايتاً اين که يکي از مهم ترين ويژگيهاي RUP اين است که قابليت توسعه و تغيير نرمافزار ها را بر اساس تغيير نيازهاي کاربران و نيز تغيير فناوري، از قبل پيش بيني نموده است.
پي نوشت ها :
1. Rational Unified Process
2. Structured System Analysis and Design Method
3. waterfall
4. Unified Modeling Language
5. Process Framework
6. Component Base Development (CBD)
7. workflow
8. Development case
Booch, G., J. Rumbaugh and I. Jacobson. 1999. The Unified Modeling Language User Guide. Addison- Wesley.
COSMIC Group. 2003a. Valve Control System – Cosmic Group Case Study. École de technologie supérieure, Université du Québec, Montréal, Canada, January 25, 2003 version http://www.lrgl.uqam.ca/cosmic-ffp/casestudies/
COSMIC Group. 2003b. Rice Cooker – Cosmic Group Case Study. École de technologie supérieure, Université du Québec, Montréal, Canada, Janua ry 26, 2003 version http://www.lrgl.uqam.ca/cosmic-ffp/casestudies/
Jenner, M. 2002. Automation of Counting of Functional Size Using COSMIC-FFP in UML. 12th International Workshop on Software Measurement – IWSM 2002, Magdeburg, Germany, Oct. 7-9, 43-51.
Kruchten, P. 2000. The Rational Unified Process, an introduction. Addison Wesley.
Kruchten, P. 2003. The RUP platform. Montréal-SPIN . November, 33.
Schewe, K.D. 2000. UML: A Modern Dinosaur? A Critical Analysis of the Unified Modeling Language. Proc. 10th European-Japanese Conf. on Information Modeling and Knowledge Bases. Saariselk/Finland.
ارسالي از طرف کاربر محترم :sabamm
/ع