Softversko inženjerstvo
OAS SOFTVERSKO INŽENJERSTBO Trajanje studija: 4 godine Broj ESPB: 240 ESPB Izborni moduli: Modul SI: Softversko inženjerstvo Modul RI: Razvoj igara Modul SI: Softversko inženjerstvo Modul RI: Razvoj igara Zvanje: Diplomirani informatičar Polje: Prirodno-matematičke nauke Oblast: Računarske nauke Oblici studiranja: tradicionalni (u prostorijama univerziteta) i onlajn, preko Interneta (e-učenje) Opis programa Program osposobljava studenta da se bavi profesionalnim razvojem softvera, jer im obezbeđuje znanja iz dve oblasti: Računarske nauke i Softversko inženjerstvo (prema kategorizacijama IEEE i ACM). Zajednički deo nastave obezbeđuje sticanje fundamentalnih znanja iz računarskih nauka, što je neophodno svakome koji želi da se bavi razvojem softvera. Modul 1 omogućuje sticanje znanja iz svih faza procesa razvoja softvera. Modul 2 je namenjen studentima koji žele da se usmere ka razvoju softvera za računarske igre (ovo je jedini program u Srbiji koji to nudi studentima). Program je usaglašen sa najnovijim preporukama američkih profesionalnih udruženja IEEE i ACM. U programu se daje naglasak na sticanje praktičnih i primenjivih znanja i veština. Iz svakog predmeta se rade praktični projekti i veliki broj zadataka. Po završetku studija, student je potpuno osposobljen za uspešan rad u softverskoj industriji.
Šta je softversko inženjerstvo? 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. Američko udruženje IEEE definiše softversko inženjerstvo kao primena jednog sistematskog, disciplinovanog i kvantifikovanog pristupa za razvoj, rad, i održavanje softvera. Softversko inženjerstvo integriše računarske nauke i inženjerske principe koji se primenjuju pri razvoja proizvoda u drugim oblastima inženjerstva (tehnike). Softversko inženjerstvo se bavi razvojem visokokvalitetnog softvera na jedan sistematski, upravljiv i efikasan način. 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. Oblast znanja pokriveno studijama iz Softverskog inženjerstva (izvor: IEEE&ACM)
Poslovi za koje se studenti osposobljavaju Studenti koji završe osnovne akademski studije iz softverskog inženjerstva osposobljeni su da rade na razvoju profesionalnog softvera industrijskog kvaliteta. Ti poslovi obuhvataju: Utvrđivanje potreba i zahteva korisnika softvera i njihovo prevođenje u inženjerske zahteve čije zadovoljenje obezbeđuje punu funkcionalnost softvera, ali i dostizanje profesionalnog kvaliteta softvera; Postavljanje arhitekture softverskog sistema, definisanje softverskih modula i komponenata, ako i njihovih međusobnih interfejsa; Projektovanje softverskog sistema, odnosno, projektovanje objektno-orijentisanog (OO) sistema, na osnovu postavljenog OO modela i primenom UML jezika za modeliranje OO 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; Rukovođenje projektima razvoja softvera, i dr. Najčešća radna mesta diplomiranih studenata Radna mesta na kojima rade stručnjaci za softversko inženjerstvo se različito zovu u različitim organizacijama. Negde je uloga softverskog inženjera izjednačena sa poslom programera, projektanta softvera i dr. Uspešni završetak ovih studija omogućiće diplomiranim studentima da uspešno rade na razvoju profesionalnih i kvalitetnih softverskih sistema, pre svega u specijalizovanim preduzećima za razvoj softvera, ili da rade kao nezavisni softverski inženjeri koji po ugovoru rade na razvoju softvera za potreba inostranih, ali i domaćih preduzeća.
Usaglašenost programa sa međunarodnim standardima Program u većem delu je raden za računarsku disciplinu: Računarske nauke, a u manjem delu, za računarsku disciplinu: Softversko inženjerstvo. Ovo je nužno, jer se sposobnost razvoja profesionalnog softvera (softversko inženjerstvo) nadgrađuje na znanje i sposobnosti programiranja, korišćenju baza podataka, računarskih mreža, komunikacije čovek-računat, arhitekture računara i operativnih sistema (najveći deo disciplene: Računarske nauke). Zbog toga, studijski program c Program je usaglašen sa sledećim preporukama američkih profesionalnih udruženja: Software Engineering 2004 - Curriculum Guidlines for Undergraduate Degree Programs in Software ENgineering, August 23, 2004, IEEE Computer Society and Association for Computing Machinery Computer Science Curricula 2013 Ironman Draft (Version 1.0), February 2013, IEEE Computer Society and Association for Computing Machinery Studijski program obezbeđuje sticanje neophodnog znanja, tj. tzv. korpus znanja (Body of Knowledge) u skladu sa oba navedena dokumenata, tj. ujedinjujući korpuse znanja definisane za oblast Računarskih nauka i oblast Softverskog inženjerstva, koji su opisani u sledećim dokumentima: Guide to the Software Engineering Body of Knowledge (2004 Version) SWEBOK, IEEE Computer Society The Guide to the Software Engineering Body of Knowledge - SWEBOK Guide, Version 3, Appendix A - Knowledge Area Description Specifications, Draft 18 September 2011, IEEE Computer Society Baseline List of Topics, SWEBOK Guide V3 (status as of 21/08/2012), IEEE Computer Society Computer Science Curricula 2013 Ironman Draft (Version 1., Appendix A: The Body of Knowledge, IEEE Computer Society and Association for Computing Machinery Primenom najnovijih preporuka profesionalnih udruženja IEEE Computer Society i ACM pri izradi kurikuluma za OAS Softversko inženjerstvo, obezbeđeno je da studenti dobiju najsavremenija i standardizovana znanja iz oblasti računarskih nauka i softverskog inženjerstva, u skladu sa međunarodno priznatim preporukama za kurikulume iz ovih oblasti. To obezbeđuje i međunarodno priznavanje stečenog znanja i diplome sa OAS Softversko inženjerstvo, te samim tim, i olakšano zapošljavanje diplomiranih studenata u inostranstvu.
Predmeti studijskog programa Četvorogodišnji program obuhvata ukupno 31 predmet, i to: 25 zajedničkih predmeta (od kojih je jedan izborni) i 6 predmeta izbornog modula. Zajednički predmeti za oba modula: Obavezni predmeti: 1. CS101 Osnove programiranja 2. CS120 Uvod u organizaciju računara 3. MA101 Matematika 1 4. NT111 Engleski 1 5. CS102 Objekno-orijentisano programiranje 6. MA202 Matematika 2 7. CS115 Diskretne strukture 8. NT112 Engleski 2 9. CS103 Strukture prodataka i algoritmi 10. MA273 Verovatnoća i statistika 11. NT213 Engleski za informatičare 12. SE202 Softversko inženjerstvo 13. CS220 Arhitektura računara 14. IT350 Baze podataka 15. NT310 Prоfеsiоnаlnа kоmunikаciја 16. IT370 Interakcija čovek-računar 17. IT331 Računarske mreže i komunikacije 18. CS225 Operativni sistemi 19. CS360 Veštačka inteligencija 20. IT390 Profesionalna praksa i etika 21. IT381 Zaštita i bezbednost informacija 22. SE325 Upravljanje projektima razvoja softvera 23. SE491 Stručna praksa 24. SE495 Završni rad
Jedan izborni predmet, po izboru studenta: CS324 Skripting jezici CS321 Napredno programiranje u Javi CS327 Napredno programiranje u C++ CS322 Programiranje u C#\ Predmeti izbornog Modula SI: Obavezni predmeti: 1. SE211 Konstruisanje softvera 2. SE311 Prојеktоvаnjе i аrhitеkturа sоftvеrа 3. SE322 Аnаlizа zаhtevа zа sоftvеr 4. SE321 Obezbeđenje kvaliteta, testiranje i održavanje softvera Izborni predmeti: Izborni predmet 1: a. CS380 Ugrađeni sistemi b. CS330 Razvoj mobilnih aplikacija c. IT320 Savremene tehnološke platforme Izborni predmet 2: a. CS230 Distribuirаni sistеmi b. CS510 Paralelno programiranje c. IT250 Veb sistemi
Predmeti izbornog Modula RI: Obavezni predmeti: 1. AD360 Uvod u računarske igre 2. AD365 Projektovanje i mehanika igara 3. CS367 Razvoj igara 1 4. CS430 Veštačka inteligencija u igrama 5. CS368 Razvoj igara 2 Izborni predmet: CS365 Interakcija korisnika i testiranje igara AD361 Izrada računarskih igara
Sеmеstаr 1 2 3 4 5 6 7 8 Rеdni brој Osnovne akademske studije SOFTVERSKO INŽENJERSTVO Izborni modul SOFTVERSKO INŽENJERSTVO 4 god. 240 ESPB Školska 2013/14 godina ESPB bоdоvi Broj časova nedeljno 1 CS101 Osnove programiranja 10 3 1 3 0 2 CS120 Uvod u organizaciju računara 8 2 1 1 0 3 MA101 Matematika 1 8 3 2 0 0 4 NT111 Engleski 1 4 2 1 0 0 5 CS102 Objektno-orijentisano programiranje 10 3 1 3 0 6 MA202 Matematika 2 8 3 2 0 0 7 CS115 Diskretne strukture 8 3 2 0 0 8 NT112 Engleski 2 4 2 1 0 0 9 CS103 Strukture podataka i algoritmi 10 3 1 3 0 10 Izborni predmet programa 8 2 1 3 1 11 MA273 Verovatnoća i statistika 8 2 1 1 0 12 NT213 Engleski za informatičare 4 2 1 0 0 13 SE202 Softversko inženjerstvo 8 2 1 2 1 14 CS220 Arhitektura računara 8 3 2 1 0 15 IT350 Baze podataka 8 2 1 2 0 16 NT310 Prоfеsiоnаlnа kоmunikаciја 6 2 1 0 0 17 IT370 Interakcija čovek-računar 8 2 1 2 0 18 IT331 Računarske mreže i komunikacije 8 2 1 1 0 19 CS225 Operativni sistemi 8 2 1 3 0 20 SE211 Konstruisanje softvera 8 2 1 2 0 21 CS360 Veštačka inteligencija 8 3 0 3 0 22 SE311 Prојеktоvаnjе i аrhitеkturа sоftvеrа 8 2 1 2 0 23 SE322 Аnаlizа zаhtevа zа sоftvеr 8 2 1 2 0 24 SE321 Obezbeđenje kvaliteta, testiranje i održavanje softvera 8 2 1 2 0 25 Izborni predmet 1 modula SI 8 2 1 2 0 26 IT390 Profesionalna praksa i etika 6 2 2 0 0 27 IT381 Zaštita i bezbednost informacija 8 3 1 2 0 28 SE325 Upravljanje projektima razvoja softvera 8 2 1 2 0 29 Izborni predmet 2 modula SI 8 3 1 1 0 30 SE491 Stručna praksa 6 0 0 0 0 31 SE495 Završni rad 12 0 0 0 0 Ukupno ESPB bоdоvа: 240 Prеdаvаnjа Vеžbе Laborator. vežbe Drugi oblici nastave
Sеmеstаr 3 7 8 Rеdni brој Osnovne akademske studije SOFTVERSKO INŽENJERSTVO Izborni predmeti modula SOFTVERSKOG INŽENJERSTVA 4 god., 240 ESPB Školska 2013/14 Izborni blok studijskog programa (bira se jedan predmet ) ESPB bоdоvi Broj časova nedeljno 10 CS324 Skripting jezici 8 2 1 3 1 10 CS321 Napredno programiranje u Javi 8 2 1 3 1 10 CS327 Napredno programiranje u C++ 8 2 1 3 1 10 CS322 Programiranje u C# 8 2 1 3 1 Izborni blok 1 modula SI (bira se jedan predmet sa 8 ECTS) 25 CS380 Ugrađeni sistemi 8 2 1 2 0 25 CS330 Razvoj mobilnih aplikacija 8 2 1 2 0 25 IT320 Savremene tehnološke platforme 8 2 1 2 0 Izborni blok 2 modula SI (bira se jedan predmet sa 8 ECTS) 29 CS230 Distribuirаni sistеmi 8 2 1 2 0 29 CS510 Paralelno programiranje 8 3 1 1 0 29 IT250 Veb sistemi 10 3 1 2 0 Prеdаvаnjа Vеžbе Laborator. vežbe Drugi oblici nastave NAPOMENE: 1. Pored navedenih izbornih predmeta, na poseban zahtev, studentu se mogu odobriti i drugi predmeti sa svih studijskih programa osnovnih studija Univerziteta ili predmeti sa drugih univerziteta za koje se javno objavljuju svi materijali za učenje (tzv. MOOC) 2. Sem u specijalnim slučajevima, u slučaju da na izbornom predmetu ima manje od 5 studenata, nastava se drži samo preko Interneta (onlajn)..