مدلهای فرایند (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)

۴- انتقال (Transition)

 توضیح فاز های 3 و 4 را در پست بعدی ارائه خواهم کرد.