مدل مارپیچ در مهندسی نرم افزار (Spiral)

مدل حلزونی یا مارپیچ (Spiral) توسط بری بوهم (Barry Boehm) در سال 1986 خلق شد. این مدل یکی از قدیمی ترین مدل های توسعه نرم افزار است که از رویه ای چرخشی (iterative) در توسعه نرم افزار استفاده می کند. طرح اصلی این مدل این است که با توسعه نرم افزار به شیوه چرخشی، می توان ریسک ها را شناسایی کرد و راحت تر آن ها را مدیریت کرد. اگر بخواهیم این مدل را روی خطی صاف بکشیم، به تعدادی مرحله می رسیم که به صورت آبشاری تکرار می شوند. هر یک از این آبشارها شامل چهار مرحله است: برنامه ریزی، تحلیل ریسک، مهندسی و ارزیابی.

نمایش مدل حلزونی به صورت خطی
نمایش مدل حلزونی به صورت خطی


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

مدل چرخه زندگی حلزونی
مدل چرخه زندگی حلزونی


مرحله اول این مدل، برنامه ریزی می باشد. این فاز شامل تشخیص نیازمندی ها، تحلیل و بررسی، شناسایی ذی نفعان و اهداف چرخه های سیستم در حال ساخت، می باشد. همچنین، با تعیین شرایط برد-برد، حدود موفقیت تیم مشخص شود و تست پذیرش تعیین می شود.

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

مرحله سوم، مهندسی سیستم انجام می شود که شامل طراحی دقیق، توسعه، انجام تست واحد و تست پذیرش و استقرار نرم افزار (deployment) می باشد. در چرخه های اولیه، ممکن است فقط طراحی سیستم انجام پذیرد و در چرخه های بعدی وارد بخش توسعه و توزیع راه حل مناسب برای سیستم خود شوید.

در مرحله ارزیابی، ذی نفعان برای بررسی کار، ارائه بازخورد و برنامه ریزی چرخه بعدی حاضر می شوند. در چرخه آبشاری اول، می توانید فقط نمونه اولیه تولید کنید تا در سریع ترین زمان، بازخورد مناسب دریافت کنید. چرخه دوم، بر روی هر آنچه در چرخه قبل ساخته شده، پیاده می شود و در این چرخه کاندیدای نشر (release candidate) ارائه می شود و در چرخه سوم، راه اندازی (launch) اتفاق می افتد.

مراحل توسعه در مدل حلزونی
مراحل توسعه در مدل حلزونی


در این نمودارها، محور افقی نشان دهنده میزان کاری است که بررسی و تأیید شده است و محور عمودی، نشان دهنده ی مجموع هزینه های محصول در حال ساخت، می باشد. همان طور که مشخص است، ابعاد شکل حلزونی متناسب با زمان افزایش می یابد.

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


منبع: SDLC