Softversko inženjerstvo predstavlja dizajn, razvoj, upravljanje i dokumentovanje softvera, primenom tehnologija računarske nauke, tehnika upravljanja projektima, inženjerstva, dizajna i drugih disciplina. Definiše se i kao razvoj, upravljanje i održavanje softvera na sistematičan i kontrolisan način, sa jasno definisanom metodologijom i planovima. Softversko inženjerstvo je vezano i oslanja se na discipline računarske nauke, računarskog inženjerstva, menadžmenta, projektnog menadžmenta, upravljanja kvalitetom, softverske ergonomije i sistemskog inženjerstva.
Predstavlja primenu sistematičnog i disciplinovanog pristupa razvoju, upravljanju i održavanju softvera. Predstavlja inženjersku disciplinu koja se bavi svim aspektima proizvodnje softvera i obuhvata znanje, alate i metode za definisanje softverskih zahteva, softverskog dizajna, konstrukcije softvera, softverskog testiranja i softverskog održavanja.
Sam termin software engineering zaživeo je tokom konferencije o softverskom inženjerstvu održane 1968 godine u Garmishu (Nemačka), od strane predsednika konferencije F.L. Bauera i od tada se upotrebljava.
Softversko inženjerstvo obuhvata oblasti:
- Software Requirements
- Software Design
- Software Construction
- Software Testing
- Software Maintenance
- Software Configuration Management
- Software Engineering Management
- Software Engineering Process
- Software Engineering Tools and Methods
- Software Quality