Professional Documents
Culture Documents
6b - Konceptualni Dijagram Klasa
6b - Konceptualni Dijagram Klasa
projektovanje sa UML-om
DEV475 Mastering Object-Oriented Analysis and Design with UML - Volume 1
Modul 6 b
Prof. dr Angelina Njegu
Vanredni profesor Univerziteta Singidunum
anjegus@singidunum.ac.rs
Beograd, 2009/2010.
Projektovanje informacionih
sistema
prof. dr Angelina Njegu
Fokus na klase
Pronalaenje relacija izmeu klasa
Poreenje modela podataka (ERD) i dijagrama klasa
Primer grupisanja klasa u pakete
Poreenje konceptualnog i dijagrama klasa
Projektovanje informacionih
sistema
prof. dr Angelina Njegu
Fokus na klase
Projektovanje informacionih
sistema
prof. dr Angelina Njegu
ta su kljune apstrakcije?
Kljuna apstrakcija je koncept, koji nije pokriven u
Zahtevima
Nije cilj razviti kompletni model klasa, ve samo definisati
neke kljune apstrakcije i osnovne relacije
Identifikovane klase e se najverovatnije menjati tokom
projekta
Definisanje kljunih apstrakcija:
Definisati klase i njihove relacije
Modelovati klase i relacije na dijagramu klasa
Mapirati klase ka mehanizmima analize
Projektovanje informacionih
sistema
prof. dr Angelina Njegu
Projektovanje informacionih
sistema
prof. dr Angelina Njegu
Projektovanje informacionih
sistema
prof. dr Angelina Njegu
Projektovanje informacionih
sistema
prof. dr Angelina Njegu
Projektovanje informacionih
sistema
prof. dr Angelina Njegu
Odravanje konzistentnosti
Obratite panju na klase koje rade sve!
Svaka klasa bi trebala da ima nekoliko odgovornosti
Klasa sa samo jednom operacijom je verovatno suvie
jednostavna i postavlja se pitanje emu
Klasu koja ima previe operacija bi trebalo razdvojiti u
nekoliko klasa
Projektovanje informacionih
sistema
prof. dr Angelina Njegu
ta je asocijacija?
Asocijacija predstavlja relaciju izmeu dva ili vie objekata
razliitih klasa
Veina asocijacija je jednostavna (izmeu tano dve klase) i
prikazuje se kao puna linija izmeu simbola klasa
Ponekad klasa ima asocijaciju na samu sebe
Uglavnom oznaava da jedna instanca klase ima asocijaciju ka
drugoj instanci iste klase
Projektovanje informacionih
sistema
prof. dr Angelina Njegu
Pronalaenje relacija
Projektovanje informacionih
sistema
prof. dr Angelina Njegu
ta je agregacija?
Specijalni oblik asocijacije koja modeluje relacije izmeu celine i njenih delova
Raspored van konteksta studenta nema nikakvog smisla u sistemu Course Registration
Relacija od Schedule do CourseOffering je asocijacija jer kursevi mogu da se pojave na vie
rasporeda
Projektovanje informacionih
sistema
prof. dr Angelina Njegu
Ukoliko modelujete prodavnice kola, onda relacija izmeu kola i vrata treba da bude
modelovana kao agregacija, jer kola uvek dolaze sa vratima, a vrata se nikad
samostalno ne prodaju
Ukoliko modelujete prodavnicu auto delova, onda relacija izmeu kola i vrata moe
da bude asocijacija, jer onda telo kola moe da se pojavi nezavisno od vrata
Projektovanje informacionih
sistema
prof. dr Angelina Njegu
Kompozicija
Projektovanje informacionih
sistema
prof. dr Angelina Njegu
ta su role (uloge)?
Asocijacije sadre neku ulogu u relaciji izmeu klasa
Uloga ili rola se ispisuje na krajevima linije asocijacije
Uloga mora imati naziv (obino imenica)
Projektovanje informacionih
sistema
prof. dr Angelina Njegu
Multiplikativnost
Za svaku rolu se navodi multiplikativnost klase
Multiplikativnost je broj objekata klase koji se moe pridruiti jednom objektu
druge klase
Kada je multiplikativnost nula, onda je takva asocijacija opciona
Belei se na oba kraja relacije
Multiplikativnost odgovara na dva pitanja:
Projektovanje informacionih
sistema
prof. dr Angelina Njegu
Projektovanje informacionih
sistema
prof. dr Angelina Njegu
Projektovanje informacionih
sistema
prof. dr Angelina Njegu
Projektovanje informacionih
sistema
prof. dr Angelina Njegu
Projektovanje informacionih
sistema
prof. dr Angelina Njegu
Projektovanje informacionih
sistema
prof. dr Angelina Njegu
Projektovanje informacionih
sistema
prof. dr Angelina Njegu
Projektovanje informacionih
sistema
prof. dr Angelina Njegu
Projektovanje informacionih
sistema
prof. dr Angelina Njegu
Dijagram klasa
Projektovanje informacionih
sistema
prof. dr Angelina Njegu
Projektovanje informacionih
sistema
prof. dr Angelina Njegu
Projektovanje informacionih
sistema
prof. dr Angelina Njegu
Projektovanje informacionih
sistema
prof. dr Angelina Njegu
Klijent moe da postavi ili otkae porudbinu, kao i da dodaje, menja ili
brie podatke sa oping karte (ShoppingCart)
Artikli (Items) sadre naziv artikla, cenu i opis
Porueni artikli odnosno artikli koji su selektovani i prikazani u oping korpi
mogu se dodavati (addOrderItems) i brisati (removeOrderItems)
Projektovanje informacionih
sistema
prof. dr Angelina Njegu
Sistem pita
OrderFulfillmentClerk za
broj porudbine (zamislite
da je ovo ekran koji eka
na unos), a zatim se i
vraa broj porudbine
Sistem pokuava da
pronae porudbinu u bazi
podataka porudbina
(OrderDB)
Sistem zatim prikazuje
porudbinu
OrderFulfillmentClerk-u
koju je pronaao u bazi
podataka
(OrderFulfillmentClerk
predstavlja interfejs koji e
oni koristiti za ovaj use
case). Znai sistem govori
da ekran prikae
podatak ...
Projektovanje informacionih
sistema
prof. dr Angelina Njegu
Projektovanje informacionih
sistema
prof. dr Angelina Njegu
http://publib.boulder.ibm.com/infocenter/rsahelp/v8/index.jsp?topic=/com.ibm.xtools.modeler.doc/top
ics/cclassd.html