Softwarové inženýrství je činnost zahrnující inženýrství, informatiku a management, jejímž cílem je návrh, tvorba a údržba počítačových programů. Vývoj softwarového systému a vývoj aplikací zahrnuje celou řadu faktorů nutných k úspěšnému vytvoření požadovaného produktu jako jsou technické aspekty zahrnující počítačovou infrastrukturu, netechnické aspekty jako organizační struktura organizace vyvíjející daný produkt a její ekonomické možnosti, řízení projektu spjaté s vývojem samotného produktu, znalostmi z oblasti specifikace požadavků na softwarový produkt, jeho analýzy, návrhu, implementace, testování a na konec také instalace u zákazníka.
Vývoj software a programování aplikací využívá v dnešní době nejmodernější technologie a programovací jazyky, frameworky, komponenty, třívrstvou architekturu, návrhové vzory a další technologie. Vývoj softwaru již dávno není o bušení kódu, kvalitní objektové aplikace vyžadují architekturu, znalost návrhových vzorů a testování.
Životního cyklus vývoje softwaru a aplikací je rozdělen na čtyři základní fáze, kterými jsou specifikace požadavků a jejich analýza, návrh softwarového systému, implementace (kódování, vývoj) a na konec testování a udržování vytvořeného produktu.