Objektno-orijentirana analiza i razvoj aplikacija

Naziv
Objektno-orijentirana analiza i razvoj aplikacija
Organizacijska jedinica
Odsjek za informacijske i komunikacijske znanosti
ECTS bodovi
6
Šifra
53413
Semestri izvođenja
ljetni
Jezik izvođenja
Hrvatski
Satnica
Predavanja
30
Seminar
15

Cilj
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.
Sadržaj
  1. Programsko inženjerstvo kao disciplina.
  2. Razvojni ciklus računalnih aplikacija.
  3. Pojam i opći principi modeliranja.
  4. Metode modeliranja svojstvene razvoju računalnih aplikacija.
  5. Od korisničkih zahtjeva ka logičkom modelu: objektno-orijentirani pristup.
  6. UML – jezik OO modeliranja.
  7. Osnovni elementi UML jezika.
  8. Dinamika objektno-orijentiranog modela: stanje, događaj, poruka.
  9. Od modela ka implementaciji: objektno-orijentirani pristup.
  10. Klasa, objekt, svojstvo, metoda.
  11. Enkapsulacija, nasljeđivanje, polimorfizam.
  12. Višestruka iskoristivost programskog koda.
  13. Razvojni uzorci (design patterns).
  14. Metode testiranja i potvrde udovoljenja korisničkim zahtjevima.
  15. Prikazi seminarskih radova.

Ishodi učenja
  1. Usvajanje koncepata programskog inzenjerstva
  2. Ovladavanje objektno-orijentiranom metodologijom
  3. Definiranje problema OO pristupom
  4. Koristenje OO programskih jezika za rjesavanje problema
  5. Tecnost uporabe UML jezika
Metode podučavanja
Klasična predavanja i seminari, sa svrhom pojašnjenja osnovnih teorijskih postavki: tijek razvoja softvera, modeliranje, objektno-orijentirane metode i programski jezici. Izrada grupnih seminarskih radova s kontinuiranim prezentiranjem tijeka izrade na predefiniranim kontrolnim točkama; metoda je odabrana jer na vrlo sličan način funkcionira i razvoj programskih rješenja u poslovnom svijetu.
Metode ocjenjivanja
seminarski radovi, usmeni ispit po potrebi

Obavezna literatura
  1. Ian Sommerville: Software Engineering. Addison-Wesley, 2006.
  2. Grady Booch et al.: Object-Oriented Analysis and Design with Applications. Addison-Wesley, 2004.
  3. Erich Gamma et al.: Design Patterns: Elements of Reusable Object-Oriented Software. Addison-Wesley, 1995.
  4. Martin Fowler: UML Distilled: A Brief Guide to the Standard Object Modeling Language. Addison-Wesley, 2003.
Dopunska literatura

Izborni predmet na studijima
  1. Informacijske znanosti, sveučilišni preddiplomski jednopredmetni studij, 6. semestar
  2. Informacijske znanosti, sveučilišni preddiplomski dvopredmetni studij, 6. semestar