مهندسی نرمافزار عبارت است از «کاربرد یک رهیافت قابل اندازهگیری، منظم و سیستماتیک برای توسعه، اجرا و نگهداری نرمافزار، یا به طور خلاصه اعمال اصول مهندسی بر نرمافزار».مهندسی نرمافزار با مقداری تغییر جهت در رویکرد و رهیافت، از مباحث سختافزاری و معماری دیجیتال عبور میکند و روی موضوع مهم «تولید انبوه نرمافزار» تمرکز میکند.