Programų inžinerija yra mokslas tiriantis programų sistemas, taikant sisteminius ir kiekybiškai įvertinamus metodus programų sistemų kūrimui, valdymui ir priežiūrai taip pat apimantis ir pačių metodų kūrimą, t.y. inžinerijos principų taikymą programų sistemoms. Programų sistemų inžinerija apima tokias modernias technologijas kaip objektinis programavimas, CASE įrankiai, UML kalba, projektavimo šablonai, programų sistemų kūrimo gyvavimo ciklai, dokumentavimas, standartai ir pan. Pagrindinės programų sistemų inžinerijos sritys yra: programų sistemų reikalavimų inžinerija, programų sistemų projektavimas, programų sistemų kūrimas, programų sistemų testavimas, programų sistemų priežiūra, programų sistemų valdymas, programų sistemų kokybės valdymas, programų sistemų kūrimo procesas.