مهندسی نرم‌افزار – فرآیند های نرم افزار – ۳ (مدل ادغام و پیکربندی)

فرآیند ادغام و پیکربندی

با سلام، به قسمت پنجم از مباحث مهندسی نرم افزار از کتاب سامرپیل رسیدیم 🙂 تا اینجای کار موارد زیر رو بررسی کرده بودیم، در ادامه به روش ادغام و پیکربندی پرداخته می شود.

 ادغام و پیکربندی:

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

این استفاده مجدد غیر رسمی بدون در نظر گرفتن فرآیند توسعه ای که مورد استفاده است، صورت می گیرد. با این حال، از سال ۲۰۰۰ فرآیندهای توسعه نرم افزاری که تمرکز بر استفاده مجدد نرم افزار های موجود دارند، به صورت گسترده در حال افزایش و استفاده هستند. رویکرد های مبتنی بر استفاده مجدد (Reuse-oriented) بر پایه اجزای قابل استفاده مجدد نرم افزار و چارچوب ادغام برای ترکیب این اجزا هستند.

سه نوع کامپوننت (اجزا) نرم افزاری بارها مورد استفاده مجدد قرار می گیرد:

  1. سیستم های کاربردی مستقل (Stand-alone application systems) که برای استفاده در محیط خاصی پیکربندی شده اند. این سیستم ها سیستم های با هدف-کلی هستند که ویژگی های زیادی دارند، اما باید برای استفاده در اپلیکیشن خاص، تطبیق داده شوند.
  2. مجموعه ای از اشیا که به عنوان کامپوننت یا پکیج توسعه داده شده اند تا با چارچوب کاموپننتی مانند Java Spring ادغام شوند.
  3. وب سرویس ها که مطابق با استانداراد سرویس توسعه داده شده اند و برای فراخوانی از راه دور از طریق اینترنت در دسترس هستند.

تصویر ۲.۳ مدل فرآیند رایج برای توسعه مبتنی بر استفاده-مجدد را مبتنی بر ادغام و پیکربندی نشان می دهد. مراحل در فرآیند عبارتند از :

  1. مشخصات الزامات، الزامات اولیه برای سیستم تا ارائه شود. اینها نیازی به تشریح جزییات ندارند، اما باید شامل توضیحی مختصر از الزامات ضروری و ویژگی های مطلوب سیستم باشند.
  2. کشف و ارزشیابی نرم افزار: طرح کلی از الزامات نرم افزار را می دهد، برای کامپوننت ها (مولفه ها) و سیستم هایی که عملکر مورد نظر را ارائه می دهند، جستجو انجام می شود. سیستم ها و مولفه های کاندید ارزیابی می شوند تا بررسی شود آیا می توانند الزامات اساسی را برطرف کنند و آیا انها برای استفاده در سیستم مناسب هستند
  3. پالایش الزامات در این مرحله انجام می شود. الزامات با استفاده از اطلاعات در مورد مولفه های قابل استفاده مجدد و اپلیکیشن های کشف شده، پالایش می شوند. الزامات برای منعکس کردن مولفه های موجود، اصلاح می شوند و خصوصیات سیستم مجدد تعریف می شود. درجایی که تغییرات غیر ممکن باشد،فعالیت تجزیه و تحلیل مولفه ممکن است برای جستجوی راه حل های جایگزین مجدد ارسال شود.
  4. 4.     پیکربندی سیستم اپلیکیشن، اگر یک سیستم نرم افزاری تولید انبوه شده (an off-the-shelf) که پاسخگوی الزامات موجود است، در دسترس باشد، ممکن است برای استفاده جهت ساخت سیستم جدید پیکر بندی شود.
  5. سازگاری و یکپارچه سازی مولفه ها، اگر سیستم تولید انبوه شده وجود نداشته باشد، ممکن است مولفه های قابل استفاده مجدد منحصر بفردی تغییر یافته و مولفه های جدید توسعه داده شوند. اینها سپس برای ساخت سیستم جدید یکپارچه می شوند.
روش ادغام و پیکربندی
تصویر ۲-۳ : مدل فرآیند ادغام و پیکربندی

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

استفاده مجدد از نرم افزار، بسیار مهم می باشد و در ادامه به آن زیاد خواهیم پرداخت.


ابزارهای توسعه نرم افزار

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

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

ابزارها ممکن است با یک چارچوبی که «محیط توسعه تعاملی» (IDE) نامیده می شود، ترکیب شوند.