Cilj i ishod predmeta
Ovladavanje fundamentalnim konceptima i tehnikama projektovanja softverskih sistema u različitim domenima primene. Stečena znanja pružaju dublje razumevanje načina na koji funkcionišu softverski sistemi u različitim domenima. Predmet pruža i potrebna znanja za projektovanje i implementaciju konkretnih softverskih sistema i predstavlja osnovu za eksperimantalni istraživački rad u oblasti računarskih nauka.
Teorijska nastava
Softverske arhitekture. Dizajn softverskih sistema. Matematička osnova specifikacije zasnovane na modelu. Apstrakcija i modularnost. Slaba povezanost i visoka kohezija elemenata softverskog sistema. Funckionalni zahtevi softverskog sistema. Proces kreiranja softverskog sistema. Ocena kvaliteta softverskog sistema. Ograničenja softverskog sistema. Sigurnost softverskog sistema. Životni ciklus softverskog sistema. Softverski sistem sa velikom količinom podataka. Sistemi zasnovani na znanju. Studije slučaja softverskih sistema u različitim domenima: biološki sistemi, finansijski sistemi, obrazovni sistemi, bibliotečki sistemi. Teoretski i formalni aspekti softverskog inženjerstva. Analiza, testiranje i verifikacija softverskih sistema.
Studijski istraživački rad
Deo nastave na predmetu se odvija kroz samostalni studijski istraživački rad koji obuhvata pisanje rada ili implementacije nekog konkretnog rešenja iz oblasti softverskih sistema.