اقتصادی و سیاسی |
|||
سه شنبه 23 فروردين 1390برچسب:, :: 7:49 :: نويسنده : فردین
مروري بر RUP و قابليتهاي آن در توليد نرمافزار
چكيده
چه چيز ميتواند يك پروسه توليد نرمافزار را توصيف كند؟ آيا منظور از پروسه،آمادهسازي نرمافزار صرفاً براي ارائه در بازار است؟ مسلماً در هر كاري وجود يكسامانه و فرايند كاري ضروري است؛ ولي چه چيزي ميتواند موجب ايجاد سرعت و كيفيت درفرايند توليد يك نرمافزارشود؟ لزوماً طراحي و پيادهسازي يك فرايند يكپارچه ومنطقي ميتواند چنين نتيجهاي در بر داشته باشد. بدين منظور امروزه از روشي استفادهميشود كه اصطلاحاً RUP ناميده ميشود. به حداقل رساندن حجم پروسه توليد يكنرمافزار همزمان با حفظ كيفيت و صرفهجويي در زمان از مهمترين ويژگيهاي اين روشميباشند. معمولاً براي يك شركت توليد نرمافزار، سرعت عمل به موقع براي پاسخگوييبه تقاضا و شرايط اجتماعي اهميت دارد، اما گاهي اين شتابزدگي سبب فدا شدن كيفيتميگردد. RUP با ارائه يك چارچوب منطقي علاوه بر تعيين زمانبندي مناسب، كيفيت موردنظر توليد كننده و استفاده كننده نرمافزار را تأمين مينمايد. در اين مقاله ضمنمروري بر RUP به عنوان روش يكپارچه توليد نرمافزار، قابليتهاي آن در افزايش سرعتتوليد نرمافزار و حفظ كيفيت آن برشمرده ميشوند.
كليدواژه : RUP؛ UML؛ فرايند يكپارچه رشنال؛ Rational Unified Process؛ Unified Modeling Language
1- مقدمه
يك پروسه چابك، پروسهاي است كه هميشه آماده در آغوش كشيدن درخواستهاي جامعهبوده و اين درجه از سازگاري را دارا باشد. بنابراين منظور از سرعت عمل، فقطكاستن از حجم پروسه توليد نرمافزار يا سرعت ارائه آن به بازار نيست؛ بلكه منظور،انعطافپذيري و حفظ کيفيت است. مطلبي كه در اين مقاله قصد توضيح آن را داريم ايناست كه RUP 1 ساختاريپروسهاي (چيو 2000) است كه امكان انعطافپذيري را براي توليدكنندگان نرمافزارفراهم ميآورد.
منظور از RUP چيست؟ در اين مقاله از چند منظر به RUP خواهيم پرداخت:
2- RUP چيست؟
با پيشرفت تكنولوژيهاي مرتبط با كامپيوتر، نياز هر چه بيشتر به گسترش علمنرمافزاري نيز احساس ميشد كه با پيدايش متدولوژيهاي همانند SSADM 2 و روش آبشاري3 (چيو 2000) آغاز شد. در ابتدا، اين روشها مناسب بود و جوابگوي نيازهاي آن زمان بودندولي با افزايش دادهها و پيدايش مفاهيمي همچون شبكه، وب و غيره ديگركارآيي لازم را جهت پيادهسازي و هدايت پروژههاي نرمافزاري نداشتند. پس مفاهيمبرنامهنويسي شيءگرا پا به عرصه وجود گذاشتند و در سال 1991 بطور جدي مورد مطالعه وبحث قرار گرفتند. استفاده از اين روشها و متدهاي برنامهنويسي، قدرت و انعطافبسياري را به برنامهها داد و شركتهاي نرمافزاري توانستند با كاهش هزينهها وبهينهسازي كدهاي خود، نرمافزارهاي قويتري را به بازار عرضه كنند ولي اين روش جديدنيز نياز به مديريت و يكپارچگي داشت. پس روشها و متدولوژيهاي جديدي مطرح شد كه شامل Booch، OMT، OSE و ... ميباشند. در سال 2000 شركت Rational روشي را تحتعنوان RUP مطرح ساخت (گروه كاسميك 2003ب) كه بعد از روش MSF شركتمايكروسافت به دنياي نرمافزار عرضه شد و امروزه از طرفداران بسياري برخوردار است. فرايند يكپارچه Rational در اصل يك متدولوژي است كه در جهت كنترل و انجام پروژههاينرمافزاري در نظر گرفته شده است. در اصل اين چارچوبي در جهت انجام صحيح و موفقپروژههاي نرمافزاري ميباشد كه كليه مراحل انجام يك پروژه كه با معماري و آناليزسازمان شروع شده و به تست نرمافزار و ارائه Gold Release ختم ميشود را در برميگيرد (گروه كاسميك 2003 الف).
چرا RUP را يک فرايند يکپارچه ميگويند؟ به سه علت RUP را يكپارچهمينامند:
شكل 1 ساختار اصلي RUP را مشخص ميكند. اگر در بعد زمان به آن نگاه كنيم شامل 4فاز ميباشد و اگر در هر لحظه به آن نگاه كنيم شامل 9 قالب خواهد بود.
شکل 1. ساختار اصلي RUP
3- خصوصيات RUP چيست؟
4- ديدگاه اوليه درباره RUP
ديدگاهي كه RUP بر اساس آن طراحي شده، به گونهاي است كه محدوده وسيعي از اهدافرا پوشش دهد تا ضمانت اجرايي جهت انطباق با موارد زير حاصل شود (كراچتن 2003):
همانند هر ساختار پروسه ديگري، RUP نيز روش سيستماتيكي را براي به دستآوردن، سازماندهي و ارائه راهكارهاي مهندسي نرمافزار در اختيارتان قرار ميدهد. RUP براي سازماندهي راهكارها، بر يك مدل پروسه ساده و کاملاً زيربنايي استوار شدهاست كه توضيح اين امر در قالب چند مقاله يا كتاب نميگنجد.
با اين وجود، ساختار پروسه مزبور را نميتوان به يك ظرف خالي تشبيه نمود. اينساختار از قبل توسط حجم عظيمي از پروسههاي راهكاري كه قبلاً در پانزده سالگذشته توسط مليتهاي مختلف تحصيل شده است و با شركت Rational ارتباط داشتهاند (افرادي كه قبلاً اين شركت آنها را به خود جذب كرده و برخي از شركاي اين شركت نظير IBM ، HP و BEA (كراچتن 2003)) انباشته گرديده است. RUP مجموعه محدود و بستهاينيست كه به منظور كاربردهاي عمومي منتشر شده باشد و پاسخ يا راهحل تمامي مشكلاتتوسعه نرمافزاري را دربرگيرد؛ بلكه ساختار RUP ساختار بازي است كه به منظوراستنتاج بايد شاخههاي آنرا دنبال كنيد و اين ساختار سالانه دوبار روزآمدميگردد. ساختار RUP تصفيه شده است و پشتيباني ابزاري و مندرجات آن نيز توسعهيافتهاند.
از يك سو، گروه توسعه پروسه شركت Rational، امر به روز سازي محتويات RUP راهمگام با مقتضيات فنآوري و بازخوردهايي كه كاربران اين ساختار ارائه ميدهند، بهعهده دارند و از سوي ديگر شركاي متعدد اين شركت و افرادي كه RUP را براي استحصال وسازماندهي فرايندهاي راهكاري خود پذيرفتهاند و از آن براي اهداف مربوط به خوداستفاده ميكنند، ساختار ارائه شده توسط شركت Rational را تبليغ نموده و آنرا راتكميل ميكنند.
ساختار RUP پيرامون چند منطق ساده و مرتبط به هم سازماندهي شده است:
RUP مقدماتي نه سامانه، بيش از چهل نقش و صد محصول را تعريف ميكند و حاوي بيشاز هزار صفحه راهنما است. همچنين ميتوانيد به پروسههاي الحاقي متعددي كه وظايف ومندرجات بيشتري را به RUP اضافه ميكند، دسترسي پيدا كنيد. برخي از منتقدين RUP آنرا پروسهاي بسيار سنگين تصور نموده و آنرا به كرگدني تشبيه ميكنند كه توانانجام تعداد نامحدودي عمل غير معمول را براي شما فراهم ميآورد؛ با اين وجود نگاهما به RUP همانند لوح باشكوهي از معارف است كه ميتوانيد آنچه را كه نياز داريد، ازداخل آن برگزينيد.
اجازه بدهيد مقايسهاي انجام دهيم. اگر فرهنگ لغات مناسبي از 800 لغت راانتخاب كرده باشيد، ميتوانيد در خيلي از نقاط دنيا و در بسياري شرايط، گليم خود رااز آب بيرون بكشيد؛ ولي با انتخاب فرهنگ لغات حجيمي چون Webster ، اولاً هيچكس شمارا مجبور به استفاده از لغاتي كه در فرهنگ لغات وجود دارد نميكند، ثانياًميتوانيد سطح لغات محفوظي خود را براي انطباق با وضعيتهاي مختلف ارتقا ببخشيد وثالثاً ميتوانيد فرهنگ لغات خود را بهبود دهيد. فرهنگ لغت800 لغتي بايد فقطزيرمجموعهاي از يك فرهنگ لغات باشد.
5- انعطافپذيري RUP و انطباق با آن
RUP يك اصل عقيدتي يا يك آيين مذهبي نيست. ساختار RUP ساختار خشكي نيست كهبخواهد همه چيز را براي توليد نرمافزار در قالب خود درآورد. نيازي نيست كه حداقلچهل نفر را براي تكميل پروسهاي كه چهل نقش در آن تعريف شده است، به خدمت بگيريد ونيازي نداريد كه بيش از صد محصول مختلف را پرورش دهيد. اگر سعي خود را به انجام اينكار معطوف سازيد، خيلي زود در معرض آشفتگي قرار خواهيد گرفت. اين المانها در RUP ودر فرم الكترونيكي (كراچتن 2003) براي فراهمآوردن انعطافپذيري مورد نياز برايانطباق با تقاضايي ارائه شدهاند كه به شرايط محيطي كه درآن به سر ميبريد، بستگيدارد.
RUP تمرينات توليد نرمافزار ثابت شده فراواني را در بردارد. شركت Rational ميدان ديد بالايي را براي موارد زير، ارائه ميدهد:
همچنين URP بر مبناي ديگر اصول كليدي ديگري كه كمتر قابل مشاهده هستند و سادهتربه محاق فراموشي سپرده ميشوند، استوار شده است كه فقط براي يادآوري اشارهايبه آنها مينماييم (جنر 2002):
ذهنيت كليدي در سازگار شدن و سازگار كردن RUP قالب توسعه8 ميباشد. يك قالب توسعه نمونهاي از RUP است كه براي پروژه ويژهاي كه مد نظرتان است، مناسبباشد. با مراجعه به ساختار RUP به توضيح پروسهاي دست مييابيد كه موارد زير راتعريف نمودهو شناسايي ميكند (جنر 2002):
6- نتيجه گيري
از آنچه گذشت در مييابيم اولاً در حال حاضر تنها روش توسعه نرمافزاري که موردپذيرش در عرصه جهاني است، RUP ميباشد. ثانياً اين روش علاوه بر ساماندهي به فرايندتوليد نرمافزار از دو بعد زمان و کيفيت، به لحاظ برخورداري از انعطافپذيري بالادر صورت کاربرد و پياده سازي صحيح ميتواند سبب تسريع فرايند توليد و توسعهنرمافزار و تأمين کيفيت مورد نظر در نرمافزار گردد و نهايتاً اين که يکي از مهمترين ويژگيهاي RUP اين است که قابليت توسعه و تغيير نرمافزار ها را بر اساس تغييرنيازهاي کاربران و نيز تغيير فناوري، از قبل پيش بيني نموده است.
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.
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
نظرات شما عزیزان:
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() پيوندها
![]() نويسندگان |
|||
![]() |