تعریف مهندسی نرم افزار

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

اصطلاح مهندسی نرم افزار بعد از سال ۱۹۶۸ شناخته شد، طی کنفرانس مهندسی نرم افزار ناتو ۱۹۶۸ (که در گارمیش آلمان برگزار شد) توسط ریاست کنفرانس F.L.Bauer معرفی شد، و از آن پس بطور گسترده مورد استفاده قرار گرفت.

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