مهندسی نرمافزار علمی است که با استفاده از قابلیت های رایانه ای و دیگر فناوریها و روشها به طراحی و تولید نرم افزارهای کاربردی رایانهای میپردازد.
از اصول برتر مهندسی نرمافزار، تولید نرمافزاری کارآمد در سه محدوده زیر است:
- الزامات تعیین شده
- در زمان تعیین شده
- در محدوده بودجه پیشبینی شده
مهندسی نرمافزار در حقیقت تحلیل، طراحی، برنامه نویسی، مستند سازی و پشتیبانی نرم افزار با بکارگیری متدها و یا شیوه های تخصصی و اجرایی فنون رایانه، مدیریت پروژه، مهندسی، محدوده کاربردی، مدیریت سـخت افزارهای دیجـیتالی و سایر زمینهها است.
کاربردهـای مهندسـی نرمافزار دارای ارزشهای اجتماعی و اقتصادی بسیاری است، زیرا بـهره وری مـردم را از منـابع افزایـش می دهد، سرعت انجام فعالیـت ها را بالا می برد و زندگی را آسان و بهتر میکند. با بهره گـیری از فنـاوری های نرم افزاری ، تـوانـایی انجام اموری را خواهیم داشت که پیش از آن برایمان نشدنی و یا بسیار سخت و زمانبر بود.
نمونههایی از این نوع نرمافزارها عبارتاند از: سامانه ها، نرم افزارهای اداری، وب سایتهای اینترنتی
و یا حتی بازی های رایانه ای.