Cilj i ishod predmeta
Osposobljavače studenata za pisanje formalne specifikacije softvera koja sadrži opis funkcionalnih zahteva kao i statički i dinamički model softverskog sistema. Student je osposobljen za analizu složenih softverskih sistema, za formiranje specifikacije zahteva softvera kao i korišćenje formalizama zasnovanog na UML-u prilikom modelovanja statičkog i dinamičkog ponašanja sistema i softvera.
Teorijska nastava
Osnovni model softverskog sistema. Odnos specifikacije zahteva, specifikacije dizajna i implementacije softverskih sistema. Osnovi inženjerstva zahteva, proces, iskazivanje, analiza, specifikacija, verifikacija i validacija zahteva. Izrada formalnog dokumenta – specifikacija zahteva. Osnovi dizajna softvera, statičko i dinamičko modelovanje. Osnove UML-a, struktura, organizacija i meta-model. UML dijagrami: dijagram slučajeva korišćenja, dijagrami klasa, dijagrami objekata, dijagrami saradnje, dijagrami sekvence, dijagrami aktivnosti, dijagrami stanja, dijagram komponenti. Napredno UML modelovanje: interfejsi, paketi i modelovanje fizičke arhitekture. Arhitektonski i dizajn šabloni i njihova primena u modelovanju arhitekture softverskih sistema.
Praktična nastava
Korišćenje javno dostupnog softverskog alata baziranom na UML-u. Demonstrativna vežba kreriranja svih UML dijagrama obrađenih na teorijskoj nastavi za izabrani domen (konkretan softverski sistem) uz diskusiju. Obučavanje u pisanju dokumenta specifikacije.