Professional Documents
Culture Documents
Informacijske Tehnologije
Seminarski rad
1. UVOD ......................................................................................................................................................... 2
2. DIJAGRAMI................................................................................................................................................. 3
2.1 Strukturni dijagrami............................................................................................................................. 3
2.2 Dijagrami ponašanja ........................................................................................................................... 4
3. DIJAGRAM KLASE ....................................................................................................................................... 5
3.1 Osnovne kompomente dijagrama klase .............................................................................................. 6
3.2 Interakcije u dijagramu klase............................................................................................................... 8
3.2.1 Nasljedstvo ................................................................................................................................... 8
3.2.2 Asocijacija ................................................................................................................................... 10
3.2.3 Agregacija ................................................................................................................................... 12
3.2.4 Kompozicija ................................................................................................................................ 13
4. ZAKLJUČAK ............................................................................................................................................... 14
5. LITERATURA ............................................................................................................................................. 15
1. UVOD
2
2. DIJAGRAMI
Bilo koji kompleksni sistem, ako je prikazan u dijagramu ima značajniji utjecaj na
naše razumjevanje sistema, nego da pokušamo naučiti o istom putem običnog teksta.
Dijagrame kreiramo tako što konektiramo oblike koji nam predstavljaju neki objekt ili
klasu sa ostalim oblicima da bi smo ilustrirali veze između objekata i protok podataka.
Dijagrame u univerzalnom jeziku za modeliranje generalno djelimo u dvije skupine;
Strukturni dijagrami
Dijagrami ponašanja
Dijagrami klase
Dijagrami paketa
Objektni dijagram
Komponentni dijagram
Kompozitni strukturni dijagram
Dijagram razvijanja
3
2.2 Dijagrami ponašanja
Dijagram aktivnosti
Dijagram slučaja korištenja (engleski: Use-Case)
Dijagram stanja
Dijagram sekvence
Dijagram komunikacije
Dijagram pregleda interakcije
Vremenski dijagram
4
3. DIJAGRAM KLASE
Slika 1.
Klasa: Definicija objekata iste vrste. Drugim riječima predložak ili prototip koji definira i
objasni statičke atribute i dinamička ponašanja zajedničke jednoj vrsti objekta.
Objekt: Objekt je realizacija određenog itema iz klase. Sve istance imaju slična svojstva
opisana definicijom klase. Slika 2.
5
Slika 2.
Gornji dio- sadrži naziv klase. Ovaj dio je uvijek potreban, bilo da
govorite o klasi ili objektu.
Srednji dio- sadrži atribute klase i koristi se kao opisni odjeljak gdje
opisujemo klasu tako što joj dajemo atribute i vrijednosti tih atributa.
Donji dio- sadrži operacije klase (metode), koje prikazujemo u obliku
liste tako što svaka metoda zauzima jedan redak. Operacije opisuju
interakciju klase s podacima.
6
Budući da sve klase imaju različite razine pristupa ovisno o modifikatoru pristupa
(vidljivosti), klase mogu sadržavati modifikatore pristupa članovima pomoću kojih
možemo specificirati tko može vidjeti šta. Ovdje su razine pristupa s odgovarajućim
simbolima:
Slika 3.
7
Prilikom modeliranja sustava potrebno je označiti koji tip podataka sadržava
atribut ili metoda. Da bi smo definirali tip podataka u dijagramu klase, iza naziva atributa
ili metode stavimo dvije točke i onda oznaku za tip podataka. Na slici 3 možemo vidjeti
da su atributi dužina i širina brojevi jer imaju oznaku Int (Integer) i da je atribut boja
tekst. Također se da vidjeti da se iza naziva metoda stavlja zagrada, što nam daje do
znanja da se radi o funkciji. Te zagradi mogu sadržavati parametre, ukoliko su nam
poznate.
3.2.1 Nasljedstvo
8
Slika 4.
Ukoliko naprimjer imamo potrebu napraviti klasu „Sova“ koja će imati sve
elemente klase“Životinja“, uz neke atribute svojstvene samo klasi „Sova“, napraviti ćemo
podklasu sove koja će naslijediti atribute i metode od klase životinje. Nasljedstvo u UML-
u označavanom punom linijom koja počinje od podklase i završava simbolom
neispunjene strelice na rub super klase. Slika 5.
9
Slika 5.
Čitajući dijagram možemo zaključiti da klasa „Sova“ uz sve atribute i metode koje
je naslijedila od super klase „Životinja“, posjeduje još atribut „Porodica“ i metodu „Lov“.
Često možemo vidjeti ovakav odnos gdje super klasa apstraktne prirode, što znači da
se odnosi na sve životinje kao koncept općenito, a njena pod klasa reprezentira realni
objekt, u kojem slučaju je običaj da se naziv super klase ogradi strelicama tipa
<<Životinja>>.
3.2.2 Asocijacija
Asocijacija između klasa može biti jednosmjerna ili dvosmjera a razlika je u tome
da kod jednosmjerne asocijacije, jedna klasa ne zna za postojanje druge dok ne dođe
do same interakcije. Jednosmjerna asocijacija se označava punom linijom sa otvorenom
strelicom na završetku a dvosmjerna samo punom linijom bez strelica. U UML-u se više
upotrebljava dvosmjerna asocijacija koju često nazivaju samo asocijacija, dok je
jednosmjerna manje poznata. Asocijaciju stavljamo kad imamo potrebu da uspostavimo
neku komunikaciju između dvije klase i da naglasimo neki odnos. Ako napravimo još
jednu klasu „Miš“ i ako je za potrebe našeg sustava kojeg modeliramo bitno naglasiti
odnos klasa „Sova“ i „Miš“ kao lovac-plijen, napraviti ćemo asocijaciju između te dvije
klase. Slika 6.
10
Slika 6.
Taj odnos onda možemo dalje opisati tako što po potrebi možemo staviti oznaku
da podrobnije opišemo prirodu asocijacije između klasa kao što možemo i indicirati
višestrukost veze. Na slici 6 vidimo asocijaciju između klasa „Sova“ i „Miš“ gdje je
naznačeno da sova lovi miša tj. Oznaka 1..* označava višetrukost ove veze, što u
ovom slučaju znači da jedna sova može uloviti više miševa.
11
3.2.3 Agregacija
Agregacija označava pripadnost jedne ili više klasa (podskup) drugoj klasi
(nadskup) s tim da mogu egzistirati neovisno jedna o drugoj. Naprimjer ukoliko imamo
klasu „Parlament“ (zanimljiv podatak skupina sova se ne zove jato već parlament),
možemo joj agregacijom pridodati klasu „Sova“, no ako uklonimo klasu „Parlament“ i
dalje nam ostaje „Sova“. Označava se punom linijom sa neispunjenim dijamantom koji
se naslanja na nadskup. Slika 7.
Slika 7.
12
3.2.4 Kompozicija
Kompozija je također tip veze u kojoj jedna klasa može sadržavati jednu ili više
klasa, no u ovom slučaju podskup klasa ne može postojati bez nadskup klase. S
ovakom notacijom želimo ilustrirati jednu klasu kao sastavni i nerazdvojni dio druge
klase. Označava se slično kao i agregacija samo sa ispunjenim dijamantom. Slika 8.
Slika 8.
Za demonstraciju ove klase uzećemo kao primjer klasu „Kuća“ kojoj pridružujemo
vezom kompozicije klase „Kuhinja“ i “Dnevni boravak“. Jasno je u ovom primjer da ako
podklase ne mogu postojati van nadklase, te da u slučaju da uništimo ili izgubimo kuću
gubimo i sobe.
13
4. ZAKLJUČAK
Slika vrijedi tisuću riječi, ovaj idiom apsolutno odgovara opisu UML-a. Objektno
orijentirani koncepti uvedeni su mnogo prije UML-a. U tom trenutku nije bilo standardnih
metodologija za organiziranje i konsolidaciju objektno orijentiranog razvoja. Tada se
UML pojavio na slici. Postoji nekoliko ciljeva za razvoj UML-a, ali najvažnije je definirati
neki jezik za modeliranje opće namjene, koji svi modelari mogu koristiti, a također ga
treba učiniti jednostavnim za razumijevanje i korištenje. UML dijagrami nisu samo za
programere, već i za poslovne korisnike, obične ljude i sve zainteresirane za
razumijevanje sustava. Sustav može biti softverski ili ne-softverski sustav. Stoga mora
biti jasno da UML nije razvojna metoda, nego prati procese kako bi ga učinio uspješnim
sustavom.
Dijagram klase glavni je gradbeni element objektno orijentiranog modeliranja.
Koristi se za opće konceptualno modeliranje strukture aplikacije, te za detaljno
modeliranje prevođenja modela u programski kod. Dijagrami klasa također se mogu
koristiti za modeliranje podataka. Klase u dijagramu klase predstavljaju i glavne
elemente, interakcije u aplikaciji i razrede koje treba programirati. Svrha dijagrama
razreda je modeliranje statičnog prikaza aplikacije. Dijagrami klasa su jedini dijagrami
koji se mogu izravno mapirati s objektno-orijentiranim programskim jezicima i stoga se
široko koriste u vrijeme izrade. To je najpopularniji UML dijagram u zajednici softverskih
inžinjera.
14
5. LITERATURA
1. Learning UML 2.0: A Pragmatic Introduction to UML 1st Edition, Kim Hamilton
2. http://www.uml.org/what-is-uml.htm . [Pristupljeno18.12.2018.godine]
3. https://en.wikipedia.org/wiki/Unified_Modeling_Language.[Pristupljeno
20.11.2018.godine]
4.https://www.visual-paradigm.com/guide/uml-unified-modeling-language/what-is-uml/
[Pristupljeno21.11.2018.godine]
15