Professional Documents
Culture Documents
Osnovni cilj, a samim tim i svrha ovog istraživanja jeste objasniti pojam UML dijagrama
sa osvrtom na sami UML grafički jezik. Radi lakšeg shvatanja rada opisani su osnovni UML
dijagrami a to su strukturni dijagrami, dijagrami ponašanja i interakcijski dijagrami.
UML dijagram je grafička predstava skupa elemenata tj. iscrtan kao graf čvorova (stvari) i
lukova (relacija) te on prikazuju sistem iz više uglova.
7
2. POJAM UML-A
Godina 2005. verziju 1.5 zamjenila je verzija 2.0. Specifikacija verzije 2.x sastoji se od 4
dijela:
8
- UML Diagram Interchange - definiše izgleda UML 2.x dijagrama. 1
Najvažniji cilj UML-a se krije u tome, da se on smatra općim jezikom u svrhu modeliranja
kojeg mogu svi koristiti. Neke karakteristike UML-a (vezane za cilj) su da:
1. Stvari strukture,
1
Turopoli D. (2017): UML, Sveučilište J.J.Strossmayera u Osijeku, Osijek.
9
2. Stvari ponašanja,
3. Stvari grupiranja,
4. Stvari anotacije.
10
3. UML DIJAGRAMI
Pa najveća zabluda ljudi u vezi sa UML-om je ta da je to neki čudotvorni jezik koji će vam
omogućiti da uz hrpu dijagrama napravite novi OS, ili novi Office te iako je jedna od namjena
jezika i automatsko generiranje koda to nije njegova jedina namjena a nije ni najvažnija zapravo
najvažnija namjena UML-a je komunikacija. O čemu se radi pa očito je da software postaje sve
kompleksniji i jednostavno teško je nekome objasniti što ste vi točno napravili gledajući samo u
kod, iako je kod još uvijek najvjerodostojniji i najtočniji izvor informacija kod je jednostavno
prekompliciran puno je jednostavnije pokazati čovjeku dijagrame jer još uvijek vrijedi ona da slika
vrijedi tisuću riječi.
Zamislite sljedeću situaciju dolazite u novi tim i dobili ste kao zadatak da napravite jedan
od dijelova samog projekta da bi uopće vidjeli gdje se nalazi vaš dio u cijeloj toj priči najlakše je
pogledati UML dijagrame i iz samih dijagama zaključiti što je vaš posao točno. Naravno to nije
jedini vid komunikacije naime postoji mogućnost da ste u svom projektu došli do nekakvog
velikog problema i potrebna vam je pomoć, tvrtka je pozvala vanjskog konzultanta koji će vam
pomoći kad on dođe najjednostavnije mu je pokazati UML dijagrame velika je vjerovatnost da će
iskusan konzultant ubrzo iz njih doći do zaključka gdje je problem.
Model se u UML-u prikazuje grafički pomoću dijagrama. Svaki dijagram omogućava jedan
pogled na dio sustava. Neki dijagrami opisuju strukturu sustava dok se drugi bave funkcionalnosti
sustava, te tko sve može koristiti te funkcionalnosti. Na slici 1 je prikazana podjela UML dijagrama
po vrsti:
11
Slika 1: Pregled tipova UML dijagrama
Kao i svaki drugi jezik UML se sastoji od dvije stvari gramatike i pravopisa naime postoje
pravila na koji način možete slagati dijagrame i pravila o tome koje elemente kako koristiti.Sami
dijagrami se zovu meta modeli a sama pravila notacija.U biti UML se sastoji od nekoliko dijelova
use case dijagrama,class dijagrama,interakcijskih dijagrama,dijagrama paketa,dijagrama
stanja,dijagrama aktivnosti i fizičkih dijagrama.
Možda najzanimljiviji elementi UML-a su use case dijagrami, class dijagrami te fizički
dijagrami. Svaki od ova tri dijagrama pokrivaju posebno područje, use case dijagrami se najčešce
koriste u komunikaciji izmedu korisnika samog programa i programera te u definiranju dogadaja
unutar programa npr. jedan use case bi mogao biti stiskanje miša na meniju File očito se ovdje radi
o jednom događaju ali očito se radi i o nečemu što će korisnik uraditi. S druge strane sami use
12
caseevi mogu imati više scenarija pa recimo u nasem primjeru jedan scenariji je da će pritiskom
miša se otvoriti padajući meni File a drugi scenariji je recimo da će se srušiti cijeli program, oćito
da ovaj drugi scenariji nije poželjan. Druga vrsta jako popularnih dijagrama su class dijagrami
naime bit većine objektno orijetiranih jezika je mogućnost stvaranja novih tipova podataka
zamislimo da imamo klasu auto iz nje očito možemo izvesti klasu bmw i mercedes a opet i sama
klasa auto je nastala od klase vozilo očito da da tu postoje nekakvi odnosi nasljedivanja slični istim
takvim odnosima u stvarnom svijetu (dijete nasljeduje osobine od roditelja, proizvod od proizvoda
prije njega). 2
Navesti ćemo sljedeću notaciju za dijagrame: U gornjem lijevom kutu dijagrama nalazi se
pentagon koji sadrži tip i ime dijagrama. Možemo također navesti i parametre koje ćemo koristiti
u dijagramu u zagradama nakon imena dijagrama. Primjeri se mogu vidjeti na slikama 3a i 3b. U
dijagramu se može pojaviti i bilješka koja sadrži izraz kojim se pobliže opisuju dijagram i njegovi
elementi (slika 2).
- Strukturni dijagrami,
- Dijagrami ponašanja,
- Interakcijski dijagrami.
2
Izvor: http://spvp.zesoi.fer.hr/seminari/2003/duvnjak/UML3.htm
13
3.1. STRUKTURNI DIJAGRAMI
Razred ili klasa je osnovni element ovog dijagrama. Prije pojašnjenja značenja riječi razred,
mora se odrediti značenje objekta. Tako je objekt pojam koji predstavlja entitet, koncept ili
apstrakciju stvarnog svijeta. On mora imati jasno definirane granice te isto tako, mora predstavljati
određeni smisao u sustavu. Razred, odnosno klasa s obzirom na objekte, služi za opisivanje njih
samih gdje se sadrže slična svojstva. Svaki pojedinačni objekt pritom predstavlja instancu jedne
klase.
Svaka klasa mora sadržavati naziv, ali ne mora nužno imati popis atributa i operacije. Iako
ih nije potrebno definirati, bez njih sama klasa nema smisla, odnosno nema implementaciju. Kod
3
Jović, A., Horvat, M. i Grudenić, I. (2013.) Priručnik UML dijagrama. Zagreb, str. 35
4
Malkov S.: Razvoj softvera – UML, knjiga u pripremi, Beograd.
14
samih atributa je stoga potrebno navesti naziv i tip podatka. Za operacije je potrebno navesti
definiciju koja će sadržavati naziv operacije te ulazne i izlazne parametre.
Kao što smo spomenuli, dijagram klasa ne sadrži konkretne vrijednosti, nego prikazuje
klase, njihovu strukturu (pripadne atribude i metode zajedno s tipovima) te odnose između
pojedinih klasa (nasljeđivanje, vrste veza, ...), kao što možemo vidjeti na slici 6. Prikazane su klase
Document, Book i EMail. Predznak ispred atributa i metoda (+ i -) govori o privatnosti, odnosno
javnosti tog atributa ili metode. Klasa Document ima dva privatna atributa, polje authors tipa
String i datum (tip Date) date te tri javne metode, getAuthors koja vraća polje tipa String,
addAuthor koja je tipa void i prosljeđujemo joj atribut name, te getDate koja vraća datum. Iz
dijagrama je vidljivo da klase Book i EMail nasljeđuju klasu Document. Kada govorimo o
komponentama, govorimo o nezavisnoj izvršnoj jedinici koja pruža ili prima usluge od drugih
komponenti, a prikazujemo ih dijagramom komponenti. Možemo ih promatrati kao "black box"-
ove, tj. samo specifikaciju komponenti, ili kao "white box"-ove, odnosno definirati njihovu
implementaciju
Dijagram paketa grupira dijagrame (ili elemente modela) prema zajedničkim svojstvima.
Na ovaj način možemo podijeliti sustav u slojeve i/ili veće smislene cjeline. Paket Presentation
Layer sastoji se od paketa User Interface i Presentation Logic, a povezan je s paketima Users,
Cross Cutting, te Business Layer. Svi paketi sustava nalaze se u jednom velikom paketu Layered
Application.
15
uređaju Web Server, predmet MySQL DB (baza podataka) se nalazi na uređaju DB Server, a na
uređaju UserClient se nalazi uređaj Browser na kojem je predmet HTML 5.
Dijagram stroja stanja opisuje sva stanja objekta (time i sustava) te prijelaze iz jednog stanja
u drugo. Štoperica (stop watch) kreće iz pripravnog stanja, pri pokretanju prelazi u stanje rada, te
može preći u stanje pauziranja ili stajanja, ovisno o akciji. Kada prestane s radom, štoperica se
može ili resetirati ili prijeći u konačno (završno) stanje. Početno i završno stanje označavaju se
posebnim simbolima.
16
3.3. INTERAKCIJSKI DIJAGRAMI
Slijedni dijagram opisuje interakcije između objekata kako bi se ispunio neki zadatak.
Usredotočavamo se na kronološki slijed poruka koje se izmjenjuju između objekata.
Razmjenjivanjem poruka između korisnika i uređaja snima se fotografija lica korisnika. Zatim se
razmjenom poruka između uređaja i baze podataka dohvaća pripadno raspoloženje, koje se
prikazuje korisniku, a daljnjom razmjenom se dohvaća i prikladna lista pjesama koja se na kraju
vraća korisniku.
Dijagram pregleda interakcija modelira vezu između različitih procesa tako da postavi
individualne interakcijske dijagrame u vremenski i uzročni slijed. Opisuje uvjete pod kojim se
procesi smiju odvijati, a da bi se modelirao tok kontrole, koriste se koncepti dijagrama aktivnosti.
5
5
Pribisalić E. (2019): UML - Unified Modeling Language, Sveučilište J.J. Strossmayera u Osijeku,
Osijek.
17
ZAKLJUČAK
The Unified Modeling Language ili skraćeno UML je skup grafičkih notacija koji nam
pomaže u opisu i dizajniranju softverskog sistema. Kako je UML jezik dosta obiman mi smo se
fokusirali na najčešće korištene grafičke elemente i dijagrame u praksi. Krajnji cilj bilo kojeg
software-skog projekta je program koji radi a ne dijagrami prema tome cilje je iz dijagrama iz
generirati što više koda po mogučnosti cjelokupni kod za program. Na današnjem stupnju razvoja
još uvijek nemamo alate koji su u stanju izgenerirati cjelokupni kod aplikacije no u stanju smo
izgenerirati arhitekturu samog SW a to je sasvim dovoljno da nam olakša posao kad imamo
arhitekturu onda ćemo raditi dodatne modifikacije i poboljšavati sam program. Danas se sve više
govori o alatima za modeliranje SW jedan od najpoznatijih je Rational Rose i vjerovatno jedan od
najboljih to je program koji vam omogućuje da za većinu standardnih jezika nacrtate dijagrame u
UML-u i da iz njih dobijete kod same aplikacije.
Na samom kraju možemo zaključiti da je glavna tj. radna hipoteza dokazana, a ona glasi:
“UML dijagram je grafička predstava skupa elemenata tj. iscrtan kao graf čvorova (stvari)
i lukova (relacija) te on prikazuju sistem iz više uglova.“
18
LITERATURA
Knjige:
- Jović, A., Horvat, M. i Grudenić, I. (2013.) Priručnik UML dijagrama. Zagreb.
- Malkov S.: Razvoj softvera – UML, knjiga u pripremi, Beograd.
Stručni radovi:
- Pribisalić E. (2019): UML - Unified Modeling Language, Sveučilište J.J. Strossmayera u
Osijeku, Osijek.
- Turopoli D. (2017): UML, Sveučilište J.J.Strossmayera u Osijeku, Osijek.
Linkovi sa interneta:
- http://poincare.matf.bg.ac.rs/~asimic/2017/is/UMLSeminarski/KompozitnaStruktura_Marina
Nikolic.pdf (pristupljeno: 06.02.2020)
- http://spvp.zesoi.fer.hr/seminari/2003/duvnjak/UML3.htm (pristupljeno: 06.02.2020)
- http://www.ucim-programiranje.com/2012/12/uml-osnove/ (pristupljeno: 06.02.2020)
- http://www.acs.uns.ac.rs/sites/default/files/2_UML_dijagrami.pdf (pristupljeno: 06.02.2020)
- http://www.inf.uniri.hr/~marinai/C++/UML_case13.pdf (pristupljeno: 06.02.2020)
Popis slika:
- Slika 1: Pregled tipova UML dijagrama
- Slika 2: Notacija UML dijagrama
19