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