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