تاریخچه ی علم مهندسی نرم افزار:

دوره ی اول(1955_1945):در این نسل به علت اینکه هنوز استفاده از نرم افزار رایج نشده بود هنوز علمی به نام مهندسی نرم افزار نیامده بود،برنامه ها عمومأ توسط یک نفر یا یک تیم کوچک نوشته و پشتیبانی میشد.

دوره ی دوم(1965_1955):در این نسل مفهومشبکه های کامپیوتری گسترش یافت واستفاده از نرم افزار رایج تر شد.مفهوم نگهداری در این نسل مطرح شد:

نگهداری نرم افزار یعنی اینکه: 1.رفع خطا در صورت بروز آن  2.اعمال خواسته های کاربر در صورت تغییر  3.انطباق با سخت افزارهای جدید

تعریف نرم افزار:

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

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

مراحل تولید یک نرم افزار:

1.کسب حقایق

الف.تجزیه وتحلیل اطلاعات

ب. مدل سازی یا طراحی(فلوچارت)

2.ساخت مدل

الف. کد نویسی نرم افزار

ب. تست نرم افزار

3.ارائه مدل به مجری

الف. نگهداری اطلاعات

مهندسی نرم‌افزار

مهندسی نرم‌افزار پیشه‌ای است که به یاری دانش رایانه و دیگر فناوری‌ها و روش‌ها به آفریدن و نگاهداری نرم‌افزار رایانه‌ای می‌پردازد.

مسائل اصلی مهندسی نرم‌افزار تولید نرم‌افزار بر اساس موارد زیر است:

  • الزام های تعیین شده
  • در زمان تعیین شده
  • در محدودهٔ بودجه پیش‌بینی شده

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

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

فناوری‌ها و خدمات مهندسی نرم‌افزار به کاربران برای بهبود بهره‌وری و کیفیت یاری میرساند. نمونه‌هایی از زمینه‌های بهبود: پایگاه داده‌ها، زبان‌ها، کتابخانه‌ها، الگوها، فرآیندها و ابزا