SE311 Prојеktоvаnjе i аrhitеkturа sоftvеrа
Cilj predmeta: Detaljna analiza procesa dizajniranja softvera s akcentom na primenu postojećih uzoraka (pattern), okvira (framework) i arhitektura dizajna o čemu su studenti u toku prethodnih kurseva stekli samo globalna saznanja. Pored detaljne analize kataloga uzoraka i okvira koji se mogu primeniti pri projektovanje softverskih rešenja, u okviru kursa su pretstavljene i postojeće middleware arhitekture i njihova primena na sisteme distribuirane kako u lokalnom tako i u globalnom okruženju. Date su i osnovne informacije o korišćenju metrike softvera kao i o procesima reinženjeringa softverskih sistema.
Nakon završetka ovog kursa studenti će biti u stanju da u procesu projektovanja različitih vrsta softverskih rešenja primene postojeće uzorke i okvire dizajna i da softver projektuju i implementiraju korišćenjem različitih middleware tehnologija. Takođe će moći da postignute ciljeve dizajna mere i ocenjuju korišćenjem različitih metoda metrike softvera.
Sadržaj predmeta: Strategije softverskog dizajna; Dizajn arhitekture softvera (sistemski dizajn); Detaljni dizajn; Proučavanje uzoraka dizajna; uzorci kreiranja (Creational Pettern), uzorci struktuiranja (Structural Petterns), uzorci ponašanja (Behavioral Petterns); Primena uzoraka dizajna na primeru jednoh slučaja izučavanja; Detaljno proučavanje okvira i middleware arhitektura; Slučajevi izučavanja realnog dizajna;
U okviru praktične nastave se kroz različite slučajeve izučavanja, analiziraju moguće primene sistemskog i detaljnog dizajna, različitih uzoraka ( Composite pattern, Strategy pattern, Decorator pattern, Abstract Factory Pattern, Pridge pattern, Commande pattern, Iterator pattern, Visitor pattern itd.), okvira (J2EE) i i middleware arhitektura (Web servisi i Servisno orijentisana arhitektura);

