ارزيابي NIMSAD از فرايند يكپارچه منطقي (RUP)

فهرست۱a
• مقدمه
• عنصر۱: وضعيت مسئله
• عنصر۲: روش شناسي كاربر (حل كننده مشكل يا مسئله)
• عنصر ۳، مرحله۱: درك وضعيت
• عنصر۳، مرحله۲: انجام تشخيص
• عنصر ۳، مرحله۳: تعريف كردن طرح كلي تشخيص
• عنصر۳، مرحله۴: تعريف كردن مسائل
• عنصر۳، مرحله۵: استنتاج يك سيستم فكري
• عنصر۳، مرحله۶: انجام طراحي مصنوعي/منطقي
• عنصر۳، مرحله۷: انجام طراحي فيزيكي
• عنصر۳، مرحله۸: اجراي طرح
• عنصر۴: ارزيابي
• خلاصه
مقدمه:
فرايند يكپارچه منطقي (RUP) يك اسلوب سيستمهاي اطلاعاتي است كه امروزه در وسيع‏ترين حالت استفاده مي‏شود. طراحان اصلي آن سه نفر هستند به نامهاي ايوار ياكوبس، جرادي بوچ و جيمز رامبو، كه همچنين زبان نمونه‏سازي يكپارچه را هم طرح كرده‏اند. اين فرايند اساساً مبتني بر خط مشي (روش) اريكسون، ابجكتوري و خط مشي منطقي (عقلاني) است كه در سال ۱۹۹۵ با فرايند ابجكتوري منطقي تركيب شدند. زبان مدل سازي (نمونه‏سازي) يكپارچه به همراه تجربه‏اي از شركت Rational، فرايند يكپارچه منطقي را تشكيل داد.

فرايند يكپارچه يك فرايند توسعه نرم‏افزاري است كه مجموعه‏اي است از فعاليتهاي مورد نياز براي تبديل نيازمنديهاي كاربران به يك سيستم نرم‏افزاري، اما به عنوان يك چارچوب كلي فرايند هم ديده مي‏شود كه مي‏تواند براي مقاصد مختلف، اختصاصي شود.
سه وجه فرايند يكپارچه عبارتند از:

– حالت كاربري(استفاده)- مورد – حالت متمركز بر ساختار
– و افزايشي
مراحل اصلي براي يك پروژه RUP با توجه به [۲ ] عبارتند از:
 گرد هم آوريد تيم (گروه) را

 تصميم بگيريد كه كدام سيستم بنا خواهد شد (ظاهراً انتخاب ديگري به جز بناي يك سيستم وجود ندارد)؛
 يك مدل استفاده- مورد و يك مدل اوليه UI را بنا كنيد؛

 از توسعه‏هاي فرايند UML براي بناي يك مدل تحليل هدف استفاده كنيد؛
 از جنبه‏هاي ديگر متداول UML براي دياگرامهاي طراحي، دسته‏بندي، حالت و مرحله و نظاير اينها استفاده كنيد؛
 در حين اختصاص دسته‏ها به واحدها و بسته‏ها، به معماري آنها توجه دقيق كنيد؛
 طرح خود را به وسيله مدل استفاده- مورد آزمايش كنيد اين كار نتايج عالي را خواهد داد؛
 طرح را به عمل درآوريد.

عنصر۱: وضعيت مسئله:
اين روش شناسي به مفهوم، مرتبط است. اين امر به خصوص در دو جريان كاري اصلي يعني نيازمنديها و تحليل، كه مهمترين عوامل در فاز اول (شروع، جزئيات) هستند، ديده مي‏شود اما همه اينها در طول فرايند قرار دارند به خاطر طبيعت ذاتي آن.

همانگونه كه گفته شد: فرايند يكپارچه يك فرايند پيش رونده از طريق سيستم استفاده- مورد مي‏باشد. يعني تمام فرايند توسط مسيري كه كاربر با سيستم تعامل مي‏كند، كنترل مي‏شود. هر مدل ايجاد شده مي‏تواند نشاني از يك مورد استفاده را داشته باشد. اينكه فرايند يكپارچه بر معماري متمركز است بدين معناست كه از ابتداي شروع فرايند تاكيد شديدي بر معماري سيستمهاي اطلاعاتي وجود دارد. اين شامل سخت‏افزار و چارچوبهاي مورد استفاده و نيز گسترش و زبانهاي برنامه‏نويسي هم مي‏شود.

علاوه براين دو مفهوم اختياري در جريان كاري «نيازمنديها» وجود دارد كه تسلط يافتن بر محيط كاري تجاري را پشتيباني مي‏كند:
 مدل قلمرو: يك دياگرام دسته UML كه مهمترين انواع اهداف را در زمينه سيستم، به دست مي‏آورد.
 مدل تجاري: تكنيك درك فرايندهاي تجاري يك سازمان.

اين مدل يك مدل تجاري را شبيه مدل كاربري- مورد براي سيستم نرم‏افزاري از منظر استفاده (كاربري) و طرح‏هاي كلي ارائه مي‏كند كه چگونه براي كاربران خود، ارزش (بهاء) مي‏آفريند. همچنين يك مدل هدف تجاري دارد كه نهادهاي تجاري را همانند مدل قلمرو، تشريح مي‏كند.
اما جدا از آنچه درباره وضعيت مسئله گفته شد، اين يك روش پوزيتوسيستمي (مثبت گرايي) است. به نظر مي‏رسد كه فقط با مشخصات سيستم مرتبط است. RUP هيچ چيزي براي گفتن درباره نيازمنديهاي تجاري يا مدل‏سازي فرايند تجارت ندارد به جز اينكه موارد كاربري كافي هستند.
عنصر۲: روش شناسي كاربر (حل كننده مسئله):

RUP، متدولوژي كاربر را با مفهوم كارگر (ايجاد كننده) استفاده مي‏كند.
ارزيابي ايجاد بناي ذهني: حل كنندگان مسئله و نقش‏هاي مختلف آنان، كارگران (ايجاد كنندگان) هستند. هر كارگر نوعي انتزاع انساني را به همراه قابليت‏هاي مورد نياز در مهندسي نرم‏افزار، از خود نشان مي‏دهد. وقتي يك پروژه كارمندان خود را جذب مي‏كند، يك كارگر از خود اطلاعات و قابليتهايي را نشان مي‏دهد كه يك نفر نياز دارد براي انجام آن كار، همانطور كه آن كارگر در اين پروژه نيازمند آن است. در روش‏شناسي، كارگر در ابتدا در قالب مسئوليتش توصيف مي‏شود.
سطوح علاقه بناي ذهني: آنچه كه يك كابر بايد بداند، بيشتر به نقش او در انجام فرايند بستگي دارد يعني آنچه كه او هست. هر فرد انجام دهنده

كار (كارگر) بايد اطلاعاتي را از UML، تصوير خوبي از فرايند كلي و مسئوليت خاص وي در اين فرايند داشته باشد. عموماً انجام دهندگان كار عبارتند از:
 تحليل گران سيستم و مشخص كنندگان استفاده- مورد: انجام دهندگان كار با بالاترين سطح مهارت‏ها، آنان داراي مهارت در تحليل فرايند تجارت و سازمانها و داراي تجربه و قدرت تحليل خوبي هستند.

 طراحان واسطه بين كاربر و ابزار: اينان داراي مهارتهاي فني و گرافيكي خوبي هستند.
 آرشيتكت: آرشيتكت (معمار) هم نيازمند مهارت است اما بيشتر از جنبه فني. او همچنين نيازمند درك موارد استفاده جهت انجام اهداف خود مي‏باشد.
 مهندس استفاده- مورد، مهندس اجزاء، ايجاد كننده سيستم: اينها در اصل نياز به مهارتهاي فني دارند چون فقط بر اساس موارد- استفاده، طراحي و اجراء مي‏كنند.
 طراح آزمايش: داراي مهارتهاي فني بالا همچنين درك خوب از فرايندها
 آزمايش كننده سيستم: مهارتهاي فني
عنصر سوم، مرحله اول: فهم وضعيت ارتباط

اين مرحله ارتباط كاملي با جريان كار هسته‏اي يعني كسب نيازمنديها دارد و نقاط شروع مختلفي را مانند مدل تجاري، يك مدل قلمرو يا يك مشخصه نيازمندي كامل و مفصل از مشتري فراهم مي‏كند. بعد از آن چند مرحله ديگر به انجام مي‏رسند. در ابتدا يك ليست جنبه‏هاي مختلف از موضوع ايجاد مي‏شود كه در حين فرايند، بخاطر وسيعتر يا كوچكتر مي‏شود. ثانياً كاربر بايد فهم و دركي از زمينه و متن سيستم داشته باشد. براي بيان زمينه و متن يك سيستم، دو روش وجود دارند كه عبارتند از مدل تجاري و مدل قلمرو. نام نهادن اهداف هم براي ساختن فرهنگي از عبارات استفاده مي‏شود كه به ارتباط كمك مي‏كند. سومين مورد، كسب نيازمنديهاي وظيفه‏اي به كمك “استفاده- مورد“ هاست. نهايتاً نيازمنديهاي غيروظيفه هم كسب مي‏شوند. اين مورد در طبيعت تكرار گونه فرايند، تاكيد زيادي بر بازتاب-در- عمل دارد. نيازمنديها و مرزهاي سيستم به همراه هر تكرار مجدداً ارزيابي مي‏شوند.

تكنيك‏ها و مدلهاي بازرسي:
همانطوري كه در بالا گفته شد ليست جنبه‏ها توسعه مي‏يابد، كه ممكن است شامل وضعيت، هزينه تخميني و اولويت باشد. اين امر در مديريت نيازها در خلال فرايند كمك مي‏كند. در عنصر۱ مدل تجاري و مدل قلمرو توضيح داده شدند كه مي‏توانند براي فهم و درك زمينه سيستم و كسب نيازها به كار روند. هنوز در جريان كاري “نيازمنديها“ مدلهاي استفاده- مورد وجود دارند كه توصيف يك تشخيص به كار مي‏روند. آنها تشريح مي‏كنند كه چگونه يك كاربر با سيستم كار مي‏كند. هر نوعي از كاربران به عنوان يك يا بيشتر نقش، عمل مي‏كند. هر سيستم خارجي كه اين سيستم با آن در تعادل است، هم به عنوان ايفا كننده يك نقش عمل مي‏كند. جريان رويدادها براي هر مورد استفاده (use- Case) مي‏تواند به عنوان يك توصيف جداگانه از مراحل عمل مورد استفاده‏ها به كار آيد. همچنين دياگرامهاي وضعيت مي‏توانند براي توصيف يك مورد- استفاده به كار گرفته شوند.

عنصر۳، مرحله ۲:
انجام تشخيص: براي انجام تشخيص RUP از دياگرامهايي كه در جريان كاري نيازمنديها توسعه يافته، استفاده مي‏كند. آنها در يك سطح مفهومي يا منطقي بيشترند و هيچ چيزي درباره سطح فيزيكي گفته نمي‏شود. RUP بيان مي‏كند كه نيازمنديهايي مي‏توانند وجود داشته باشند كه نمي‏توانند خودكار (اتومات) شوند و به وسيله يك سيستم اطلاعاتي حل مي‏شوند.

عنصر۳، مرحله۳:
RUP حقيقتاً با اين مرحله به دور از جريان كاري نيازمنديها، ارتباط ندارد اما قبلاً تصميمات، وضعيت مطلوب را ساخته‏اند. هيچ مقايسه‏اي بين حالت فعلي و حالت مطلوب وجود ندارد. همچنين هيچ گونه پرسش مستقيمي درباره تمايلات و نيازهاي مشتري وجود ندارد اما RUP بيان مي‏كند كه آنها بايد در كارگاههايي تحليل گران و مشتريان مشاركت مي‏كنند، تحت مطالعه و كار قرار گيرند.
عنصر۳، مرحله۴:

تعريف كردن مسئله‏ها: RUP بر قلمرو سيستمهاي اطلاعاتي تمركز مي‏كند. مدل‏سازي تجاري فقط براي زمينه سيستم و نه براي متمايزكردن و شناساندن مسائل در تجارت به كار مي‏آيد.
عنصر۳، مرحله۵:
استنتاج يك سيستم فكري (ذهني): جريانهاي اصلي كاري يعني نيازمنديها و تحليل، در اين مرحله استفاده مي‏شوند. از اين مرحله تاثير زيادي بر فرايند يكپارچه دارد و درباره حالت فعلي و درباره مسائل كمتر مي‏گويد اما راهنمايي‏هاي مستقيمي دربارهايجاد نيازها و چگونگي به عمل آوردن اين نيازها دارد.
عنصر۳، مرحله۶: انجام طراحي مفهومي/ منطقي

اين مرحله، جريان كاري طراحي را در سيستم يكپارچه در بر مي‏گيرد. ورودي اين جريان كاري، مدل تحليلي است و مدل طراحي را ايجاد مي‏كند كه طرحي از اجراء دارد. اين مرحله از طريق دياگرام‏هاي دسته‏اي انجام مي‏شود. علاوه براين دياگرامهاي تعاملي هم وجود دارند كه مراحل عمل را در حالت استفاده مدلسازي مي‏كنند. اين مي‏تواند يك دياگرام همكاري يا يك دياگرام مرحله‏اي باشد كه اين دومي بر سفارش به موقع تاكيد مي‏كند، همه اينها با توصيف متني به نام طراحي جريان رويدادها همراه است. اجراي نيازمنديها هم يك توصيف متني است اما نيازمنديهاي غير وظيفه‏اي را در اختيار مي‏گيرد كه بايد هنگام اجرا در خاطر سپرده

شوند. اين سيستم به دو سيستم زير مجموعه تقسيم مي‏شود و فصل مشتركهاي آنان از هم متمايز مي‏باشد. آنها در گره‏هاي متفاوتي در يك مدل آرايش منابع قرار دارند. توصيف معماري نمايي از مدل آرايش منابع است.
براي بعضي از اهداف در مدل، مناسب است كه رفتار از طريق يك دياگرام وضعيت مدلسازي شود كه انتقال به وضعيت متفاوت را در دسته همطراز طراحي خود، توصيف مي‏كند.
عنصر۳، مرحله۷: برنامه ريزي براي طراحي فيزيكي
در حقيقت طراحي فيزيكي از طراحي منطقي در فرايند يكپارچه جدا نيست. اين امر از طريق طراحي مستقيم دياگرامهاي دسته‏بندي‏ها به زبانهاي برنامه‏ريزي مبتني بر هدف محقق خواهد شد. علاوه بر اين، مهندس اجزاء است كه سيستمهاي زير مجموعه را طراحي و همينطور اجرا مي‏كند. بنابراين مرحله ۷ مي‏تواند هم در طراحي جريان كاري و هم در انجام آن، قرار بگيرد.
مدل مهم در اجرا، اجزاء (Component) است كه شكل فيزيكي عناصر مدل است و مي‏تواند شامل موارد اجرائي، پرونده‏ها، جداول و مدارك باشد. همچنين يك توصيف معماري وجود دارد كه شامل يك نماي معماري از مدل اجراء مي‏باشد.
عنصر۳، مرحله۸: اجراي طرح

اين بخشي از جريان كاري اجراء است كه در آن اجراي واقعي انجام مي‏شود. مدلهاي انجام كار در “عمل” قرار داده مي‏شوند و زير مجموعه‏هاي سيستم كامل مي‏شوند. نهايتاً اجزاء در گره‏ها مي‏شوند. فرايند يكپارچه تاكيدي بر آزمايش سيستم هم دارد. يك جريان كاري هسته‏اي به نام آزمايش وجود دارد كه در حين هر تعاملي اجراء مي‏شود و مدلهاي آزمايش را ايجاد مي‏كند كه بر مبناي “استفاده- مورد” هاي جريانهاي كاري قبلي مي‏باشد. براي هر مورد آزمايش، يك يا بيشتر روند، توسعه داده مي‏شود. بعضي آزمايش‏ها مي‏توانند توسط اجزاء آزمايش بطور خودكار (اتومات) درآيند.
عنصر۴: ارزيابي:

RUP هيچگونه فاز ارزيابي ندارد اما ارزيابي را در تمام فازها انجام مي‏دهد. فاز انتقال براي ارزيابي تمام پروژه است. در پايان فاز انتقال كه البته پايان پروژه در اصطلاح بودجه‏ريزي هم هست، مدير پروژه يك گروه را گرد هم مي‏آورد تا جدول واقعي زمان، نفر- ساعت، هزينه، نرخ‏هاي نقص و ساير موارد را در رابطه با موارد زير بررسي كنند كه:

 آيا پروژه به اهداف از قبل برنامه ريزي شده رسيده است؟
 اطمينان حاصل كنند كه چرا به اهداف خود نرسيده است (در صورت نرسيدن)
 يافته‏ها و داده‏هاي پروژه را به پايگاه داده‏هاي شركت، جهت استفاده‏هاي آينده، اضافه نمايند.
موفقيت اقتصادي هم با استفاده از طرح تجارتي ارزيابي مي‏شود و مدير پروژه يك گروه كوچك را گرد هم مي‏آورد تا فاز انتقالي را ايجاد و به مراحل بعدي منتقل سازند.

خلاصه:
RUP داراي چندين جنبه مثبت در مقايسه با روش‏هاي قديمي است و از UML استفاده مي‏كند و چندين تكنيك خاص OO را شامل مي‏شود. مهمترين اين موارد، استفاده اين سيستم از “موارد- استفاده” ها جهت شناسايي و آزمايش است. اين سيستم كاملاً پيشرونده تدريجي است و براي يك كاربر ابزار، بخوبي مناسبت دارد. RUP گفته مي‏شود كه بر مبناي معماري پيش مي‏رود، همچنين جنبه‏اي مثبت دارد و بايد گفت كه داراي نهاي محدودي از معماري به عنوان ساختار صرف است. RUP هيچ چيزي براي گفتن درباره نيازمنديهاي تجاري و يا مدل‏سازي فرايند تجاري ندارد به جز اينكه موارد- استفاده‏ها كافي است. يك مزيت RUP هم يك عيب آن محسوب مي‏شود. وابسته بودن آن به ابزار يك پشتيبان، بسياري از سازمانها را در استفاده از آن مشكل مي‏كند. همچنين هيچ چيزي در RUP درباره طراحي GUI وجود ندارد. مقادير در RUP اختصاصي نيستند اگرچه انتظار مي‏رود كه جمع‏آوري شده‏اند. شايد بدترين جنبه RUP به عنوان يك فرايند مدرن، اندازه زياد آن باشد كه بيش از ۱۷۰۰ صفحه است كه وزن كمي نيست.