Download as doc, pdf, or txt
Download as doc, pdf, or txt
You are on page 1of 6

UML Dijagram klasa

Klasa predstavlja skup objekata koji imaju zajedničku strukturu i


ponašanje. Svrha dijagrama klase je da opiše klase unutar modela. U
objektno-orijentisanoj aplikaciji klase imaju atribute (member variables),
operacije (member functions) i veze sa drugim klasama. Osnovni element
klasnog dijagrama je ikona koja predstavlja klasu. Ikona klase je
pravougaonik podeljen horizontalnim linijama i sastoji se iz tri dela. Gornji
deo prikazuje ime klase, u srednjem delu je lista atributa, a u donjem delu
su operacije. U mnogim dijagramima poslednja dva dela se zanemaruju.
Cilj je da se prikažu samo oni atributi i operacije koji su korisni za
određeni dijagram.

Slika1: Primer klase za avio-kompaniju

Atributi

Atributi su strukturne karakteristike klase. Oni opisuju podatke


sadržane u objektu klase i prikazaju se u drugom (srednjem) delu ikone
klase. Atributi se u klasi nalaze na zasebnim linijama. Svaka linija atributa
koristi format:

ime : tip atributa

Tipovi atributa mogu biti: ceo broj (integer), realni broj (real), karakter
(char), itd.

U objektno-orijentisanom dizajnu postoji notacija vidljivosti


(dostupnosti) za atribute i operacije. UML identifikuje tri tipa vidljivosti:
public, protected, i private, a dostupnost atributa se može zadati.

 Javno: označeno znakom plus (+).


Svi objekti mogu pristupiti podatku ili metodi.

 Zašticeno: označeno znakom tarabe (#).


Samo objekti te klase i svih njenih izvedenih klasa mogu pristupiti tom
podatku ili metodi.
 Privatno: označeno znakom minus (-).
Samo metode te klase mogu pristupiti tom podatku ili metodi.

Operacije

Operacije definišu ponašanje klase. Kao atributi, operacije klase su


prikazane u listi gde se svaka operacija nalazi na svojoj liniji. Operacije se
dokumentuju koristeći sledeću notaciju:

ime (lista parametara) : type of value returned

Relacije u UML-u

Relacija je opšti termin koji pokriva specifične tipove logičke


konekcije među klasama na klasnom dijagramu. Postoje četiri tipa relacija
unutar UML modela:

 Asocijacija (eng. association)


 Generalizacija (eng. generalization)
 Zavisnost (eng. dependency)
 Realizacije (eng. realization)

Asocijacija

Asocijacija je strukturna relacija koja određuje da li su instance


jedne klase povezane sa instancama druge klase. Graficki se predstavlja
kao puna linija, ciji svaki kraj povezuje klasni element. Asocijacija može da
bude imenovana, a krajevima asocijacije se može pridodati oznaka koja
pokazuje višestrukost, vidljivost i ostale osobine. Višestrukost
(multiplikativnost) pokazuje koliko objekata može učestvovati u datoj vezi.
Uobičajene višestrukosti koje se primenjuju su:

 nijedan (0),
 tačno jedan (1),
 proizvoljno mnogo, uključujući 0(*),
 opseg (npr. 2..*).

Znak * (zvezdica) označava beskonačnost.


Slika2: Asocijacija

Generalizacija

Generalizacija je veoma važan koncept u objektno-orijentisanom


dizajnu. Odnosi se na mogućnost jedne klase (dete klasa) da nasledi
identične osobine druge klase (super klasa), a zatim da doda nove,
sopstvene funkcionalnosti. Za predstavljanje generalizacije na dijagramu
klase, koristi se puna linija na čijem kraju se nalazi prazan trougao. Linija
se povlači od dete klase prema super klasi.

Slika3: Generalizacija na primeru bankovnog računa


Zavisnost

Između dva elementa postoji zavisnost ako promena definicije


jednog uzrokuje promenu drugog. Relacija zavisnosti se predstavlja
isprekidanom linijom, koja pokazuje smer od zavisnog ka nezavisnom
elementu.

Realizacija

U relaciji realizacije jedan entitet definiše set funkcionalnosti kao


ugovor, a drugi entitet realizuje ugovor implementiranjem njegovih
“uslova”.

Agregacija i kompozicija

Agregacija i kompozicija su vrste asocijacije. Agregacija je oblik


asocijacije koja uspostavlja vezu između celine i dela. Agregirana klasa je
na neki način celina, a druga klasa u vezi je deo te celine. Životni ciklus
klase “deo” je nezavisan od klase “celina”. Agregacija se grafički
predstavlja znakom “prazan dijamant”.

Slika4: Agregacija između dve klase

Kao i agregacija, kompozicija je vrsta asocijacije kod koje je klasa-


dete zavisna od klase-roditelj. Ako se klasa-roditelj kao celina kopira ili
briše, njeni delovi se kopiraju ili brišu sa njima. Grafička predstava relacije
kompozicije je ispunjen dijamant.

Slika5: Kompozicija
LITERATURA:

1. The Rational Edge – November 2003 – UML Basics Part III: The
Class Diagram by Donald Bell

2. UML tutorial – Robert C. Martin

3. Alan Shalloway, James R. Trott – Projektni obrasci, 2004.

4. Martin Fowler, Kendall Scott - UML Distilled Second Edition. A Brief


Guide to the Standard Object Modeling Language, 1999.
SADRŽAJ:

UML Dijagram klasa......................................................1


Atributi..........................................................................................1

Operacije.......................................................................................2

Relacije u UML-u...........................................................2
Asocijacija.....................................................................................2

Generalizacija................................................................................3

Zavisnost.......................................................................................4

Realizacija..................................................................................... 4

Agregacija i kompozicija................................................................ 4

Literatura.....................................................................5
Sadržaj.........................................................................6

You might also like