Studentima predstaviti moderni inženjerski pristup razvoju programskih rješenja, s naglaskom na objektno-orijentiranu analizu i modeliranje aplikacijskog softvera iz specifičnih korisničkih zahtjeva te potom i njegov razvoj korištenjem objektno-orijentirane programske paradigme.
Oslanjanjem sadržaja kolegija na kvalitetno osmišljenu ponudu grupnih seminarskih zadataka, potaknuti studente da djeluju kao članovi razvojnog tima te kao takvi zajedno razvijaju i prezentiraju vlastita rješenja.
Potaknuti studente na nadgledano samostalno učenje barem jednog novog, objektno-orijentiranog programskog jezika (C++, C#, Java) ili serverskog skriptnog jezika.
Povezati dosad stečena znanja o implementaciji programskih rješenja (kolegiji Algoritmi i strukture podataka, Objektno i vizualno programiranje, Baze podataka, Programiranje naprednih web aplikacija, itd.) i prikazati ih u njihovom prirodnom okruženju – kao alate za ostvarenje programskih rješenja koja u najvećoj mogućoj mjeri udovoljavaju specifičnim korisničkim zahtjevima.
- Programsko inženjerstvo kao disciplina.
- Razvojni ciklus računalnih aplikacija.
- Pojam i opći principi modeliranja.
- Metode modeliranja svojstvene razvoju računalnih aplikacija.
- Od korisničkih zahtjeva ka logičkom modelu: objektno-orijentirani pristup.
- UML – jezik OO modeliranja.
- Osnovni elementi UML jezika.
- Dinamika objektno-orijentiranog modela: stanje, događaj, poruka.
- Od modela ka implementaciji: objektno-orijentirani pristup.
- Klasa, objekt, svojstvo, metoda.
- Enkapsulacija, nasljeđivanje, polimorfizam.
- Višestruka iskoristivost programskog koda.
- Razvojni uzorci (design patterns).
- Metode testiranja i potvrde udovoljenja korisničkim zahtjevima.
- Prikazi seminarskih radova.