سید مصطفی حسینی

 معمار نرم‌افزار و مهندس فرآیند RUP

Software Architect & RUP Process Engineer

سید مصطفی حسینی

صفحه شخصی |  RUP چیست؟ |  فازهای RUP |  دیسیپلین‌های RUP |  نكته‌ها |  دوره آموزشی RUP |  ابزارهای Rational |  تكنولوژی‌های نرم‌افزاری

 

  نكته‌ها
در این بخش به بیان نكته‌هایی در مورد RUP می‌پردازم و امیدوارم بتوانم به زودی به آن نكات جدیدی بیافزایم.
  نقش Process Engineer در RUP چیست؟
RUP برای انواع پروژه‌های نرم‌افزاری در دامنه‌های مختلف ( مانند سیستم‌های اطلاعاتی، سیستم‌های صنعتی، سیستم‌های بلادرنگ، سیستم‌های تعبیه شده، ارتباطات راه دور، سیستم‌های نظامی و ...) و در اندازه‌های متفاوت، از پروژه‌های بسیار کوچک (یک نفر در یک هفته) تا پروژه‌های بسیار بزرگ (چند صد نفر تولید کننده با پراکندگی جغرافیایی)، کاربرد دارد. اما لازم است برای پروژه مورد نظر سفارشی شود. RUP قابلیت بالایی برای تغییر کردن به سمت محصولی که دقیقاً نیازها را برآورده سازد دارد که این تغییر برای هر پروژه تحت عنوان Tailoring شناخته می شود.
نقشی به نام Process Engineer در RUP پیش‌بینی شده است كه با توجه به تجربه و دانشی كه ازRUP دارد، روش استفاده ازRUP و قسمتهایی را که استفاده از آنها مفید خواهد بود—با توجه به سازمان تولید كننده و یا خود پروژه — تعیین کرده و RUP را برای پروژه Tailor می‌کند. این نقش همچنین می‌تواند قالب مستنداتی كه باید تولید شوند، روند‌های انجام كار و نوع Artifact هایی كه لازم است تولید شوند را تعیین كند.
  10 مورد ضروری در RUP
برای كسی كه اولین بار با RUP  (كه دارای 4 فاز، 9 دیسیپلین، 31 نقش، 103 دست‌آورد، 136 فعالیت، بعلاوه رهنمودها، چك‌ لیست‌ها و راهنمای ابزار می‌باشد) مواجه می‌شود این سؤال پیش می‌آید كه ”چطور می‌توان از میان این همه موارد تعیین كنیم كه كدام یك برای پروژه ما مورد نیاز است؟“، ”آیا به این یكی نیاز دارم؟“، ”آیا RUP فقط برای پروژه‌های بزرگ است؟“ و پاسخ نیز اغلب به این صورت است : ”خب بستگی دارد به ... “ در این مطلب یك لیست از ده مورد اساسی و ضروری RUP كه می‌تواند نقطة شروعی برای چگونگی بكارگیری RUP در هر پروژه باشد معرفی می‌شود. البته ضروری است كه چارچوب كلی RUP كه یك فرآیند تكراری و تكاملی  است  لحاظ شود.
این ده مورد عبارتند از ...
  الگوهای طراحی چیستند و چه كاربردی دارند ؟
الگوها توصیف كننده‌ی مسایل متواتری هستند كه در شرایط مشخصی روی می‌دهند. الگوها شامل راه‌حل پیشنهادی برای حل این مسایل نیز می‌باشند. علاوه بر این الگوهای طراحی نرم‌افزار می‌توانند در مستند‌سازی طراحی انجام شده نیز كمك كنند تا تصویری كه در ذهنمان راجع به یك سیستم و یا زیر سیستم داریم در قالب مناسب بیان كنیم. افرادی كه می‌خواهند الگوهای ما را گسترش دهند یا پیاده‌سازی نمایند با مطالعه‌ی الگوها دقیقا از دیدگاه ما نسبت به سیستم و مسأله آگاه می‌شوند.
علاوه بر این الگوهای طراحی پاسخ‌گویی به انواع نیازمندی‌های وظیفه‌مندی و غیر وظیفه‌مندی را میسر می‌سازند و به این ترتیب به یك طراحی خوب كمك می‌كنند. الگوها علاوه بر ارایه‌ی راهكارهای مناسب برای دست‌یابی به نیازهای وظیفه‌مندی، توان پاسخ به نیازهای غیر وظیفه‌مندی مانند تغییر‌پذیری، آزمون‌پذیری و قابلیت نگهداری را نیز دارا هستند.
لازم است توجه شود كه الگو‌های طراحی به حل مسأله كمك می‌كنند و لی راه‌حل كامل آنرا در اختیار ما نمی‌گذارند، از این جهت شبیه‌ الگوهای لباس هستند كه شكل كلی از طراح را در اختیار ما می‌گذارند ولی برای استفاده مناسب از هر الگو لازم است طراحی با نوآوری و خلاقیت خود آن را در زمینه‌ی مورد نیاز خود بدوزد.
بحث الگوها در مهندسی اولین بار در معماری ساختمانی مطرح شد، لكن اولین كسی كه از الگوها برای تولید نرم‌افزار كمك گرفت فردی به نام اریك گاما است كه در سال 1991 در تز دكترای خود به بحث و بررسی الگوها پرداخت. گاما به همراه سه نفر دیگر گروه GoF را تشكیل دادند و در كتابی الگوهای خود را توصیف كردند. این كتاب با استقبال عمومی مواجه شد و از آن پس الگوهای طراحی GoF شهرت بسیاری پیدا كرده، در گستره‌های مختلف علم مهندسی نرم‌افزار به كار گرفته شدند.
كارایی و مقبولیت الگوهای طراحی (GoF Design Pattern) GoF به حدی رسیده است كه امروزه ابزارهای حرفه‌ای CASE بطور مستقیم از آنها پشتیبانی می‌كنند و امكان اعمال الگوهای طراحی GoF را فراهم می‌كنند. از جمله این ابزارها می‌توان از Rational XDE ،Rational Rose و Borland Together نام برد.
الگوهای پایه GoF از لحاظ هدف به سه دسته تقسیم شده‌اند ...
  موارد جدید در RUP 7
پس از نسخه‌ای از RUP كه در سال 2003 (همراه با Rational Suite) عرضه شد، تا مدت نسبتا زیادی (در حدود 3 سال) Rational نسخه جدیدی از RUP ارائه نكرده بود. البته در طی این مدت Plugin هایی برای RUP (از جانب Rational یا سایر شركت‌ها) عرضه شده بود كه عمدتا برای سفارشی سازی RUP برای یك حوزه خاص بودند. سرانجام نسخه مهم بعدی RUP به نام RUP 7 توسط Rational عرضه شد.
تغییرات عمده RUP 7 نسبت به RUP 2003.06 شامل موارد زیر می‌شود ...
  UML 2.0
شايد براي شما هم اين سؤال پيش آمده باشد كه چه تغيير مهمي در UML رخ داده است كه پس از UML 1.5، UML 2.0 عرضه شد؟ آيا اضافه شدن دياگرام‌هاي جديد (مثل Timing Diagram) يا بهبود دياگرام‌هاي موجود (مانند افزودن امكانات بيشتر به Sequence Diagram ) موجب اين ارتقاء قابل توجه شده است؟ حقيقت اين است كه آنچه كه موجب اين ارتقاء‌ نسخه قابل توجه از 1 به 2 شده است، فراتر از اين جزئيات است ...

Sayyed Mostafa Hosseyni
RUP Process Engineer & Software Architect
Phone : 0912 275 37 87
E-Mail : smhoseyni@gmail.com
www.smhoseyni.com
Creative Commons License