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

چرخه‌ی تولیدِ یک محصول (فرآورده) نرم‌افزاری به چهار بازه‌ی زمانی به نامِ «فاز» تقسیم می‌شود: فازِ استارتاپ، فازِ معماری، فازِ ساخت، و فازِ انتقال. این چرخه با انتشارِ یک فراورده‌ی نرم‌افزاریِ کامل پایان می‌پذیرد.

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

  1. مرحله‌ی مهندسی، شامل فازهای استارتاپ (آغاز) و معماری
  2. مرحله‌ی فرآوری، شامل فازهای ساخت و انتقال

پوستر چارچوب فرایند توسعه‌ی نرم‌افزار

برخی تصوّراتِ اشتباه

باوجودی‌که چهار فاز فرایند توسعه‌ی نرم‌افزار (استارتاپ، معماری، ساخت، و انتقال) به صورت متوالی و پشت سرِ هم اجرا می‌شوند، نباید تصور کرد که این چرخه همان رویکرد سنتی آبشاری است. چارچوب فرایند توسعه‌ی نرم‌افزار اساساً رویکردی است تکرارشونده (iterative) و مبتنی بر ریسک (risk-driven).

درست است که در هفته‌ها یا ماه‌های اوّلِ یک پروژه، تأکید بیشتری بر شناخت نیازمندی‌ها داریم و در طی هفته‌ها یا ماه‌های آخر، تست و رفع نواقص در اولویت قرار می‌گیرد، اما این موضوع منطقاً به دلیل ماهیت نیازها و ریسک‌های موجود در یک پروژه می‌باشد. مهمترین ریسک در شروع یک پروژه، درک و شناخت اَبعاد و ماهیّت مسأله و راه‌حل یا راه‌حل‌های ممکن می‌باشد. قسمت عمده‌ای از این شناخت و درک از طریق تمرکز بر نیازمندی‌ها بدست می‌آید اّما ممکن است بنا به شرایط مسأله، حصول اطمینان از درک کامل ماهیّت مسأله و راه‌کارهای مطلوبِ آن و نیز اثباتِ به‌صرفه‌بودن انجام آن، مستلزم انجام فعالیت‌های متنوع دیگری نیز باشد و لذا در فاز استارتاپ ممکن است هر یک از فعالیت‌های مختلف تولید نرم‌افزار، اَعَم از تحلیل و طراحی، پیاده‌سازی، تست، و حتی استقرار انجام شود.

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

پس از اینکه معماری تثبیت شد و کارایی آن به اثبات رسید، نوبت به ساخت و بنا نمودنِ سیستم است. همانگونه که در ساخت یک ساختمان به‌طور معمول فعالیت‌های بنّایی حجم زیادی از مرحله‌ی ساخت را به خود اختصاص می‌دهند، مسلماً بیشتر فعالیت‌های ساختِ یک نرم‌افزار نیز به برنامه‌نویسی و تست اختصاص دارد. اما سایر فعالیت‌های لازم برای تکمیل ساخت یک نرم‌افزار مانند تکمیل نیازمندی‌ها، تحلیل، طراحی، و استقرار نیز انجام می‌شود. بنابراین در فاز سوم که کم‌کم به انتهای پروژه نزدیک می‌شویم، حجم فعالیت‌های برنامه‌نویسی و تست بیشتر خواهد شد.

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

پوستر چارچوب فرایند توسعه‌ی نرم‌افزار

 

تماس با ما

در حال ارسال

Log in with your credentials

Forgot your details?