thumb|upright=1.4|Jednym z podstawowych zagadnień inżynierii oprogramowania jest projektowanie systemów informatycznych w UML Inżynieria oprogramowania (, SE) – dyscyplina informatyczna stosująca podejście inżynierskie do tworzenia oprogramowania: od analizy i określenia wymagań, przez projektowanie i wdrożenie, aż do ewolucji gotowego oprogramowania.
Termin inżynieria oprogramowania po raz pierwszy został użyty w przełomie lat 1950/60, ale oficjalnie za narodziny tej dyscypliny podaje się lata 1968 i 1969, w których miały miejsce dwie konferencje sponsorowane przez NATO, odpowiednio w Garmisch i Rzymie.
Wyzwania Do największych wyzwań w dziedzinie inżynierii oprogramowania należą: zapewnienie, zarówno wstecznej, jak i przyszłej; kompatybilności między-systemowej i ciągłości działania (systemy spadkowe) integralność i kooperacja systemów opartych na różnych technologiach (systemy heterogeniczne) minimalizacja czasu produkcji oprogramowania przy jednoczesnej maksymalizacji jego jakości (metodyki produkcji systemów)