class diagram singi
DESCRIPTION
Class diagramsTRANSCRIPT
®
IBM Software Group
© 2007 IBM Corporation
DEV396: Essentials of IBM Rational Software Architect, V7
Vežba 10: Class Diagram
2
Class DiagramsKlasni dijagrami prikazuju klase sistema, njihove međusobne veze, kao i operacije i atribute svake klase.
3
Class Icon
Template Class ParameterClass Name
Private: -PrivatePublic: +PublicProtected: #ProtectedPackage: ~PackageAttribute
4
Class Relationships
Dijagrami klasa mogu sadržati sledeće veze:
Asocijacija
Agregacija
Kompozicija
Generalizacija
Zavisnost
Realizacija
ILI
ILI
ILI
5
AsocijacijaAsocijacija je strukturna veza kojom se određuje da je objekat jedne klase povezan sa objektom druge ili iste klase.Asocijacija može biti dvosmerna or jednosmerna.
OR
6
Asocijacija - PridruživanjeOna kaže da jedan objekt ima za atribut primerak drugog ili su ti objekti povezani u smislu posedovanja (ali ne i odnosa sastojati se od).Npr. prodavac je vezan pridruživanjem sa svojim kupcima, ali prodavac se ne sastoji od kupaca.
7
Mnogostrukost
Mnogostrukost asocijacije određuje broj primeraka jedne klase u odnosu na drugu klasu
8
AgregacijaJači oblik asocijacije, koja označava povezanost celine sa nekim njenim delom
Povezuje deo sa celinom tako da se deo može izostaviti iz celinepokazuje da klasa sadrži drugeklase tj. da je deo druge klase
OR
9
Agregacija, gomilanjeNpr. putovanje vozom se sastoji od niza putovanja između stanica.Prodavnica agregira više odeljenja, tj. prodavnica se sastoji od odeljenja.
10
KompozicijaAgregacija sa jakom vezom
povezuje deo sa celinom tako da se deo ne može izostaviti iz celine
OR
11
GeneralizacijaVeza između nadklase i njenih podklasa. Opisuje hijerarhijski odnos među klasama.Klase mogu naslediti atribute i ponašanje od nadklasa koje mogu biti podklase drugih klasa.
12
ZavisnostRelacija gde jedna klasa zavisi od druge.
13
Realizacija
realizacija je slična nasleđivanju samo što se kod realizacije nasleđuju samo operacije sa parametrima, a bez implementacije
14
KLASE – ŠTA RADE I KAKO IH NAĆIU vašem razgovoru sa klijentima, obratite pažnju na imenice koje koriste da bi opisali entitete u svom poslu. Te imenice će biti klase u vašem modelu.Takođe obratite pažnju na glagole koje čujete jer će oni stvarati metode unutar klasa. Atributi će izaći kao imenice koje su u vezi sa imenicama koje određuju klasu.
15
Pretpostavimo da ste vi analitičar koji gradi model za košarku, i intervjuišete trenera u cilju da shvatite igru.
Analitičar: “Treneru, u čemu je cilj košarke?”Trener: “Cilj igre je da ubacite loptu u koš i da postignete više bodova od vašeg protivnika. Svaki tim se sastoji od 5 igrača: dva odbrambena, dva napadača i centar. Svaki tim krene u napad sa krajnjim ciljem da pogodi koš.”Analitičar: “Kako oni vode napad?”Trener: “Driblanjem i dodavanjem. Tim mora pucati pre nego što istekne vreme za napad.”Analitičar: “Vreme za napad?”Trener: “Da. To je 24 sekunde. Nakon toga druga ekipa dobija loptu.”
16
Analitičar: “Kako se broje bodovi?”Trener: “Svaki koš se broji kao dva boda, osim ako nije gađano sa linije za tri boda. U tom slučaju, koš se broji kao tri boda. Slobodno bacanje se broji kao jedan bod. Usput, slobodno bacanje je kazna za tim koji je načinio prekršaj. Ako igrač “faulira” protivnika, igra se zaustavlja i protivnik ima pravo na slobodna bacanja.”Analitičar: “Recite mi malo više što svaki igrač radi.”Trener: “Odrambeni uglavnom izvode većinu driblanja i dodavanja. Najčešće su niži od napadača, a napadači niži od centra. Svi igrači moraju biti sposobni driblati, dodavati, pucati i braniti. Napadači većinu puta pucaju, dok centar stoji blizu koša i puca iz veće blizine. ”Analitičar: “Kakve su dimenzije terena? Koliko dugo traje igra?”Trener: “U internacionalnim utakmicama teren je dug 28 i 15 metara širok. Koš je 3,4 m iznad poda. U Americi igra traje 48 minuta i podeljena je na četvrtine po 12 minuta.U univerzitetskoj i internacionalnoj košarci igra traje 40 minuta podeljena na dva dela po 20 minuta. Sat pokazuje koliko je vremena ostalo.”...
17
Ovo bi moglo trajati i trajati, ali urađićemo presek da vidimo što smo saznali.
Evo imenica koje smo saznali:lopta, koš, tim, igrači, odbrana, napadači, centar, trojka, slobodno bacanje, faul, linija slobodnog bacanja, teren.
Evo i glagola:pucanje, vođenje napada, driblanje, dodavanje, fauliranje.
Imamo i neke dodatne informacije o nekim imenicama relativna visina igrača na svakoj poziciji, dimenzije terena, koliko traje napad, trajanje utakmice.
Naravno i mi sami bi se mogli setiti nekih atributa:Npr. lopta ima svoj volumen, promer.
18