Softverske arhitekture

Cilj i ishod predmeta

Upoznavanje sa strukturom softverskog sistema, njegovim elementima i vezama između elemenata softverskog sistema. Upoznavanje sa različitim savremenim softverskim arhitekturama i domenima njihove primene. Student razume značaj kvalitetne softverske arhitekture, razume nekoliko savremenih stilova arhitekture softvera i ume da izabere i primeni odgovarajuću softversku arhitekturu u zavisnosti od vrste softvera i domena primene.

Teorijska nastava

Značaj dobre softverske arhitekture. Osnovni principi kvalitetne softverske arhitekture. Uloga softverskog arhitekte u razvoju softvera. Dizajn softverske arhitekture korišćenjem UML-a. Proces dizajniranja softverske arhitekture. Pregled najpoznatijih projektnih obrazaca arhitekture softvera – slojeviti, strukturni, prezentacioni, servisni, hibridni. Analiza studije slučaja za svaki projektni obrazac. Kriterijumi za izbor odgovarajućeg obrazca. Dizajn slojevite softverske arhitekture i izbor softverskih komponenti u svakom sloju. Dizaj servisno-orijentisane arhitekture za slabo povezanim servisima.

Praktična nastava

Analiza studija slučaja projektnih obrazaca obrađenih u okviru teorijske nastave. Razvoj prototipske softverske aplikacije prema izabranom projektnom obrazcu softverske arhitekture. Diskusija o pozitivnim i negativnim aspektima različitih softverskih arhitektura i njihovoj primeni u različitim domenima.

2984-softverske-arhitekture