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.
Definiše se kao primena 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. 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