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



  • ۱۷
  • دی

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

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

      مقدمه

      عرض سلام خدمت همراهان گرامی وب سایت آموزشی پی وی لرن. با موضوع آموزش مهندسی نرم افزار (Software Engineering) در خدمتتون خواهیم بود. یک چرخه ی حیات توسعه ی نرم افزار باید ترکیبی از روش هایی باشد که به دقت تعریف و تفکیک شده است و توسط مهندسین نرم افزار و توسعه دهندگان به کار گرفته می‌ شو ند تا در نهایت محصول نرم افزاری با کیفیت رابا هزینه ی مناسب تولید و نگه داری کنند. در این بخش از آموزش چرخه حیات توسعه نرم افزار یا SDLC در مهندسی نرم افزار مورد بررسی قرار خواهیم داد.

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

      خب مبحث چرخه حیات توسعه نرم افزار یا SDLC در مهندسی نرم افزار رو آغاز می کنیم.

      Software Development Life Cycle یا SDLC به طور خلاصه ، یک توالی ساختنی و تعریف شده از مراحل در مهندسی نرم افزار برای توسعه محصول نرم افزاری در نظر گرفته شده است.

      فعالیت های SDLC

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

       

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

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

      Communication (ارتباطات)

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

      Requirement Gathering (جمع آوری نیاز)

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

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

      مطالعات امکان سنجی (Feasibility Study)

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

      آنالیز و تحلیل سیستم (System Analysis)

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

      طراحی نرم افزار (Software Design)

      مرحله بعدی ، آوردن دانش کامل در مورد الزامات و آنالیز ها روی میز و طراحی محصول نرم افزاری است. ورودی های کاربران و اطلاعات جمع آوری شده در مرحله جمع آوری نیاز (requirement gathering)، ورودی های این مرحله است. خروجی این مرحله به شکل دو طرح ارائه می شوند؛ طراحی منطقی و طراحی فیزیکی (logical design و physical design). مهندسین متا دیتا و دیتا دیکشنری ، نمودارهای منطقی ، نمودار های جریان داده و در برخی موارد شبه کدها را تولید می کنند.

      کد گذاری (Coding)

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

      تست کردن (Testing)

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

      یکپارچگی (Integration)

      ممکن است نرم افزار نیاز به یکپارچه سازی کتابخانه ها ، پایگاه داده ها و سایر برنامه (برنامه ها) داشته باشد. این مرحله از SDLC به یکپارچه سازی نرم افزار با مسائل دنیای بیرونی نقش دارد.

      پیاده سازی (Implementation)

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

      عملیات و نگه داری (Operation and Maintenance)

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

      وضعیت (Disposition)

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

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

      کلام پایانی

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

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


      دیدگاه کاربران
      1. تصویر کاربر