یه پروژه توی این مدل، فازهای زیر رو طی می کنه:
1) فاز نیازمندی ها:
در این مرحله، مثل مدل قبل مشتری با کمک اعضای تیم پروژه، نسازهای مورد نظرشون رو کارشناسی می کنن. در پایان این فاز یک سند حاوی نیازهای مشخص شده برای پروژه منتشر میشه و همچنین مقدار کار لازم برای پروژه نیز تخمین زده میشه.
2) فاز طراحی کلی برنامه:
در این قسمت اعضای پروژه، نیاز های پروژه رو به قسمتهای مختلفی تقسیم می کنن، تعیین می کنن که چه طوری این قسمتهای مختلف می تونن با هم رابطه داشته باشن و مجددا مشخص می کنن که انجام هر قسمت چه مقدار کار لازم داره. بعد از اتمام این قسمت قبل از اینکه تیم بخواد قسمت بعدی رو شروع کنه، یه سند حاوی اطلاعات مربوط به طراحی کلی پروژه و کارها و فعالیتهایی که در این قسمت انجام گرفته تایید و منتشر میشه.
3) فاز طراحی جزئیات برنامه:
در این فاز جزئیات و نحوه ی پیاده سازی هر کدوم از قسمتهایی که در فاز قبلی تعیین شدن مشخص می شه و مثل قبل، یه سند منتشر میشه که توی اون دقیقا مشخص شده پروژه چه طور باید پیاده سازی بشه.
4) پیاده سازی:
خوب، این فاز هم مشخصه. در این بخش بر اساس مستندات فاز قبلی پروژه پیاده سازی میشه.
5) فاز تست جز به جز برنامه:
توی این فاز، قسمتهای مختلف برنامه به صورت مجزا تست میشن تا مشخص بشه که هر کدوم از اونها به تنهایی درست کار می کنن یا نه. توی این فاز در حقیقت مشخص میشه که آیا ما به خواسته هایی که توی فاز 3 مشخص شده بود رسیدیم یا نه؟ برای اتمام این فاز باید تمام قسمتهای برنامه با موفقیت از تست خارج بشن
6) فاز تست کلی برنامه:
توی این فاز هم همه ی قسمتهای برنامه در کنار هم قرار می گیرن و به صورت کلی و مجتمع تست می شن. یعنی توی این قسمت بررسی میشه که آیا مواردی که توی طراحی در فاز 2 مشخص شده بود بدست آمده اند یا نه؟
7) فاز تست نرم افزار در سیستم مورد نظر:
توی این فاز نرم افزار رو تست می کنیم تا ببینیم آیا محصول نهایی، نیازهایی که در فاز 1 توسط مشتری خواسته شده بود را برآورده می کنه یا نه؟ اگر نرم افزار از این تست هم موفق بیرون بیاد می تونیم اون رو توزیع کنیم.
دیدید که روند کار توی این مدل تقریبا مشابه روند کار توی مدل waterfall هست. یعنی این مدل از مدل Waterfall مشتق شده.