Objektno oblikovanje
Opis predmeta
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
- definirati osnovne principe objektnog oblikovanja
- primijeniti principe objektnog oblikovanja pri izgradnji srednje složenih informacijskih sustava
- opisati osnovne građevne blokove oblikovanja usmjerenog domenom
- koristiti osnovne građevne blokove oblikovanja usmjerenog domenom kod oblikovanja i izgradnje informacijskih sustava
- opisati problem objektno-relacijskog mapiranja
- razviti objektno-relacijski sloj korištenjem NHibernate frameworka
- primijeniti tehnike razvoja upravljanog testovima
- objasniti prednosti agilnog pristupa razvoju informacijskih sustava i kako oblikovanje usmjereno domenom potpomaže takav agilni razvoj
Oblici nastave
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 znanjaU sklopu predavanja se provode kratke provjere znanja ("blicevi")
SeminariU sklopu predmeta, studenti moraju samostalno osmisliti i realizirati seminar kroz koji će prikazati usvojene tehnike objektnog oblikovanja.
Programske vježbeU 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
- Uvodno predavanje. Važnost objektno orijentirane paradigme, interakcija objektnog oblikovanja s agilnim razvojem informacijskih sustava.
- Ponavljanje osnova objektnog programiranja I - razredi, apstrakcija, enkapsulacija
- Ponavljanje osnova objektnog programiranja II - odnosi među razredima: agregacija/kompozicija i nasljeđivanje, razredi sučelja
- Osnove objektnog oblikovanja - sprega (coupling) i kohezija, design by contract, uloga razreda sučelja
- Principi objektno oblikovanja - Single Responsibility Principle, Open Closed Principle, Liskov Substitution Principle, KISS, YAGNI
- Uloga objektnog oblikovanja u agilnom procesu razvoja programske podrške.
- Međuispiti
- Međuispiti
- Uloge, odgovornosti i kolaboracije (roles, responsibilities & collaborations) - osnovni principi kreiranja kvalitetnih objektnih modela
- Uvod u oblikovanje usmjereno domenom: osnovni principi i građevni blokovi (asocijacije, entiteti, vrijednosti objekti)
- Oblikovanje usmjereno domenom - servisi, repozitoriji, tvornice i agregati
- Uvod u razvoj pogonjen testovima (test-driven development)
- Primjena MVC (Model-View-Controller) i MVP (Model-View-Presenter) obrazaca za izgradnju vizualnog sučelja nad objektnim modelom
- Uvod u objektno-relacijsko mapiranje.
- Osnove korištenja NHibernate programske biblioteke za implementaciju objektno-relacijskog mapiranja