Doktorske studije Softversko inženjerstvo
Svrha studijskog programa
Svrha studijskog programa doktorskih studija Softversko inženjerstvo je da se stvore uslovi za najviši nivo obrazovanja u ovoj naučnoj oblasti, koji će obezbediti da studenti postignu naučne kompetencije i akademske veštine iz oblasti softverskog inženjerstva. U tom smislu, studijski program treba da obezbedi da se kod studenata razvije smisao za kritičku procenu sopstvenih i tuđih istraživanja.
Područje Softversko inženjerstvo osposobljava studenata za profesionalni rad pri razvoju softvera, što je od posebnog značaja, jer je poznato da često softverski proizvodi, po svojoj pouzdanosti, znatno zaostaju za pouzdanošću proizvoda iz drugih oblasti tehnike. To je rezultat nedovoljne primene kako standarda, tako i jasno definisanih postupaka u razvoju softvera. Ono što je normalna praksa u razvoju drugih proizvoda, u razvoju softverskih proizvoda često nije, jer se ovi proizvodi razvijaju bez rigorozno postavljenih procesa i aktivnosti razvoja. Istraživanja u oblasti softverskog inženjerstva su neophodna kako bi i ova mlada naučna disciplina mogla da dostigne neophodnu zrelost (kao druge, starije tehničke discipline) koja vodi razvoju i proizvodnji mnogo boljih i pouzdanijih softverskih sistema. Druga svrha studijskog programa je i u stvaranja novih univerzitetskih nastavnika u disciplini u kojoj postoji jako izražen nedostatak i u kvantitativnom, ali i o kvalitativnom smislu, jer najveći broj sadašnjih profesora, pogotoovu starije generacije, nije mogao da ima adekvatno akademsko obrazovanje u ovoj mladoj naučnoj disciplini.
Cilj studijskog programa
Cilj studijskog programa je da studenti postignu naučne kompetencije i akademske veštine iz oblasti softverskog inženjerstva. To, pored ostalog, uključuje i razvoj kreativnih sposobnosti razmatranja problema i sposobnost kritičkog mišljenja, razvijanje sposobnosti za timski rad i ovladavanje specifičnim metodama i praktičnim veštinama potrebnim za obavljanje profesije. Studijski program ima za cilj da obezbedi fleksibilnost u obrazovanju i istraživanju, tj. što veće usklađivanje programa predmeta i istraživanja u saglasnosti sa temom doktorske disertacije, s jedne strane, a da s druge, obezbedi dobro zaokružena i detaljnija znanja iz tri savremena područja primene softvera informacionih tehnologija.
Softversko inženjerstvo je disciplina koja se bavi razvojem i održavanjem pouzdanih i efikasnih softverskih sistema. Obrazovni program u području softverskog inženjerstva ima za cilj da obezbedi vrhunsko znanje neophodno za razvoj profesionalnog softvera visokog stepena pouzdanosti u radu. U skladu sa tim, posebno se ističe značaj faza u razvoju softvera, tj. analize i evaluacije potreba za softverom, specifikacije zahteva, projektovanje softvera i izrada i testiranje koda softvera. Takođe, softversko inženjerstvo se vezuje za upravljanje procesom i kvalitetom, za kreativnost i inovacije, za standarde, za individualne veštine pojedinaca, ali i za sposobnost timskog rada i primenu pravila i iskustva iz profesionalne prakse. Pored stvaranja vrhunskih stručnjaka koji će voditi timove koji su sposobni da razvijaju i složenije softverske sistema, studijski program ima i drugi cilj – da došprinese obrazovanju budućih univerzitetskih nastavnika iz oblasti softverskog inženjerstva. Nastavni plan doktorskih studija je u skladu sa potrebama osavremenjavanja i proširivanja smerova na poslediplomskim studijama na Metropolitan univerzitetu, kao i potrebama okruženja za istraživanjima iz ove izrazito interdisciplinarne i multidisciplinarne oblasti.
Kompetencije studenata nakon završenog studijskog programa
Studijski program u području Softverskog inženjerstva omogućava da studenti, po završetku studija, tj. po doktoriranju, mogu da rade na sledećim poslovima:
- Postavljanje arhitekture inovativnih softverskih sistema;
- Primena naučnih metoda u projektovanju softverskih sistema;
- Programiranje, tj. implementacija projektnog rešenja izradom softvera u jednom od programskih jezika, kao što su Java, C++ ili C#;
- Obezbeđivanje kvaliteta softvera i njegovo testiranje, kao i njegovo konfigurisanje u skladu sa postavljenom arhitekturom softverskog sistema;
- Vođenje timova koji razvijaju složenije softverske sisteme.
- Rukovođenje razvojnim odelenjima firmi koje razvijaju profesionalni softver u skladu sa zahtevima tržišta, a i rukovođenje organizacijama koje se bave razvojom i proizvvodnjom softvera.
- Univerzitetski nastavnik u oblasti softverskog inženjerstva.
Struktura studijskog programa
Doktorske studije iz Softverskog inženjerstva traju 3 godine ili 6 semestara (180 ESPB). Studijski program sadrži 6 obavezna i 4 izborna predmeta. Tri obavezna predmeta su specifična (SE691, SE692 i SE693, tj. Istraživački projekat 1, 2 i 3), jer omogućavaju pripremu kandidata i njegov rad na disertaciji i u 2., 3. i 4. Semestru, jer svaki od njih ima (kao projekti), definisane uslove za početak i kraj, i jasno definisan izlazni rezultat. Ostali predmeti omogućavaju studentima sticanje dodatnih znanja neophodnih za uspešnu realizaciju istraživanja koja sprovode u funkciji izrade i odbrane doktorske disertacije.
Sem |
Red broj |
Doktorske studije INFORMACIONE TEHNOLOGIJE Izborni SOFTVERSKO INŽENJERSTVO
|
ESPB |
Nedeljni broj časova |
|
Predavanja |
SIR |
||||
1 |
1 |
NT600 Metodologija naučnoistraživačkog rada |
10 |
6 |
2 |
1 |
2 |
SE630 Modeli softverskih sistema |
10 |
4 |
2 |
1 |
3 |
SE640 Arhitekture softverskih sistema |
10 |
4 |
2 |
2 |
4 |
SE691 Istraživački projekat 1 |
10 |
2 |
8 |
2 |
5 |
Izborni predmet 1 bloka 1 |
10 |
3 |
2 |
2 |
6 |
Izborni predmet 2 bloka 1 |
10 |
3 |
2 |
3 |
7 |
SE692 Istraživački projekat 2 |
10 |
2 |
8 |
3 |
8 |
Izborni predmet 1 bloka 2 |
10 |
3 |
2 |
3 |
9 |
Izborni predmet 2 bloka 2 |
10 |
3 |
2 |
4 |
10 |
SE693 Istraživački projekat 3 |
30 |
2 |
18 |
5 |
11 |
SE694 Samostalan istraživački rad na izradi doktorske disertacija |
30 |
0 |
20 |
6 |
12 |
SE695 Izrada i odbrana doktorske disertacije |
30 |
0 |
20 |
Izborni blok 1 (student bira 2 predmeta) |
|||||
CS661 Upotreba semantičke veb tehnologije u javnom sektoru |
10 |
3 |
2 |
||
CS675 Istraživanje sistema e-učenja |
10 |
3 |
2 |
||
CS681 Sistemi u realnom vremenu i ugrađeni sistemi |
10 |
3 |
2 |
||
SE620 Testiranje i kvalitet softvera |
10 |
3 |
2 |
||
Izborni blok 2 (student bira 2 predmeta) |
|||||
CS550 Ozbiljne igre i simulacije u realnom vremenu |
10 |
3 |
2 |
||
CS662 Eksperimentalno računarstvo |
10 |
3 |
2 |
||
SE650 Istraživanje u softverskom inženjerstvu |
10 |
3 |
2 |
||
CS655 Veštačka inteligencija |
10 |
4 |
2 |
Objašnjenje oznaka: SIR – Studijski istraživački rad, ESPB = Evropski sistem prenosnih bodova
NT600 Metodologija naučno-istraživačkog rada
Cilj predmeta je da osposobi studenta za razumevanje šireg okvira koji podrazumeva definisanje najvažnijih delova naučno-istraživačkog rada kao što su: problem istraživanja –istraživačko pitanje, cilj (ciljevi), hipoteza (e), metodološki osvrt, a na osnovu potpune analize postojeće literature dostići razvoj naučnih spoznaja u posmatranoj oblasti, pri tome respektujući norme akademskog rada i uz korišćenje savremenih informatičkih alata i servisa. Nakon ovog predmeta student ima sposobnost razumevanja različitih naučnih metoda korišćenih u naučnoj literaturi; sposobnost uspešnog snalaženja u stručnoj literaturi; sposobnost uspešnog pisanja naučnog rada; sposobnost uspešnog kreiranja i realizacije doktorske disertacije. Teme obuhvaćene ovim predmetom su: Pojmovno određenje nauke; metodologija naučno-istraživačkog rada; opšte i posebne naučne metode; struktura naučnog rada;pisanje i publikovanje naučnog rada; pisanje doktorske disertacije; vrednovanje naučnih rezultata.
SE630 Modeli softverskih sistema
Ovaj predmet se bavi modelima razvoja softverskih sistema, i modelima dizajna softvera. Cilj je ovladavanje metodama modelovanja softvera, modelima dizajna softvera, i modelima planiranja i upravljanja softverskim projektima. U ovom predmetu student će se upoznati sa naprednim modelima softverskih sistema koji se danas koriste u svetu, i veština njihove primene u praksi. Predviđeno je da student uradi praktičan projekat iz modelovanja softvera, kao i seminarski rad koji je povezan sa projektom, a gde se predviđa pretraga po veb-u. Teme obuhvaćene ovim predmetom su: Modeli upravljanja i planiranja softverskim projektima, PERT model, agilne modeli razvoja softvera, napredni UML (Unified Modelling Language), model ujedinjenog procesa razvoja softvera UP (Unified Process), ICONIX model, i modeli dizajna i konstruisanja softvera, formalni modeli softvera, OCL (Object Constraint Language), konkurentne mašine stanja, Z-modelovanje, Petri Net modelovanje.
SE640 Arhitekture softverskih sistema
Predmet nudi temeljno razumevanje problema razvoja složenih softverskih sistema baziranih na novim strategijama kompozitnog dizajna i distribuiranih softverskih komponenti. Istraživačka komponenta kursa usmerena je na unapređivanje postojećih i oblikovanje novih metoda za razvoj softvera. Nakon ovog predmeta student je osposobljen za dalje usavršavanje iz oblasti softverskog inženjeringa, samostalni naučni i stručni rad. Teme obuhvaćene ovim predmetom su: Ideje i tehnike za projektovanje, razvoj i modifikovanje velikih softverskih sistema. Definisanje zahteva za softversku arhitekturu, izrada idejnog projekta (koncepta), detaljnog dizajna i implementaciju softverske arhitekture visokog kvaliteta i performansi; Osnove softverske arhitekture (Istorijat softverskih arhitektura, definicije, terminologija; Modeli procesa razvoja softverskih arhitektura; Alati i tehnike modelovanja softverskih arhitektura; Principi kompozitnog dizajna); Novi pristupi izrade kroz ‘4 + 1’ pogleda na softversku arhitekturu (Implikacije definicije softverske arhitektura; Zachman- ov pogled; Cruchten- ov pogled); Atributi kvaliteta softverske arhitekture;Tradicionalne mere kvaliteta; Liste za proveru kvaliteta izrade softverskih arhitektura; Razrada zahteva konkretnog softverskog projekta; Raščlanjivanje i modularnost); Arhitektonski stilovi – Uzorci (Arhitektonski stilovi i strategije; Karakteristike dobrog dizajna na nivou koncepta, logičkog i detaljnog dizajna); Klijent – Server arhitektura ( Osobine klijent-server softverske arhitekture, Tanki klijent, Debeli -napredni, Analiza performansi klijent-server softverske arhitekture); Inženjering distribuirane Obrade (Centralizovano u odnosu na distribuirano: načini predstavljanja poslova, akcija u dizajnu softverske arhitekture; Definicije, predstavljanje i karakteristike softverske komponente; Distribuirana obrada: kompozicija, orkestracija, sinhronizacija i koreografija); Troslojne Arhitekture – CORBA (Opis delova CORBA arhitekture, Jezik za dizajn IDL, standardizacija CORBA arhitekture); Troslojne, Četvoroslojne Java Arhitekture – J2EE (Opis delova J2EE arhitekture, Skup Java interfejsa, Java tehnologije distribuiranih objekata); Višeslojne servisno-orijentisane arhitekture–SOA (Paradigma Servisno-Orijentisanog računarstva; OO računarstvo u odnosu na Servisno-Orijentisano računarstvo, Servisno-Orijentisano Sistemsko Inženjerstvo, Servisno-Orijentisana paradigma razvoja softvera).
CS661 Upotreba Semantičke veb tehnologije u javnom sektoru
Predmet razmatra tehnologije Semantičkog veba koje je preporučio W3C konzorcijum i koje se već primenjuju za razvoj inovativnih višejezične proizvoda i usluga u javnom sektoru, bioinformatici, energetici, transportu, itd. Studenti će dobiti uvid u trendove razvoja semantičkih veb tehnologija i alata za javni sektor sa posebnim naglaskom na mogućnost za semantičku interoperabilnost podataka. Razumevanje principa Semantickog Weba; Sposobnost za primenu standardnih W3C rečnika i e-government tehnologija Evropskog ISA (Interoperability Solutions for European Public Administrations) programa; Sposobnost za ponovno korišćenje raspoloživih open-source alata; Sposobnost za projektovanje i razvoj semantičkih Veb rešenja (XML/RDF/OWL/SPARQL) u javnom sektoru. Nastava predviđa 5 modula: Modul 1 (Uvod u Semantički veb) prezentuje viziju Semantičkog veba i proces evolucije veba ka Semantičkom vebu. Takođe razmatra tehnologije Semantičkog veba koje je već preporučio W3C konzorcijum ili koje su u procesu standardizacije i objašnjava glavne izazove u razvoju Semantičkog veba; Modul 2 (Predstavljanje znanja i ontološki inženjering) opisuje veze Semantičkog veba sa naučnim oblastima “Knowledge management” i “Artificial intelligence” (AI), objašnjava prednosti servisno orijentisanih arhitektura i servisa Semantičkog veba. Modul razmatra ulogu metoda veštačke inteligencije i algoritme u ontološkom inženjeringu, naročito u oblasti ekstrakcije znanja i stvaranja ontologija, održavanja ontologija, validacije ontologija, kao i u ontološkom mapiranju i integrisanju; Modul 3 (Interoperability Solutions for European Public Administrations) prezentuje preporuke ISA-2 programa za primenu standardnih W3C recnika i e-government tehnologija u javnom sektoru. Modul analizira radne dokumene Evropske mreze za inovacije u javnom sektoru, sa posebnim naglaskom na mogućnostima za semantičku interoperabilnost u e-government servisima; Modul 4 (Upotreba semantičkih alata u javnom sektoru ) razmatra glavne funkcionalnosti alata (Semantičko modeliranje & razvoj, upravljanje semantičkim podacima & integrisanje, povezivanje / interlinkovanje, Semantičko pretraživanje i pronalaženje podataka), pruža značajne informacije o spremnosti za korišćenje komercijalnih alata i tehnologija Semantičkog veba kao i alata i tehnologija slobodnog otvorenog koda (open-source alata); Modul 5 (Vizija razvoja semantičkih e-government servisa) pruža ažuriranu sliku stanja istaživačkih aktivnosti Semantičkog veba u okviru Evropskih projekata iz šestog i sedmog okvirnog programa u vezi semantičkih tehnologija u javnom sektoru. Cilj je analizirati koristi od semantičkih tehnologija, kao i buduće potrebe i trendove razvoja e-government sistema.
CS675 Istraživanje sistema e-učenja
CS681 Sistemi u realnom vremenu i ugrađeni sistemi
SE620 Testiranje i kvalitet softvera
CS550 Ozbiljne igre i simulacije u realnom vremenu
Cilj predmeta je upoznavanje sa osnovama simulacije realnih pojava u virtuelnim okruženjima i u relanom vremenu. Ovladavanje osnovim tehnikama virtuelne realnosti zasnovane na tehnologiji računarskih igara i primenama u praksi. Ishod predmeta je Vladanje modeliranjem interakcije korisnika sa realnim okruženjem, matematičkim opisom odvijanja procesa u vremenu, modeliranje vizuelnih, taktilnih i zvučnih efekata. Vladanje realizacijom virtuelnih okruženja primenom tehnologije 3D igara. Teme obuhvaćene ovim predmetu su: Opis sistema veštačke realnosti; Sistemi za generisanje osećaja na čulima; Metodi interakcije sa objektima virtuelne realnosti; Tehnike kreiranja efektivne interakcije; Planiranje razvoja i implementacija sistema veštačke realnosti; Ocena uspešnosti sistema veštačke realnosti.
CS662 Eksperimentalno računarstvo
SE650 Istraživanje u softverskom inženjerstvu
CS655 Veštačka inteligencija
SE691 Istraživački projekt 1
SE692 Istraživački projekt 2
Ovaj predmet ima za cilj da omogući studentu definisanje konačne teme doktorske disertacije i izradu detaljnog plana istraživanja u okviru svoje disertacije. Student radi seminarski rad u kome se daje dopunsku i proširenu analizu istraživanja iz užeoblasti u okviru koje radi i istraživanja u okviru svoje disertacije, a na osnovu dodatnog proučavanja tuđih istraživanja. Ukoliko kandidat nije pripremio ili objavio pregledni rad kao rezultat rada na predmetu SE691, dužan je da to uradi u okviru ovog predmeta. Na kraju, student podnosi detaljan plan istraživanja u okviru svoje doktorske disertacije, saposebnim naglaskom ka jasnom definisanju naučnog doprinosa disertacije. Ukoliko to nije ranije pripremljeno i urađeno, ovaj predlog daje napred kolegijumu nastavnika programa doktorskog programa na prihvatanje koji onda predlaže mentora. Predlog teme i programa disertacije i predlog za imenovanje mentora se upućuje nadležnom organu univerziteta na usvajanje.
SE693 Istraživački projekat 3
Ovaj predmet ima za cilj da omogući studentu izradu prvog rada u kome izlaže deo svog naučnog doprinosa istraživanja koja sprovodi u okviru pripreme svoje doktorske disertacije. Student daje izveštaj o realizaciji projekta koji obuhvata deo istraživanja planiranih u okviru pripreme svoje disertacije. Takođe, student daje i svoj naučni rad sa prvim rezultatima svojih istraživanja koji treba da izloži deo naučnog doprinosa njegove buduće disertacije. Posle usvajanja rada od strane mentora, rad se daje na objavljivanje međunarodnom časopisu sa SCI liste.
SE694 Samostalan istraživački rad na izradi doktorske disertacije
U okviru ovog dela izrade doktorske disertacije student istražuje zadati problem u skladu sa postavljenim planom istraživanja i da objavi bar jedan rad u međunarodnom časopisu na SCI listi. Na osnovu sprovedenih istraživanja u skladu sa ranije usvojenim planom, student treba da napiše doktorsku disertaciju. Doktorska disertacija treba da predstavlja izvoran i samostalan naučni rad, koji doprinosi razvoju naučne misli, a koji je po metodologiji obrade i stepenu doprinosa nauci podesan za utvrđivanje sposobnosti kandidata da kao samostalni istraživač deluje u odabranoj naučnoj oblasti. Student treba da objavi najmanje jedan naučni rad u izbornom području u međunarodnom časopisu na SCI listi. To može biti rad koji je poslat na recenziju i objavljivanje, kao rezultat istraživanja u okviru predmeta SE693 Istraživački projekat 3, a može biti i novi rad, koji obuhvata i istraživanja koja su sprovedena i posle slanja prvog rada na objavljivanje. Smatra se da ostvaren željeni ishod ovog predmeta, ako je objavljen ranije poslat prvi rad, a ako je poslat na objavljivanje još jedan ili više radova, prihvata se informacija urednila časopsia da je rad prihvaćen za objavljivanje. Ovi radovi treba da izlože rezultate istraživanja studenta rađenih u okviru pripreme doktorske disertacije i oni treba da jasno prikažu naučni doprinos disertacije u oblasti softverskog inženjerstva, tj. u rešavanju aktuelnog problema (nov model, nova tehnika, nov pristup,…). Bez objavljivanja bar jednog naučnog rada u međunarodnom časopisu na SCI listi, ne može se prihvatiti doktorska disertacija i zakazati njena odbrana.
SE695 Izrada i odbrana doktorske disertacije
Uslov za Izradu i odbranu doktorske disertacije je objavljen rad u međunarodnom časopisu na SCI listi, urađenog u okviru rada na predmeti SE693 Istraživački projekat 3, a opciono, i prihvaćen za objavljivanje drugi naučni rad od strane relevantnog međunarodnog časopisa na SCI listi, a urađenog u okviru rada na predmeti SE694 Samostalan istraživački rad na izradi doktorske disertacije. Doktorska disertacija treba da predstavlja izvoran i samostalan naučni rad, koji doprinosi razvoju naučne misli, a koji je po metodologiji obrade i stepenu doprinosa nauci podesan za utvrđivanje sposobnosti kandidata da kao samostalni istraživač deluje u odabranoj naučnoj oblasti.