Objektno oblikovanje

Opis predmeta

Obrađuju se tehnike objektno usmjerenog oblikovanja zasnovanog na izradi objektnog modela domene. Definira se uloga oblikovanja u širem kontekstu razvoja informacijskih sustava te se opisuje proces kreiranja modela domene na osnovu provedene analize problema. Razrađuju se i opisuju stereotipni građevni blokovi modela domene, i principi oblikovanja koji se primjenjuju u izradi tog modela.

Opće kompetencije

Studenti se upoznaju sa principima i tehnikama objektno usmjerenog oblikovanja te stječu uvid u ulogu koju oblikovanje ima u procesu razvoja informacijskih sustava. Osposobljavaju se za primjenu naučenih principa kroz prikaz prezentiranih koncepata na case study i kroz samostalnu izradu seminarskog rada.

Ishodi učenja

  1. definirati osnovne principe objektnog oblikovanja
  2. primijeniti principe objektnog oblikovanja pri izgradnji srednje složenih informacijskih sustava
  3. opisati osnovne građevne blokove oblikovanja usmjerenog domenom
  4. koristiti osnovne građevne blokove oblikovanja usmjerenog domenom kod oblikovanja i izgradnje informacijskih sustava
  5. opisati problem objektno-relacijskog mapiranja
  6. razviti objektno-relacijski sloj korištenjem NHibernate frameworka
  7. primijeniti tehnike razvoja upravljanog testovima
  8. objasniti prednosti agilnog pristupa razvoju informacijskih sustava i kako oblikovanje usmjereno domenom potpomaže takav agilni razvoj

Oblici nastave

Predavanja

Nastava na predmetu organizirana je kroz dva nastavna ciklusa. Prvi ciklus se sastoji od 7 tjedana nastave i međuispita, dok drugi ciklus sadržava šest tjedana nastave i završni ispit.

Provjere znanja

U sklopu predavanja se provode kratke provjere znanja ("blicevi")

Seminari

U sklopu predmeta, studenti moraju samostalno osmisliti i realizirati seminar kroz koji će prikazati usvojene tehnike objektnog oblikovanja.

Programske vježbe

U sklopu predmeta studenti moraju samostalno riješiti tri domaće zadaće.

Način ocjenjivanja

Kontinuirana nastava Ispitni rok
Vrsta provjere Prag Udio u ocjeni Prag Udio u ocjeni
Domaće zadaće 0 % 15 % 0 % 10 %
Kratke provjere znanja 0 % 10 % 0 % 0 %
Sudjelovanje u nastavi 0 % 3 % 0 % 0 %
Seminar/Projekt 0 % 20 % 0 % 20 %
Prisutnost 0 % 2 % 0 % 0 %
Međuispit: Pismeni 0 % 20 % 0 %
Završni ispit: Pismeni 0 % 30 %
Ispit: Pismeni 0 % 50 %
Ispit: Usmeni 20 %

Tjedni plan nastave

  1. Uvodno predavanje. Važnost objektno orijentirane paradigme, interakcija objektnog oblikovanja s agilnim razvojem informacijskih sustava.
  2. Ponavljanje osnova objektnog programiranja I - razredi, apstrakcija, enkapsulacija
  3. Ponavljanje osnova objektnog programiranja II - odnosi među razredima: agregacija/kompozicija i nasljeđivanje, razredi sučelja
  4. Osnove objektnog oblikovanja - sprega (coupling) i kohezija, design by contract, uloga razreda sučelja
  5. Principi objektno oblikovanja - Single Responsibility Principle, Open Closed Principle, Liskov Substitution Principle, KISS, YAGNI
  6. Uloga objektnog oblikovanja u agilnom procesu razvoja programske podrške.
  7. Međuispiti
  8. Međuispiti
  9. Uloge, odgovornosti i kolaboracije (roles, responsibilities & collaborations) - osnovni principi kreiranja kvalitetnih objektnih modela
  10. Uvod u oblikovanje usmjereno domenom: osnovni principi i građevni blokovi (asocijacije, entiteti, vrijednosti objekti)
  11. Oblikovanje usmjereno domenom - servisi, repozitoriji, tvornice i agregati
  12. Uvod u razvoj pogonjen testovima (test-driven development)
  13. Primjena MVC (Model-View-Controller) i MVP (Model-View-Presenter) obrazaca za izgradnju vizualnog sučelja nad objektnim modelom
  14. Uvod u objektno-relacijsko mapiranje.
  15. Osnove korištenja NHibernate programske biblioteke za implementaciju objektno-relacijskog mapiranja

Studijski programi

Sveučilišni diplomski
Obradba informacija (profil)
preporučeni izborni predmeti (3. semestar)
Programsko inženjerstvo i informacijski sustavi (profil)
Teorijski predmeti profila (1. semestar)
Računalno inženjerstvo (profil)
Predmeti specijalizacije profila (1. semestar) (3. semestar)
Računarska znanost (profil)
Predmeti specijalizacije profila (1. semestar) (3. semestar)

Literatura

Rebecca Wirfs-Brock, Alan McKean (2002.), Object Design: Roles, Responsibilities and Collaborations Rebecca Wirfs-Brock, Alan McKean Addison-Wesley 2003, Addison-Wesley Professional
Eric Evans (2003.), Domain Driven Design Eric Evans Addison-Wesley 2004, Addison-Wesley Professional
Craig Larman (2004.), Applying UML and Patterns, 3rd ed. Craig Larman Prentice Hall 2005, Addison-Wesley Professional
Erich Gamma, Richard Helm, John Vlissides, Ralph Johnson (1994.), Design Patterns: Elements of Reusable Object-Oriented Software, Addison-Wesley Professional
Robert C. Martin (2002.), 978-0201633610, Prentice Hall

Predavanja

Izvedba

ID 34454
  Zimski semestar
5 ECTS
R0 Engleski jezik
R1 E-učenje

Ocjenjivanje

85 izvrstan
75 vrlo dobar
65 dobar
50 dovoljan