MASTER STUDIJE

INTELIGENTNI I NAPREDNI
SOFTVERSKI SISTEMI

Trajanje studija: 1 godina
Broj ESPB: 60 ESPB
Zvanje: Master inženjer softvera
Polje: Tehničko-tehnološke nauke
Oblast: Softversko inženjerstvo

Softverski inženjeri se bave izradom i održavanjem softverskih aplikacija, koristeći najbolje tehnike iz računarstva, upravljanja projektima, inženjeringa, aplikacija i drugih IT oblasti. 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.

Studenti će naučiti kako da primenjuju najsavremenije tehnike i metodologije za razvoj visokokvalitetnih softvera prema profesionalnim standardima.

Vešti i formalno obrazovani softverski inženjeri su izuzetno traženi. Kontinuirani rast novih tehnologija i mobilnih aplikacija u industriji, trgovini i javnom sektoru povećava potražnju za stručnjacima koji mogu dizajnirati, implementirati i održavati složene softverske sisteme. Cilj ovog master programa je da studenti steknu napredne praktične veštine iz softverskog inženjerstva, a sa završenim master studijama studenti povećavaju svoju konkurentnost na tržištu rada i otvaraju mogućnost za napredovanje u karijeri.

Master inženjeri softvera najčešće rade na pozicijama softverskih inženjera, veb programera, računarskih programera, poslovnih analitičara, menadžera za razvoj sistema itd. Po uspešno završenom programu studenti su osposobljeni da razumeju metode, tehnike i alate koji su dostupni za specifikaciju, projektovanje, implementaciju i upravljanje softverskim sistemima.

Ove veštine im omogućavaju da:

Dizajniraju, primenjuju, testiraju, i otklanjaju eventualne greške, koristeći odgovarajuće softverske alate.
Rade sa različitim platformama koristeći razne programske jezike.
Efikasno rade u timu za upravljanje projektima koji se suočava sa zahtevima klijenata, koristeći trenutne komercijalne alate i tehnike za razumevanje, preciziranje, planiranje i upravljanje projektom razvoja komercijalnog softvera i praćenje projekta tokom njegovog životnog ciklusa.
Jasno prenose ideje, principe i teorije usmenim, pismenim, dijagramskim i praktičnim metodama.
Pokažu samoinicijativu, profesionalizam, kritičko rasuđivanje i veštine planiranja u rešavanju problema softverskog inženjeringa, primenom odgovarajućih tehnologija.
Koriste istraživačke metode za dodatno poboljšanje učenja, primenjujući stečeno znanje na date probleme.

OPIS PROGRAMA

Softversko inženjerstvo je disciplina koja se bavi razvojem i održavanjem pouzdanih i efikasnih softverskih sistema. Značaj softverskog inženjerstva je porastao sa rastućim zahtevima za razvojem bezbednih aplikacija, tj. bezbednih softverskih sistema i sa većim značajem velikih i skupih softverskih sistema. Softversko inženjerstvo se razlikuje od svih drugih inženjerskih disciplina, zbog nefizičke prirode softvera (ne postoji u prostoru i nije opipljiv). Softversko inženjerstvo pokušava da integriše računarske nauke i inženjerske principe koji se primenjuju kod razvoja opipljivih tvorevina sa jasnim fizičkim osobinama. 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. Studijski program MAS Ingeligentni i napredni softverski sistemi obrazuje studente da rade na razvoju profesionalnog softvera industrijskog kvaliteta. Softversko inženjerstvo je disciplina koja se bavi razvojem i održavanjem pouzdanih i efikasnih softverskih sistema.

Softversko inženjerstvo, kao master program, ima za cilј školovanje master inženjera softvera za kojima postoji velika potreba na tržištu rada. Studijski program obezbeđuje sticanje kompetencija koje su društveno opravdane i korisne i u skladu su sa zadacima i cilјevima Univerziteta, na kome se studijski program i izvodi. Svrha studijskog programa je osposoblјenost za racionalno i stručno obavlјanje različitih praktičnih poslova i zadataka koji su povezani sa strukom, a čiji je ishod utvrđivanje potreba i zahteva čije zadovolјenje obezbeđuje punu funkcionalnost softvera uz definisanje svih softverskih modula i komponenata sa projektovanjem softverskog sistema.

Studijski program MAS Inteligentni i napredni softverski sistemi razvijen je u skladu sa preporukama i predlozima američkih profesionalnih udruženja: IEEE Computer Society, ACM:

Curriculum Guidelines for Graduate Degree Programs in Software Engineering (2009)
Computing Competencies for Data Science Curricula (2021)

ISHODI UČENJA STUDIJSKOG PROGRAMA

Studijski program master akademskih studija Inteligentni i napredni softverski sistemi ima konkretnije definisane ciljeve koji su u skladu sa osnovnim zadacima i ciljevima Univerziteta Metropolitan, a koji su i društveno opravdani:

  • Obezbeđenja prenošenja naučnih, stručnih znanja i veština, razvoj struke softver inženjera, unapređenje primene i kreativnost u softverskom inženjerstvu.
  • Obrazovanje visoko stručnog kadra koji ima celovito akademsko obrazovanje i integrisano poznavanje razvoja softvera u skladu sa očekivanjima i potrebama kompanija koje se profesionalno bave razvojem softvera.
  • Osposobljavanje studenta da učestvuje u razvoju ili vodi razvoj složenijih softverskih proizvoda, primenom najsavremenijih metoda i tehnika, koje se primenjuju u softverskom inženjerstvu.
  • Osposobljavanje studenta da poštuje sve etičke principe, kao dobra pravila struke i da širi njihovu primenu u svom okruženju.
  • Razvija sposobnost timskog rada u razvoju softvera.

NASTAVNI PLAN – MAS INTELIGENTNI I NAPREDNI SISTEMI

Sem RB MAS INTELIGENTNI I NAPREDNI SOFTVERSKI SISTEMI (60 ESPB),
Plan nastave u školskoj 2022/23.
ESPB
1 1 CS515 Principi i tehnike veštačke inteligencije 6
2 SE515 Arhitektura softvera 6
3 Izborni predmet 1 6
4 Izborni predmet 2 6
5 Izborni predmet 3 6
2 6 SE585 Projekat razvoja softvera 6
7 SE590 Stručna praksa 3
8 SE595 Završni rad master studija – istraživački rad 15
9 SE596 Završni rad master studija – izrada i odbrana 6
Izborni predmeti 1,2,3 (biraju se tri predmeta)
1 3,4,5 CS565 Mašinsko učenje 6
CS520 Primenjeno duboko učenje 6
SE535 Inteligentni agenti 6
CS525 Kompjuterski vid 6
SE560 Semantičke veb tehnologije 6
CS541 Inteligentni sistemi e-učenja 6
SE520 Primenjeni distribuirani sistemi 6
SE525 DevOps razvoj i evolucija softvera 6
SE540 Razvoj IoT aplikacija 6
SE545 Agilne metode razvoja softvera 6
SE575 Obezbeđenje kvaliteta softvera 6
SE570 Inženjerstvo zahteva za softver i sisteme 6
SE580 Skalabilni softverski sistemi 6
SE573 Projektovanje programskih interfejsa aplikacija (API) 6
SE565 Upravljanje projektom razvoja softvera 6
OM545 Preduzetništvo i inovacije 6

Kratak opis svih predmeta

CS515 Principi i tehnike veštačke inteligencije

Cilj predmeta je upoznavanje studenata sa osnovnim idejama, izazovima, tehnikama, primenama i problemima veštačke inteligencija, a koje se koriste pri razvoju inteligentnih softverskih sistema. Izučavaju se tehnike pretraživanja, predstavljanja znanja, načina rezonovanja i planiranja, kao i osnovne tehnike mašinskog učenja. Studenti će biti u stanju da izaberu tehnike veštačke inteligencije za određenu klasu problema. Po položenom ispitu iz ovog predmeta, student će biti osposobljen da: Rešava probleme vezane za pretraživanje u složenim okruženjima, kao i uslovima ograničenja, razume ulogu logičkih agenata, metode predstavljanja znanja i automatskog planiranja, primeni metode i tehnike predstavljanja neizvesnog znanja i rasuđivanja, neophodnih za donošenje odluka, razume osnovne metode mašinskog učenja, kao što su probalistički modeli i metode dubokog učenja i podržanog učenja.

SE515 Arhitektura softvera

Primarni cilj predmeta je da pomogne studentima da razviju veštine u projektovanju, razvoju i prihvatanju razumne softverske arhitekture, za sisteme koji intenzivno zahtevaju softver na nivou preduzeća, uzimajući u obzir i funkcionalne i nefunkcionalne zahteve, kao i kontekstualna sistemska okruženja. Osnovne teme uključuju: Pregled arhitekture softvera, mikroarhitektonske šablone (šablone projektovanja) i makroarhitektonske šablone (savremene šablone), arhitekturu orijentisanu na usluge, arhitektonsko modeliranje, gledišta i perspektive, tehnike arhitektonske analize, arhitektonske taktike i neke napredne teme. Kao rezultat završetka predmeta, student će moći da: Jasno definiše arhitektonske probleme u smislu atributa kvaliteta, scenarija, kompromisa, zainteresovanih strana i zabrinutosti; Razume važne arhitektonske modele (npr. višeslojni model, servisno orijentisana arhitektura) zajedno sa njihovim prednostima i nedostacima; Identifikuje arhitektonske taktike relevantne za specifične arhitektonske probleme; Projektuje arhitektonske modele koristeći postojeće arhitektonske šablone; Procenjuje arhitekture u smislu njihovih rizika i kompromisa i koliko dobro ispunjavaju zahteve atributa kvaliteta, kao i koliko dobro rešavaju probleme zainteresovanih strana.

Izborni predmeti 1, 2 i 3

CS565 Mašinsko učenje
Cilj predmeta je da studentima na jednostavan način pomogne u ovladavanju primeni tehnika mašinskog učenja koristeći programski jezik Python i specijalizovanu biblioteku programskih kodova ThensorFlow. Predmet je kreiran za studente koji se bave programiranjem i razvojem softvera, a žele da nauče kako da razvijaju softver sa primenom metoda mašinskog učenja. Zato, predmet ne ulazi dublje u matematičku interpretaciju primenjenih koncepata mašinskog učenja, koja je za njih teža za razumevanje. U prvom delu nastave, fokus je na primeni Python-a, bez korišćenja specijalizovanih biblioteka, što omogućava studentima da bolje razumeju suštinu koncepata metoda mašinskog učenja. U drugom delu se koristi specijalizovana biblioteka TensorFlow, što omogućava brži i lakši razvoj inteligentnih softverskih sistema. Po položenom ispitu iz ovog predmeta, student će biti osposobljen da: Razume kako jednoslojne i višeslojne neuronske mreže rade; Primeni programski jezik Python bez specijalizovanih biblioteka, radi boljeg razumevanja kako neuronske mreže rade, tj. da shvati suštinu metoda učenja i dubokog učenja; Primeni TensorFlow biblioteku kodova u Python-u, u slučaju razvoja složenijih inteligentnih softverskih sistema koji primenjuju jednoslojne ili višeslojne neuronske mreže, a u oblastima klasifikacije slika, detekcije i prepoznavanja lica na slikama, detekcije objekata i poza, obrade prirodnog jezika i u analizi podataka; Vrši izbor tehnika u zavisnosti od vrste, prirode i kompleksnosti realnog problema; Primeni odgovarajuću tehniku koristeći programski jezik Python i TensorFlow biblioteku i tako reši posmatrani problem, odnosno, donese zaključak u vezi posmatrane pojave koji odgovara realnim uslovima u industriji.

CS520 Primenjeno duboko učenje
Razvoj inteligentnih softverskih sistema koji primenjuju modele tzv. dubokog učenja, u poslednje vreme doživljava buran razvoj i primenu u različitim oblastima, kao što su: Vizualno prepoznavanje objekata, obradu prirodnog jezika, obradu informacija u cilju učenja inteligentnog sistema, upravljanje autonomnim vozilima i dr. Cilj ovog predmeta je da upozna studente sa metodama dubokog učenja sa korišćenjem TensorFlow biblioteka Python rutina, čije korišćenje znatno olakšava razumevanje i primenu različitih metoda dubokog učenja, koje se u ovom predmetu izučavaju preko primera. Zbog toga, na minimum je svedeno korišćenje složenog matematičkog aparata, koji se često koristi u udžbenicima i u radovima o dubokom učenju, te je predmet na ovaj način prilagođen potrebama studenata softverskog inženjerstva i IT-a. Po završetku nastave na predmetu, student će moći da: Primenjuje Python i TensorFlow u razvoju inteligentnog softvera koji primenjuje metode dubokog učenja; Razume i koristi metode konvolucionih neuronskih mreža za prepoznavanje objekata, slika i dr; Razume i koristi povratne neuronskih mreža (RNN) i konvolucionih neuronskih mreža (CNN) u cilju obrade i razumevanja prirodnog jezika; Razume i koristi autoenkoder i generativne suparničke mreže (GAN); Razume primenu metoda dubokog učenja, koje se primenjuju u upravljanju autonomnim vozilima.

SE535 Inteligentni agenti
Agenti su autonomni računarski programi, roboti, ljudi, itd. Agenti deluju u nekom okruženju koje mogu da osmatraju i u kome mogu ostvariti ciljeve izvođenjem određenih akcija. U predmetu se izučava problem optimalnog delovanja softverskog agenta da bi realizovao postavljenje ciljeve. Cilj predmeta je da studentima pruži širok uvod u novo i brzo rastuće polje računarstva, zasnovanog na agentima. Predmet uvodi studente u ključne koncepte i modele u ovoj oblasti, baveći se i pojedinačnim agentima i njihovim interakcijama. Teme koje se obrađuju u okviru predmeta su: Komunikacija agent-agent, automatizovano pregovaranje i argumentacija u kooperativnim i konkurentskim okruženjima, učenje i planiranje sa više agenata, automatizovano donošenje odluka zasnovano na mehanizmima kao što su glasanje i aukcija, kao i razvoj i inženjering sistema zasnovanih na agentima. Nakon uspešno završenog ovog predmeta, student će moći da pokaže znanje i razumevanje za: Glavne modele agenata koji se danas koriste i njihovo utemeljenje u istraživanju veštačke inteligencije; Motivaciju za odgovarajuću upotrebu računarstva zasnovanog na agentima; Glavne okvire za donošenje odluka agenata za kooperativno i konkurentno okruženje; Intelektualne i istraživačke veštine specifične za predmet. Nakon uspešnog završetka ovog predmeta student će moći da: Analizira i kritikujte učinak raspoređenog agenta, postavi agenta u simulirano okruženje, u skladu sa dobijenom zadatkom.

CS525 Kompjuterski vid
Cilj predmeta je upoznavanje studenata sa principima, načinima implementacije i primenom konvolucionih neuronskih mreža za vizuelno prepoznavanje. Kompjuterska vizija je postala sveprisutna u našem društvu sa aplikacijama za pretraživanje, razumevanje slika, mapiranje, ima primenu u dronovima i autonomnim vozilima. Osnovu ovih primena čine zadaci vizuelnog prepoznavanja kao što su klasifikacija slika, lokalizacija i detekcija. U ovom predmetu će poseban akcenat biti na dubokom učenju za kompjutersku viziju. Studenti će biti osposobljeni da rešavaju probleme vizuelnog prepoznavanja korišćenjem konvolucionih neuronskih mreža u Python programskom jeziku, uz korišćenje biblioteke TensorFlow. Po završetku nastave na predmetu, studenti će moći da: Razumeju, implementiraju i primene konvolucione neuronske mreže za vizuelno prepoznavanje; Razumeju najnovija istraživanja u vizuelnom prepoznavanju i kompjuterskoj viziji; Implementiraju i razvijaju sopstvene neuronske mreže; Razumeju i primenjuju poznata rešenja na probleme kompjuterskog vida u realnom svetu.

SE560 Semantičke veb tehnologije
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. Cilj je upoznati studente sa inovativnim metodama predstavljanja i obrade podataka, alatima za razvoj semantičkih veb servisa i trenutno stanje u istraživanju semantičkog veba. Nakon odslušanog predmeta, studenti će u potpunosti razumeti princip semantičkog veba, sposobnost za primenu standardnih W3C rečnika i postojećih alata slobodnog otvorenog koda. Dodatno, ovladaće tehnikama za projektovanje i razvoj semantičkih veb rešenja (XML/RDF/OWL/SPARQL).

CS541 Inteligentni sistemi e-učenja
Cilj predmeta je da osposobi studenta da može da projektuje inteligentni sistem za elektronsko učenje i da može da primeni ovakav sistem u kreiranju svog onlajn predmeta na pogodnoj platformi za e-učenje. Pod inteligentnim sistemom e-učenja se ovde podrazumeva sistem za e-učenje koji je sposoban da se prilagodi specifičnim potrebama i mogućnostima svakog studenta posebno i da na taj način, tj. primenom principa personalizovane nastave, obezbedi njegovo zadovoljstvo i veće efekat nastave, jer se studentu obezbeđuje nastava i učenje ”po njegovoj meri”, tj. u skladu sa njegovim interesovanjem i mogućnostima. Program predmeta obuhvata primenu inteligentnih agenata, a posebno razvoj inteligentnih tutora koji obezbeđuju studentu personalizovane nastavne materijale i odgovarajući stil učenja. Posle uspešnog završetka nastave na ovom predmetu, student će biti osposobljen da: Razume različite metode i tehnike personalizovanog e-učenja; Razvije, uz pomoć odgovarajuće razvojne platforme, prototip sistema za e-učenja koji koristi sistem tutora.

SE520 Primenjeni distribuirani sistemi
Cilj predmeta je obezbeđivanje visokog nivoa razumevanja i primene naprednih koncepata distribuiranih računarskih sistema. Predmet pruža jedan zaokružen niz tematskih sadržaja: Heterogenost, sigurnost, transparentnost, konkurentnost, otpornost na greške; Principi umrežavanja; Protokol zahtev-odgovor; Daljinski pozivi procedura; Distribuirani objekti; Arhitekture srednjeg softvera; Bezbednosni i protokoli za autentifikaciju; Distribuirani sistem datoteka; Usluge imena; Globalna stanja u distribuiranim sistemima; Koordinacija i dogovor; Kontrola transakcija i konkurentnosti; Distribuirane transakcije; Replikacija. Ovi tematski sadržaji predstavlja solidnu osnovu za dalje nadogradnje i primene u skladu sa daljim razvojem primene distribuiranih sistema, koji se konkretnije izučavaju u drugim predmetima studijskog programa. Nakon odslušanog predmeta student: Razume, projektuje i razvija arhitekture osnovnih distribuiranih sistema i aplikacija; Primenjuje osnovne principe razvoja distribuiranih sistema; Razume i koristi objektno-orijentisane distribuirane sistema koji se zasnivaju na primenu tzv. srednjeg softver (middleware) i odgovarajućih tehnoloških platforma, razume, koristi i razvija napredne API servise distribuiranih sistema; Je osposobljen za otkrivanje, balansiranje opterećenja, oporavak od kvarova, metriku i nadgledanje distribuiranih sistema, razume svojstva zajedničkih elemenata koji se koriste pri projektovanju distribuiranih sistema; Razume složenost razvoja distribuiranih sistema, kao što su otkazi računara i mreža, konkurentnost, konsistentno, otkazi, i dr.

SE525 DevOps razvoj i evolucija softvera
U prvom delu predmeta, studenti upoznaju osnove infrastrukture važne za korišćenje DevOps alata (virtualizacija, umrežavanje, klaud i bezbednosna infrastrukture), ako se sa tim nisu ranije upoznali. U drugom delu predmeta, studenti uče teoriju osnovnih DevOps koncepata, kao što su: Infrastruktura kao kod, upravljanje konfiguracijom, proces implementacije, arhitektura mikroservisa, upravljanje parametrima konfiguracije, stvari koje se dešavaju nakon postavljanja servisa, oporavak od katastrofe i bezbednost orijentisana na razvoj. Analiziraju se i nekoliko studija slučaja koje se odnose na specijalizovane oblike DevOps-a: Mašinsko učenje i primena glavnih DevOps alata. Po završetku nastave na predmetu, student će moći da: Objasni osnovne koncepte klaud infrastrukture i infrastrukture bezbednosti, navede i objasni osnovnu teoriju DevOps-a, objasni osnovne klase DevOps alata, koristi Internet da bi naučio instalaciju i korišćenje potrebnih alata.

SE540 Razvoj IoT aplikacija
Cilj ovog predmeta je da pripremi studente sa veštinama i alatima da razvijaju IoT aplikacije i da u potpunosti koriste IoT mogućnosti. Predmet upoznaje studente sa osnovnim IoT konceptima iz perspektive razvoja softvera. Predmet navodi osnovnu arhitekturu punog steka za IoT, opisuje različite razvojne tehnologije u svakom IoT sloju, objašnjava primenu modela mašinskog učenja na nivou Edge-a, opisuje modele mašinskog učenja i veštačke inteligencije u IoT aplikacijama, predstavlja slučajeve korišćenja interneta stvari (IoT) iz sektora poljoprivrede, zdravstva, mobilne industrije, objašnjava razvoj IoT rešenja iz perspektive upravljanja proizvodima, opsežno pokriva bezbednost i primenljive modele pretnji kao deo IoT steka. Po završetku nastave na predmetu, studenti stiču znanja koja im omogućavaju da: Steknu radno znanje o bežičnim senzorskim mrežama (VSN), uključujući topologije, podatke senzora, bežične tehnologije koje se koriste u senzorskim čvorovima; Nauče kako da napravite sistem oko IoT uređaja zasnovanog na senzorima; Od samog početka nauče kako da koristite MQTT kao komponentu za snimanje podataka senzora; Primene mašinsko učenje na Edge-u, kao i neuronske mreže za klasifikaciju zvuka, projektovanje i implementacija fazi logike i podržanog učenja.

SE545 Agilne metode razvoja softvera:
Metode agilnog razvoja odnose se na brojne pristupe razvoja softvera koje ne primenjuju tzv. planski vođen razvoj softvera, kao što je na primer, metod vodopada. Ove metode se fokusiraju na razvoj softvera, a ne dokumentacije, tako da se u intervalima od 3-4 nedelje, isporučuju nove verzije softvera, bez projektne dokumentacije. Ovaj predmet će, najpre, upoznati studente sa principima tzv. vitkog (lean) razvoja softvera, a onda i sa tri dobro poznate agilne metode: Ekstremno programiranje, skram (Scrum), i kanban (Kanban).Po završetku nastave na predmetu, studenti moći da: Razumeju principe vitkog razvoja softvera, primene preporuke za primenu metoda ekstremnog programiranja, primene osnove koncepte skram (Skrum) agilne metode razvoja softvera, primene sve aktivnost kanban (Kanban) projekta razvoja projekta.

SE575 Obezbeđenje kvaliteta softvera
Ovaj predmet se bavi osiguranjem i kontrolom kvaliteta softvera. Predmet uvodi studente u različite alate i tehnike za osiguranje kvaliteta. Cilj ovog predmeta je da studenti shvate da se visoka vrednost kvaliteta softvera ne postiže bez uključivanja i drugih komponenti, kao što su bezbednost, pouzdanost, inspekcija i revizija softvera. Na kraju, razmatraju se i izazovi obezbeđenja kvaliteta softverskih sistema budućnosti, kao što su: Testiranje u digitalnom dobu, testiranje autonomnih sistema, testiranje veštačke inteligencije, testiranje DevOps-a, testeri softvera sledeće generacije, budućnost testiranja i dr. Po završetku nastave na predmetu, studenti će moći da: Razumeju kvalitet softvera, odnosno, kako ga definisati, analizirati i izmeriti; Izaberu odgovarajući analitički alat/tehniku za datu situaciju i da istraže kako da analiziraju rezultate; Razumeju prednosti i slabosti različitih tehnika obezbeđenja kvaliteta, kao što su testiranje softvera, statička analiza, pregled koda i demonstracija; Nauče da prikupljaju, upravljaju i procenjuju metriku kvaliteta; Analiziraju i verifikuju različita svojstva softvera uključujući i bezbednost, pouzdanost i performanse; Steknu iskustvo rada sa stvarnim alatima za osiguranje kvaliteta uključujući alate za statičku analizu, okvire za testiranje softvera i alate za merenje kvaliteta softvera.

SE570 Inženjerstvo zahteva za softver i sisteme
Ovaj predmet ima za cilj da pruži sveobuhvatan tretman teorijskih i praktičnih aspekata otkrivanja, analize, modeliranja, validacije, testiranja i pisanja zahteva za sisteme svih vrsta, sa namernim fokusom na sisteme koji intenzivno koriste softver. Ovaj predmet izučava i različite formalne metode, društvene modele i savremene zahteve, kao i tehnike pisanja zahteva koje mogu da budu korisne inženjeru praktičaru. Sistematično utvrđivanje zahteva je neophodno u slučaju velikih ili kritičnih softverskih i informacionih sistema, koji se najčešće razvijaju tzv. planom vođenim metodama razvoja (npr. metod vodopada). Po završetku nastave na predmetu, studenti će moći da: Komuniciraju sa potencijalnim korisnicima u cilju prikupljanja podataka o radnim kontekstima, analiziraju marketinške i korisničke podatke i da ih unese u projektno rešenje sistema, identifikuju sukobe zahteva, a zatim da ih pomire koristeći funkcionalne alternative.

SE580 Skalabilni softvereski sistemi
Ovaj predmet pokriva principe projektovanja i strategije potrebne za projektovanje i implementaciju skalabilnih distribuiranih sistema sa intenzivnim podacima. U ovom domenu inženjeri, ne samo da moraju da znaju kako da projektuju sisteme koji su inherentno skalabilni, već da to urade na način koji takođe podržava visoku dostupnost, pouzdanost i performanse. S obzirom na veliku distribuiranu prirodu ovih sistema, osnovni koncepti distribuiranih sistema kao što su doslednost, vreme i sinhronizacija su takođe važni. Ovi sistemi uglavnom rade danonoćno, imaju komponente koje rade na različitim čvorovima i platformama, tako da predmet stavlja naglasak na primenu i operativne probleme. Po završetku nastave na predmetu, studenti će moći da: Primene HTPP servise koji su izvorni u klaudu, sa asinhronom komunikacijom vođenom događajima, i SQL i NoSQL skladištima podataka, kroz izgradnju sistema sa sve većim očekivanjima; Razumeju šta je potrebno za projektovanje sistemskih svojstava u distribuiranim sistemima sa intenzivnim podacima, sa fokusom na interoperabilnost, skalabilnost, dostupnost i pouzdanost, labavo povezivanje, promenljivost i distribuirane podatke, koji su u stanju da međusobno deluju između ovih opcija prilikom primene nekoliko projektantskih šablona i tehnologija; Projektuju i implementiraju skalabilne distribuirane sisteme sa intenzivnim podacima.

SE573 Projektovanje programskih interfejsa aplikacija (API)
Programski interfejsi aplikacija (API) su važni sastojci savremenih softverskih sistema, jer povezuju sve njihove komponente, a i komunikaciju sa korisnicima sistema. Ovaj predmet pokriva sve aspekte projektovanja i razvoja programskih interfejsa, od dobijanja zahteva za projektovanje, do njegove isporuke korisnicima. Cilj ovog predmeta je da nauči studente kako da projektuju i primene, a kasnije i menjaju, programske interfejse aplikacija (API). Na predavanjima je fokus na projektovanju programskih interfejsa, a na vežbama je fokus na njihovoj implementaciji u Javi. Zbog primene sve većeg broja programskih interfejsa u savremenim softverskim sistemima, koji sadrže sve veći broj komponenti, posao projektanta softvera koji je specijalizovan za projektovanje programskih interfejsa, postaje sve traženiji. Ovaj predmet je namenjen studentima koji žele da postanu i projektanti programskih interfejsa, koji se sve više traže na tržištu. Po završetku nastave na predmetu, studenti će moći da: Razumeju značaj, potrebe i zahteve za programskim interfejsima, projektuju, testiraju i implementiraju projektovane programske interfejse (API), dorađuju i menjaju postojeće programske interfejse, u skladu sa promenama u softverskom sistemu.

SE565 Upravljanje projektom razvoja softvera
Razvoj softvera velikog obima zahteva sposobnost upravljanja resursima (ljudskim i računarskim) kroz kontrolu procesa razvoja. Ovaj predmet je orijentisan na širinu, osmišljen da pomogne tehnički obučenim softverskim inženjerima da steknu znanja i veštine, neophodne za vođenje projektnog tima, razumeju odnos razvoja softvera i celokupnog projektnog inženjeringa, procene vreme i troškove i razumeju softverski proces. Priroda razvoja softvera je dovoljno jedinstvena da zahteva specijalizovane tehnike upravljanja, posebno u oblastima procene i zakazivanja. Specifičnost ovog predmeta je namera da se pored upravljanja projektima koji se razviju klasičnim metodima, tj. upravljani planom, obuhvati i upravljanje projektima koji se razvijaju agilnim metodima. Po završetku nastave na predmetu, studenti će moći da: Analiziraju elemente softverskog projekta da bi izvukli sveobuhvatne ciljeve projekta; Koriste inherentne i izvedene stavke izvučene iz artefakata projekta za kreiranje efektivnih planova projekta; Steknu veštinu primene različitih tehnika upravljanja projektima u kontekstu softverskog projekta.

OM545 Preduzetništvo i inovacije
Stvaranje novih preduzeća, osvajanje novih tržišta, povećanje organizacione efektivnosti dešavaju se kroz inovacije, transformaciju procesa – ili oboje. Nove tehnologije, procesi, konkurencija i globalizacija primoravaju preduzetnike i postojeće firme da se distanciraju od poznatog i neguju inovacije i agilnost. Ovaj predmet ispituje uspešne strategije, poslovne modele, okvire, finansiranje, barijere i rizike za uvođenje inovativnih proizvoda i usluga. Teme uključuju inovacije poslovnog modela, strateško liderstvo, inovacije usmerene na ljude i na dizajn, znanje i upravljanje promenama. Po završetku nastave na predmetu, studenti će moći da: Razviju veštine i uvide za procenu, artikulisanje, usavršavanje i predstavljanje novog proizvoda ili usluge, ili kao početni posao ili kao nova inicijativa u okviru postojeće firme, primene znanje koje je neophodna za primenu nove tehnologije na tržištu.

SE585 Projekat razvoja softvera

Cilj ovog predmeta je da omogući studentu da razvije softver u skladu projektnom zadatkom, koji je usaglašen sa predmetima koje je student slušao u prvom semestru. Na ovaj način, student treba da praktično primeni stečena znanja sa razvojem softvera. Moguće je da se projektni zadatak usaglasi i sa završnim radom, a i radom tokom stručne prakse. U tom slučaju, treba da se uzme u obzir projektni zadatak, kojim se definišu ciljevi i opseg projekta razvoja softvera. Po završetku nastave na predmetu, student će moći da pokaže da je osposobljen da razvije softverski sistem u skladu sa dobijenim projektnim zadatkom.

SE590 Stručna praksa

Cilj stručne prakse je da studente pripremi za samostalni istraživački i stručni rad u prepoznavanju i rešavanju konkretnih zadataka iz oblasti studijskog programa, u realnim uslovima prakse i/ili u istraživačkim laboratorijama i centrima. Programski zadaci su orjentisani na uključenje studenata u projekte različitih vrsta, obima i namena, u njihovoj početnoj, razvojnoj ili završnoj fazi. Kroz sagledavanje radne sredine i konkretnih radnih aktivnosti, student treba da stekne nova znanja, sigurnost u radu i mogućnost integrisanja stečenih znanja i veština kroz prethodni studij u obimu od 90 sati. Nakon obavljene stučne prakse, student će steći iskustavo i ovladati veštinama u korišćenju, produbljivanju i obogaćivanju stečenih teorijskih i praktičnih znanja, radi prepoznavanja i rešavanja konkretnih pitanja i zadataka, koji se pojavljuju u realnom sistemu.

SE595 Istraživački rad
SE596 Završni rad

Cilj završnog rada je prikaz usvojenih znanja i veština potrebnih za samostalan rad i rešavanje konkretnih problema u praksi. Dokaz osposobljenosti da student u ekspozeu prikaže rad na sažet i zanimljiv način, a tokom odbrane da odbrani svoje argumente i odgovori na pitanja i kritike. Stečena znanja tokom studiranja su dobar osnov da student uspešno izradi i odbrani završni rad i da nakon izrade i odbrane završnog rada bude kompetentan za uspešno primenjivanje stečenih znanja na radnom mestu.
Završni rad student radi samostalno, u skladu sa utvrđenim sadržajem i strukturom u prijavi teme završnog rada, po sugestijama mentora – rukovodioca rada i po uputstvu za tehničku obradu završnog rada. U toku izrade završnog rada mentor i saradnik su dužni da studentu pruže neophodnu pomoć u vidu konsultacija – pregledanja delimičnih rezultata rada, davanja uputstava za rešavanje problema i eventualnog podešavanja izdatog zadatka.

ISTAKNITE SE MEĐU KONKURENCIJOM I NAPRAVITE SLEDEĆI KORAK U VAŠOJ KARIJERI!

ONLINE PRIJAVA ZA UPIS >>

CENA ŠKOLARINA ZA DRŽAVLJANE R.SRBIJE I BIVŠIH SFRJ REPUBLIKA

STUDIJSKI PROGRAM ŠKOLARINA
FAKULTET INFORMACIONIH TEHNOLOGIJA
Informacione tehnologije i sistemi 2.990 €
Inteligentni i napredni informacioni sistemi 2.990 €
FAKULTET ZA MENADŽMENT
Digitalni biznis 2.490 €
FAKULTET DIGITALNIH UMETNOSTI
Vizuelne komunikacije 3.690 €

*Školarinu je moguće plaćati u više mesečnih rata.

ZANIMA VAS VIŠE INFORMACIJA O OVOM PROGRAMU?

Kontakt

E-mail

upis@metropolitan.ac.rs
 

Telefon

011 20 30 885 // 018 551 000
 

Pitajte nas

Ime *

Prezime *

E-mail *

Postavite pitanje *