Predmet obezbeđuje osnovna znanja o svim aspektima, oblastima i tehnikama softverskog inženjerstva. Cilj predmeta je da studenti razumeju i ovladaju metodima i tehnikama razvoja profesionalnog softvera i da se osposobe za timski i samostalan rad pri izradi softverskog proizvoda. Na predmetu se izilaže proces razvoja softvera, kako onaj koji vođen planom, tako i onaj koji primenjuje agilne principe razvoja softvera. Izlažu se metodi prikupljanja i formulisanja zahteva koje softverski sistem treba da zadovolji, kao i izučavanje UML modelovanja softverskih sistema, kao načina grafičkog predstavljanja softvera. Predmet izučava metode postavljanja arhitekture softverskog sistema, kao i metode projektovanje softvera, pri čemu se koriste tzv. šabloni projektovanja. Posle faze implementacije softvera, kroz praktične primere i zadatke, studenti se upoznaju sa metodama testiranja softvera, kao i sa fazom evolucije softvera, kada se vrši održavanje i unapređenje softvera tokom njegovog životnog veka. Na kraju, izučavaju se metode agilnog razvoja softvera , kao i metodologija upravljanja projektima razvoja softvera. |