Professional Documents
Culture Documents
03 Dijagrami Klasa
03 Dijagrami Klasa
Dijagrami klasa
Uvod
Dijagrami klasa
15.10.2006.
Klasifikatori
Klasifikator je
Dijagrami klasa
15.10.2006.
Klasa
15.10.2006.
Ikona klase
Odgovornosti klase
jednostavan:
<naziv>
sa putanjom:
<naziv paketa>::
<jednostavan naziv>
npr:
java::awt::Rectangle
karakteristinaTacka
pomeri()
promeniVelicinu()
prikazi()
atributi
operacije
Responsibilities
--geometrijska svojstva
figura u ravni
odgovornosti
Dijagrami klasa
15.10.2006.
Atributi i operacije
Dijagrami klasa
15.10.2006.
Dodatne mogunosti
Potrosac
Klasa moe sadrati prazne odeljke, a moe biti i bez odeljaka
Prazan odeljak atributa/operacija ne znai da ih klasa nema,
ve da nisu relevantni za dati pogled (dijagram)
Potrosac
Mogu se koristiti i tri take (...)
da naznae postojanje dodatnih atributa/operacija
Atributi/operacije se mogu grupisati,
a svakoj grupi moe da prethoditi opisni prefiks
Apstraktna klasa i apstraktna operacija naziv se pie italicom ili {abstract}
Zajedniki lanovi (atributi i operacije) klase piu se podvueno
Pravo pristupa lanu (vidljivost, visibility): znak se pie ispred atributa/operacije:
javni lan:
zatieni lan:
paketski lan:
privatni lan:
+ (podrazumevano)
#
~
-
Dijagrami klasa
15.10.2006.
Tipovi podataka
<<primitive>>
int
{vrednosti u opsegu
od 2**31-1 do 2**31}
Dijagrami klasa
<<enumeration>>
Boolean
false
true
15.10.2006.
Osobine klasa
Dijagrami klasa
15.10.2006.
Sintaksa atributa
Sintaksa atrubuta:
[pravo_pristupa] [/] ime [:tip] [multiplikativnost]
[=inicijalna_vrednost][{osobina}]
Simbol / oznaava da je atribut "izveden" (moe se "izraunati" na osnovu drugih)
Multiplikativnost se primenjuje na atribute klase
Specificira se kao interval celih brojeva, gornja granica moe biti neograniena
Pie se u uglastim zagradama, na primer: consolePort:Port[2..*]
Osobine atributa (neke):
10
readOnly
vrednost se ne moe menjati, dodavati ni uklanjati nakon
inicijalizovanja
ordered
vrednosti su ureene
bag
dozvoljava ponavljanje elemenata (nije skup)
seq ili sequence isto to i ordered bag (ureen niz)
composite
atribut sloene strukture
redefines <ime> redefinie <ime>
subsets <ime> podskup skupa atributa <ime>
Dijagrami klasa
15.10.2006.
Sintaksa operacije
Sintaksa operacije:
[pravo_pristupa] ime ([lista_argumenata])
[: tip_rezultata] [{osobina}]
Sintaksa argumenta u listi:
[smer] ime : tip [multiplikativnost]
[ = podrazumevana_vrednost] [{osobina}]
Smer moe biti:
Osobine operacije:
11
in
out
inout
isQuery izvrenje ne menja stanje objekta, operacija je ista funkcija bez bonih efekata
sequential pozivaoci moraju obezbediti da je samo jedna nit u jednom trenutku poziva
guarded operacija garantuje sekvencijalizaciju svih poziva svih guarded operacija
concurrent operacija se izvrava u konkurentnoj sredini kao atomska
leaf operacija nije polimorfna i ne moe se redefinisati u izvedenoj klasi
Dijagrami klasa
15.10.2006.
Relacije
Komunikacija
klasa
Na klasnim dijagramima se pojavljuju sve
etiri (prve tri su ee) vrste relacija:
12
zavisnost (dependency)
asocijacija (association)
generalizacija (generalization)
realizacija (realization)
Dijagrami klasa
15.10.2006.
Zavisnost
13
Vie stereotipova
Dijagrami klasa
15.10.2006.
Zavisnost
14
Dijagrami klasa
15.10.2006.
Generalizacija
15
Dijagrami klasa
15.10.2006.
Generalizacija
16
Dijagrami klasa
15.10.2006.
Asocijacija
17
Dijagrami klasa
15.10.2006.
Konzolni prozor
18
Dijalog
Dijagrami klasa
Dogadjaj
Kontrola
15.10.2006.
Ukrasi asocijacije
19
naziv
ime
multiplikativnost
asocijacija
smer itanja
uloge
Radi za
1 Kompanija
Osoba 1..*
navigabilnost
poslodavac
zaposlen
1
multiplikativnost
agregacija ili kompozicija
uloga
celina
pravo pristupa (vidljivost)
kraju preko asocijacije
Dijagrami klasa
agregacija
Odeljenje
*
deo
15.10.2006.
Multiplikativnost
Implementacija:
20
nijedan (0),
tano jedan (1),
proizvoljno mnogo, ukljuujui 0 (*),
opseg (npr. 2..*)
Dijagrami klasa
15.10.2006.
Agregacija
21
Dijagrami klasa
Deo
15.10.2006.
Kompozicija
22
15.10.2006.
Kompozicija
Grafika
notacija:
Celina
Deo
Implementacija:
class Celina {
private: Deo d;
}
23
Dijagrami klasa
15.10.2006.
Primer asocijacija
ima
Fakultet
1..*
Katedra 0..1
1..*
1..*
1..*
pridruzen
Clan
*
Student
pohadja
*
24
1..*
predaje
Kurs
*
Dijagrami klasa
1..* 1 sef
Nastavnik
1..*
15.10.2006.
Navigacija
25
Dijagrami klasa
15.10.2006.
Korisnik
26
Lozinka
Dijagrami klasa
15.10.2006.
Ugnedavanje
Oznaava
27
Dijagrami klasa
15.10.2006.