دوره های آموزشی آکادمی پی وی لرن (پروژه محور و ویژه بازار کار)



  • ۱۷
  • دی

جلسه ۰۲-۰۲ : چرخه حیات توسعه نرم افزار در مهندسی نرم افزار

  • دسته‌بندی‌ها :
جلسه ۰۲-۰۲ : چرخه حیات توسعه نرم افزار در مهندسی نرم افزار
    • جزئیات
    • نوع محتواآموزشی

      مقدمه

      عرض سلام خدمت همراهان گرامی وب سایت آموزشی پی وی لرن. با موضوع آموزش مهندسی نرم افزار (Software Engineering) در خدمتتون خواهیم بود. چرخه حیات توسعه نرم افزار یا SDLC رو با چند الگوی توسعه نرم افزار یا مدل های فرآیند از جمله مدل مارپیچی یا Spiral در مهندسی نرم افزار ، مدل – V ، مدل آبشار (Waterfall Model) در مهندسی نرم افزار و … مورد بررسی قرا می دهیم. با ادامه ی آموزش همراه باشید.

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

      پارادایم های توسعه نرم افزار (Software Development Paradigm)

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

      در ابتدا مدل آبشار (Waterfall Model) در مهندسی نرم افزار رو بررسی می کنیم.

      مدل آبشار (Waterfall Model) در مهندسی نرم افزار

      مدل Waterfall ساده ترین مدل پارادایم توسعه نرم افزار است. این مدل می گوید که تمام مراحل SDLC یکی پس از دیگری به صورت خطی عمل می کنند. یعنی وقتی مرحله اول تمام شد ، فقط مرحله دوم شروع می شود و غیره.

       

      پارادایم توسعه نرم افزار - مدل آبشار (Waterfall Model) در مهندسی نرم افزار

      پارادایم توسعه نرم افزار – مدل آبشار (Waterfall Model) در مهندسی نرم افزار

      در مدل آبشار (Waterfall Model) در مهندسی نرم افزار ، فرض می شود که همه چیز کاملاً مطابق آن چه که در مرحله قبل برنامه ریزی شده است انجام می شود و نیازی به تفکر درباره موضوعات گذشته، که ممکن است در مرحله بعدی به وجود بیایند، نیست . اگر برخی از مسائل در مرحله قبل باقیمانده باشد ، این مدل کار نمی کند. ماهیت پی در پی مدل اجازه نمی دهد که ما به عقب برگردیم و اقدامات خود را خنثی کنیم یا دوباره از بین ببریم.

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

      مدل تکراری (Iterative)

      این مدل فرآیند توسعه نرم افزار را در تکراری هدایت می کند. Iterative فرایند توسعه را به روش چرخه ای تکرار می کند و هر مرحله پس از هر چرخه فرآیند SDLC را تکرار می کند.

       

      پارادایم های توسعه نرم افزار - مدل تکراری (Iterative) در مهندسی نرم افزار

      پارادایم های توسعه نرم افزار – مدل تکراری (Iterative) در مهندسی نرم افزار

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

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

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

      در ادامه با مدل مارپیچی یا Spiral در مهندسی نرم افزار آشنا خواهیم شد.

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

      مدل مارپیچی یا Spiral در مهندسی نرم افزار ترکیبی از هر دو مدل تکرار پذیر و یکی از مدل های SDLC است. به نظر می رسد که یک مدل SDLC را انتخاب کرده و آن را با فرآیند چرخه ای (مدل تکرار پذیر ) ترکیب کرده است.

       

      مدل مارپیچی یا Spiral در مهندسی نرم افزار - پارادایم های توسعه نرم افزار

      مدل مارپیچی یا Spiral در مهندسی نرم افزار – پارادایم های توسعه نرم افزار

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

      با مدل مارپیچی یا Spiral در مهندسی نرم افزار آشنا شدیم و حالا مدل – V رو بررسی می کنیم.

      مدل – V

      اشکال اصلی مدل آبشار این است که فقط ما می توانیم در صورتی به مرحله ی بعدی برویم که مرحله ی قبلی به پایان رسیده باشد و اگر در مراحل بعد اشتباه و خطایی پیدا شود دیگر فرصتی برای بازگشت وجود ندارد. V-Model چاره ی تست نرم افزار در هر مرحله را به روش معکوس (reverse) فراهم می کند.

       

      مدل - V - پارادایم های توسعه نرم افزار

      مدل – V – پارادایم های توسعه نرم افزار

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

      این امر باعث می شود كه هم تأیید و هم اعتبار به موازات آن انجام شود. این مدل همچنین به عنوان مدل تأیید و اعتبار سنجی (verification و validation) نیز شناخته می شود.

      مدل بیگ بنگ (Big Bang)

      این مدل ساده ترین مدل در فرم خود است. به برنامه ریزی کم ، برنامه نویسی و بودجه زیادی نیاز دارد. این مدل از مفهوم انفجار بزرگ جهان (big bang) نشات گرفته است. دانشمندان می گویند که پس از انفجار بزرگ (big bang) کهکشان ها ، سیارات و ستارگان دقیقاً به عنوان یک رویداد، تکامل یافته اند. به همین ترتیب ، اگر برنامه نویسی و بودجه زیادی را در کنار هم قرار دهیم ، ممکن است به بهترین محصول نرم افزاری منتهی شود.

       

      مدل بیگ بنگ (Big Bang) - پارادایم های توسعه نرم افزار

      مدل بیگ بنگ (Big Bang) – پارادایم های توسعه نرم افزار

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

      این مدل برای پروژه های بزرگ نرم افزاری مناسب نیست اما برای یادگیری و تست مناسب است.

      کلام پایانی

      مدل آبشار (Waterfall Model) در مهندسی نرم افزار ، مدل بیگ بنگ (Big Bang) ، مدل – V و مدل مارپیچ (Spiral) رو به همراه مدل تکراری (Iterative) در این بخش از آموزش مهندسی نرم افزار مورد بررسی قرار دادیم. ان شا ا… در بخش بعدی مدیریت پروژه نرم افزار در مهندسی نرم افزار رو از وب سایت آموزشی پی وی لرن دنبال خواهیم کرد. با ما همراه باشید.

      QR:  جلسه ۰۲-۰۲ : چرخه حیات توسعه نرم افزار در مهندسی نرم افزار
      به اشتراک بگذارید