چرخه حیات توسعه نرم افزار (System Development Lifecycle)
زمان مطالعه 2 دقیقه
۲۹ مهر ۱۴۰۰
نویسنده پایدار سامانه
تعداد کامنت 0

چرخه حیات توسعه نرم افزار یا SDLC

بدیهی است که مراحل توسعه هر پروژه، از جمله توسعه نرم افزار، باید از استراتژی خاصی پیروی کند که به موجب آن پروژه تا انتها مدیریت می شود و این استراتژی یا چرخه حیات پروژه (Project Life Cycle) چیزی است که ما در مهندسی نرم افزار آن را چرخه عمر نرم افزار یا چرخه حیات توسعه نرم افزار می نامیم.

چرخه حیات توسعه نرم افزار چیست؟

چرخه حیات توسعه نرم افزار به انگلیسی System Development Lifecycle می باشد که اغلب بصورت مخفف SDLC از آن یاد می شود و مورد استفاده قرار می گیرد. SDLC همان چرخه عمر نرم افزار است.

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

چندین مدل متداول به عنوان چرخه زندگی برای هر نرم افزار وجود دارد، که به شرح زیر است:

  • مدل آبشاری (Waterfall)
  • مدل مارپیچی (Spiral)
  • مدل برنامه نویسی افراطی (extreme)
  • رویکرد تکراری (Iterative)

البته از آنجایی که انتخاب بین مدلهای SDLC یا System Development Lifecycle به معنای انتخاب یک بیزینس پلن کسب و کار و رشد برای پروژه شما است، اطمینان از موفقیت پروژه و تحویل به موقع آن یک انتخاب بسیار مهم است. در این مقاله، من به دو مورد اول از این مدل ها می پردازم.، و بقیه را در مقاله بعدی بیان خواهم کرد.

مدل آبشاری (Waterfall model)

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

روش آبشاری (Waterfall) از چرخه عمر توسعه نرم افزار
روش آبشاری (Waterfall) از چرخه عمر توسعه نرم افزار

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

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

این برای پروژه های بزرگ که نیاز به زمان زیادی برای یافتن همه نیازمندی ها دارند، مناسب نیست، به این معنی که این مدل یا نرم افزاریی تولید می کند که همه الزامات و نیازمندی ها را شامل نمی شود یا نمی تواند آن را به موقع تولید کند.

اما این مدل با سهولت مدیریت می شود و برای توسعه برنامه های کوچک با الزامات ثابت و روشن روش بسیار مناسبی است.

مدل مارپیچی (Spiral model)

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

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

مدل حلزونی (Spiral) از فرآیند توسعه نرم ‌افزار
مدل حلزونی (Spiral) از فرآیند توسعه نرم ‌افزار

چندین مزیت در این مدل از چرخه عمر توسعه نرم‌افزار وجود دارد، از جمله:

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

اشتراک گذاری در شبکه های اجتماعی

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *