وبلاگ شخصی علیرضا اسحاقی

تجربیات و یادداشت های شخصی - برداشت از مطالب با ذکر منبع بلامانع است.

وبلاگ شخصی علیرضا اسحاقی

تجربیات و یادداشت های شخصی - برداشت از مطالب با ذکر منبع بلامانع است.

تحلیل سیستم شی گرا با استفاده از UML

مدلهای فرایند (Process Models) که عبارتی اختصاری برای مدلهای فرایند توسعه نرم افزار (Software Development Process) می باشد، دستور کارهایی هستند که به سازندگان نرم افزارها می گویند تولید نرم افزار را از کجا شروع کنند، چگونه ادامه دهند، و به کجا ختم کنند. تا کنون مدلهای گوناگونی بدین منظور ارئه شده است. که برخی از آنها عبارتند از: مدل آبشاری (Waterfall)، مدل توسعه سریع (Rapid Application Development)، مدل توسعه همروند (Concurrent Development)، مدل توسعه مبتنی بر مولفه (Component-based Development) و غیره. در این میان دسته ای از مدلها با عنوان مدلهای تکراری-افزایشی (Iterative/Incremental) شناخته می شوند، که عموماً ملهم از مدل معروف مارپیــچی (Spiral) می باشند. در حال حاضر معروف ترین مدل تکراری-افزایشی RUP می باشد. اما اساس مدلهای تکراری/افزایشی چیست؟

عموماً چارچوب تکراری/افزایشی از چهار فاز زیر تشکیل شده است:

۱- آغاز (Inceprion)

در این فاز معمولاً به تعیین محدوده پروژه و تعریف یک مستند دورنما (Vision) پرداخته می شود. برای پروژه های کوچک و ساده ممکن است این فاز خیلی کوتاه و در حد یک گفتگوی ساده و مجموعه ای از توافقات باشد، اما برای پروژه های بزرگ تر و پیچیده تر ممکن است ماهها و حتی سالها به این فاز پرداخته شود. خروجی های این فاز ممکن است شامل موارد زیر باشد:

  • یک سند دورنما (Vision)
  • یک شناخت اولیه از نیازمندی های مشتری (Customer Requirements)
  • یک فهرست لغات اولیه (Glossary)
  • یک مورد کسب و کار (Business Case) (شامل معیارهای موفقیت و یک پیش بینی مالی و تخمینی از بازگشت سرمایه)
  • یک ارزیابی اولیه از ریسک ها
  • یک طرح پروژه (Project plan)

۲- تشریح (Elaboration)

هدف این فاز تحلیل مساله، توسعه بیشتر طرح پروژه، و حذف مناطق مخاطره آمیز (high risk) پروژه می باشد. یک نکته مهمی که باید در فاز تشریح در نظر گرفته شود این است که اگر چه ما بدنبال کشف جزئیات هستیم، اما این جزئیات مربوط به صورت مساله (problem) (یعنی تحلیل) می باشند، و نه مربوط به پاسخ مساله (Solution) (جزئیات مربوط به طراحی و پیاده سازی). اصطلاحی که در این مورد بکار برده می شود این است که باید بدنبال بدست آوردن a mile wide and inch deep view بود.

مهمترین خروجی های این فاز عبارتند از:

  • مدل مورد کاربردی (use case model)
  • مدل مفهومی (conceptual model) با استفاده از نمودار کلاس (class diagram)  

۳- ساخت (construction)

در این فاز محصول ساخته می شود. روش ساخت در این فاز از ترکیب دو مدل آبشاری و مارپیچی بوجود می آید. یعنی با استفاده از تعدادی تکرار محصول را می سازیم، که هر تکرار چیزی شبیه یک چرخه حیات کلاسیک یعنی آبشاری می باشد. تلاش ما بر این است که با هر چه کوتاه تر در نظر گرفتن مدت زمان تکرارها، از پیچیدگی مساله و سایر مشکلات موجود در روش آبشاری پرهیز کنیم.

در شکل زیر یک فرایند خصوصی سازی شده برای یک پروژه ساده ملاحظه می شود.

همانطور که در شکل فوق ملاظه می کنید، فاز ساخت از چند تکرار تشکیل شده است که در هر تکرار مراحل تحلیل، طراحی، کد و تست وجود دارند. در پایان هر تکرار یک نسخه از محصول بدست می آید که نسبت به نسخه قبلی کامل تر شده است. ضمناً در این خصوص سازی فرایند پیشنهاد شده است که در فاز تشریح، مدل مورد کاربردی مختصر، مدل مفهومی (با استفاده از کلاس دیاگرام)، و تعدادی پروتوتایپ (که بعداً توضیح خواهیم داد این پروتوتایپ ها به چه درد می خورند) بعنوان فراورده (Artifact)های این فاز تولید شوند.  در فاز ساخت، در بخش تحلیل هر تکرار یک مدل مورد کاربردی کامل ارائه می شود و همچنین سایر مدل هایی که در هر بخش پیشنهاد شده است، در شکل دیده می شود.

۴- انتقال (Transition)

آخرین فاز به انتقال محصول در میان مشتریان خواهد پرداخت. فعالیت های رایج در این فاز عبارتند از:

  • ارائه ی نسخه بتا برای تست محصول توسط کاربران
  • تست کارخانه (Factory testing)، یا اجرای موازی محصول تولید شده در کنار سیستمی که قرار است این محصول جایگزین آن شود
  • تبدیل داده های موجود در پایگته داده های موجود، وارد کردن آنها به پایگاه داده های جدید و غیره
  • آموزش کاربران جدید
  • بازاریابی، توزیع و فروش

 منبع: Ariadne training; UML Applied

نظرات 0 + ارسال نظر
برای نمایش آواتار خود در این وبلاگ در سایت Gravatar.com ثبت نام کنید. (راهنما)
ایمیل شما بعد از ثبت نمایش داده نخواهد شد