You are on page 1of 13

1.2.

SVRHA I CILJEVI ISTRAŽIVANJA

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.

1.3. RADNA (GLAVNA) HIPOTEZA

Na temelju problema i predmeta istraživanja postavlja se glavna (radna) hipoteza:

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.

1.4. ZNANSTVENE METODE

Sljedeće znanstvene metode korištene su u sklopu pisanja ovoga seminarskog rada:

- Induktivna i deduktivna metoda


- Metoda analize i sinteze
- Statistička metoda
- Povijesna metoda
- Metoda vizualizacije

7
2. POJAM UML-A

„Unifed Modeling Language“ (UML) je grafički jezik za modeliranje koji se koristi za


vizualiziranje, specificiranje, konstrukciju i dokumentiranje softverskog sustava. Nastao je s
namjerom standardiziranja način planiranja razvoja softverskog sustava. Sadrži informacije od
strukturi i dinamičkom ponašanju sustava. Sustav se modelira kao kolekcija objekata koji su
međusobno povezani. Statička struktura definiše vrste objekata, njihovu implementaciju te odnose
među njima. Dinamika sustava definiše komunikaciju među objekatima kako bi se ostavrio neki
cilj. UML također sadrži i organizacijsku strukturu koja služi za organiziranje modela u pakete.

2.1. HISTORIJA UML-A

Pojavom objektno-orijentisanog programiranja krajem 1970.-ih dolazi do povećanja


kompleksnosti aplikacija i stoga dolazi do pojave novog pristupa analizi i dizajnu softvera.
Pojavljuje se velik broj objektno orijentisanih metoda. Neke od najbitnijih metoda, koje će kasnije
postati i osnova za UML, su Boochova metoda, Jacobson-ova metoda OOSE (Object-oriented
software engineering) i Rumbaugh-ova OMT (Object-modeling technique). Službeni početak
razvoja UML-a je počeo 1994. kada su se u Rational Software Corporation-u ujedinili James
Rumbaugh i Grady Booch, 1995. pridužio im se i Ivar Jacobson. Pod njihovim vodstvom 1996. je
osnovana je organizacija UML Partners koja je završila specifikaciju za UML i predložila ga
Object Management Group-i (OMG) za standardizaciju. U sklopu UML partnera nalazali su se i
drugi poput HP-a, DEC-a, IBM-a i Microsoft-a. Ubrzo nakon sto je prihvaćena verzija 1.0
osnovana je grupa za semantiku koju je vodio Cris Kobryn kako bi se formalizirala UML
specifikacija i kako bi se UML integriralo s drugim standardima. Godine 1997. prihvaćena je
verzija 1.1. Kroz idućih par godina došlo je do manjim promjena u verzijama 1.2, 1.3, 1.4, 1.5.

Godina 2005. verziju 1.5 zamjenila je verzija 2.0. Specifikacija verzije 2.x sastoji se od 4
dijela:

- Superstruktura – definiše notaciju i sematiku za dijagrame i elemente modela,

- Infrastruktura - definiše osnovne metamodele na kojima je bazirama superstruktura,

- OCL (Object Constraint Language) – definiše pravila za elemente modela,

8
- UML Diagram Interchange - definiše izgleda UML 2.x dijagrama. 1

2.2. CILJ I KONCEPTI UML-A

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. On nije ničije vlasništvo.

2. Zasnovan je na principima dogovora računalske zajednice.

3. Uključuje elemente svih važnijih metodologija.

4. Koristi svoj jezik za modeliranje.

5. Njegov dizajn se zasniva na najlogičnijoj i najjasnijoj notaciji.

6. Podržava jednostavno izražavanje svih bitnih i dobrih koncepata (primjerice,


enkapsulaciju, prikazivanje namjere vezane za neku konstrukciju, razdvajanje odgovornosti, itd.).

UML se smatra i distribuiranim softverom i konkurentnim softverom. Iz tih razloga, on se


koristi kao potpora velikom broju postojećih metodologija.

Postoje tri koncepta UML modela, a to su:

1. Stvari (engl. things), tj. apstrakcije,

2. Relacije ili veze (engl. relationships),

3. Dijagrami (engl. diagrams).

Pod stvarima se podrazumijevaju elementi modela (primjerice, klase, sučelja, komponente,


računalni čvorovi, itd.). Relacije služe za povezivanje stvari i određivanje kako da se stvari
semantički odnose jedne prema drugima. Dijagrami omogućuju grupiranje skupina povezanih
stvari i definiranje pogleda na model. Na njima su nacrtane stvari (kao kućice) i veze (u obliku
spojnica). Stoga, oni se koriste za vizualizaciju strukture ili ponašanje sustava. Tako dijagram nije
isto što i model, makar se stvara samim crtanjem dijagrama.

Stvari se dijele u 4 skupine, a to su:

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.

Dijagrami se dijele na statičke i dinamičke. U statičke dijagrame spadaju dijagram klasa,


dijagram objekata, dijagram komponenti, dijagram složene strukture, dijagram razmještaja i
dijagram paketa. Dinamički dijagrami su dijagram aktivnosti, dijagram slučaja korištenja,
dijagram stanja, slijedni dijagram, dijagram komunikacija, dijagram pregleda međudjelovanja i
vremenski dijagram.

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.

Sljedeći oblik komunikacije je u tome da vi kao programer komunicirate sa krajnjim


korisnicima samog programa opet najlakši način da se to napravi je da koristite UML-dijagrame
jer u krajnjem slučaju niti oni znaju što je to programski jezik niti ih to zanima a niti to trebaju
znati.I nakraju priče o komunikaciji dolazi komunikacija između učitelja i učenika naime svaki
kolegij o objektno orijentiranim jezicima najčešće počinje s nekom vrstom UML dijagrama.Uz
sve to UML se koristi i za dokumentiranje, održavanje i generiranje koda.O samom generiranju
koda ćemo govoriti malo kasnije.

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).

Slika 2: Notacija UML dijagrama

Za detaljan i potpun pregled sustava preporučljivo je kombinirati odgovarajuće tipove UML


dijagrama. UML se još uvijek razvija i nadograđuje, pa je stoga moguća pojava još nekoliko vrsti
dijagrama, no za svaki projekt dovoljno je odabrati nekoliko tipova koji najbolje opisuju sustav i
po potrebi ih detaljnije razraditi.

U nastavku ćemo prikazati sljedeće vrste UML dijagrama:

- Strukturni dijagrami,
- Dijagrami ponašanja,
- Interakcijski dijagrami.

2
Izvor: http://spvp.zesoi.fer.hr/seminari/2003/duvnjak/UML3.htm

13
3.1. STRUKTURNI DIJAGRAMI

Ovaj dijagram pripada statičkim dijagramima i strukturnoj skupini UML dijagrama.


Međutim, on ne uzima u obzir vremensku komponentu sustava, nego uzima dio, odnosno cijeli
sustav kakav postoji u nekom trenutku. Dijagrami klasa (engl. class diagrams) prikazuju sistem
pomoću klasa ili razreda te pomoću relacija između klasa. 3 Strukturni dijagrami (Structure
Diagrams) uključuju objektni dijagram (Object Diagram), dijagram klasa (Class Diagram),
dijagram komponenti (Component Diagram), dijagram paketa (Package Diagram), dijagram
složene strukture (Composite Structure Diagram) te dijagram raspoređivanja (Deployment
Diagram).

U strukturne dijagrame spadaju:

- dijagram klasa (engl. class diagram);

- dijagram objekata (engl. object diagram);

- dijagram paketa (engl. package diagram);

- dijagram složene strukture (engl. composite structure diagram);

- dijagram komponenti (engl. component diagram);

- dijagram isporučivanja (engl. deployment diagram) i

- dijagram profila (engl. profile diagram). 4

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

Komponenta Store sadrži komponente Order i Customer. Komponenta Store (i Customer


unutar nje) zahtijeva (requires) sučelje (interface) Account, što se prikazuje simbolom
polukružnice. Komponenta Customer pruža (provides) sučelje Person, što se prikazuje kružnicom.
Komponenta Order zahtijeva sučelje Person, pa možemo vidjeti da su time komponente Order i
Customer povezane. U gornjem desnom kutu nalazi se simbol kojim označavamo komponente
sustava.

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.

Dijagram složene strukture pruža hijerarhijsku dekompoziciju dijelova sustava. Može se


koristiti kako bi se detaljno opisala unutarnja struktura klasa ili komponenata.

Dijagram raspoređivanja opisuje kako su informacije sustava raspoređene na


komponentama hardvera, a time i arhitekturu hardvera sustava. Predmet Website se nalazi na

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.

3.2. DIJAGRAMI PONAŠANJA

Dijagrami ponašanja (Behaviour Diagrams) uključuju dijagram korištenja (Use Case


Diagram), dijagram aktivnosti (Activity Diagram) i dijagram stroja stanja (automata) (State
Machine Diagram), te interakcijske dijagrame (Interaction Diagrams). Ova vrsta dijagrama opisuje
kako se sustav treba ponašati, i to detaljno. Opisuju se direktne posljedice akcija barem jednog
objekta te one utječu na promjenu stanja objekata tijekom vremena.

Kod prikupljanja zahtjeva od strane korisnika, koristi se dijagram korištenja. Njime se


opisuje koji korisnici koriste koje funkcionalnosti sustava. Ne moramo navoditi detaljnu
implementaciju. Jedinice funkcionalnosti koje će sustav pružati nazivaju se "use cases".
Korisnik/kupac može obaviti kupovinu, koja uključuje pregledavanje proizvoda te dovršenje
transakcije. Pri logiranju u sustav, autentikacija odobrava ili ne odobrava taj postupak, dok u
dovršenju transakcije sudjeluju usluga plaćanja, potvrditelj identiteta, PayPal usluga te
autentikacija.

Dijagram aktivnosti služi za modeliranje softverskih (i poslovnih) procesa te može pružiti


uvid u tok mehanizama i podataka koji čine jedan proces. Ovaj dijagram prikazuje tok "use-case"-
ova, odnosno akcija koje će sustav obavljati u suradnji s korisnikom ili s više njih. Autor započinje
proces pisanjem objave, zatim ju šalje uredniku koji će pregledati objavu, te ju može poslati natrag
autoru, ako su potrebne neke ispravke, ili ju šalje izdavaču. Analogno, izdavač će pregledati
materijal i, ako su potrebne promjene, poslati ga natrag uredniku. Ako je sve u redu, objavit će
dobiveni materijal.

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

Interakcijski dijagrami uključuju slijedni dijagram (Sequence Diagram), komunikacijski


dijagram (Communication Diagram), vremenski dijagram (Timing Diagram) te dijagram pregleda
interakcija (Interaction Overview Diagram).

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.

Komunikacijski dijagram, kako mu ime govori, opisuje komunikaciju između objekata.


Sličan je slijednom dijagramu, no sada se usredotočavamo na komunikacijske odnose, a ne na
kronološki slijed poruka. Ne možemo prikazivati složene strukture, ali možemo jasno vidjeti koji
objekt komunicira s kojim.

Vremenski dijagram opisuje promjenu stanja sudionika tijekom interakcija, a usredotočava


se na vremenska ograničenja. Strelice opisuju komunikaciju između sudionika, dok "stepenice"
označavaju u kojem je stanju koji sudionik i koliko dugo. Strelice također mijenjaju stanja
određenog sudionika. Neki dijelovi dijagrama su vremenski ograničeni, ovisno o kojem je stanju
i sudioniku riječ.

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.

Za detaljan i potpun pregled sistema preporučljivo je kombinirati odgovarajuće tipove


UML dijagrama. UML se još uvijek razvija i nadograđuje, pa je stoga moguća pojava još nekoliko
vrsti dijagrama, no za svaki projekt dovoljno je odabrati nekoliko tipova koji najbolje opisuju
sustav i po potrebi ih detaljnije razraditi. U radu su prikazane sljedeće vrste UML dijagrama:
strukturni dijagrami, dijagrami ponašanja i interakcijski dijagrami. Strukturni dijagrami ističu šta
treba modelovati u sistemu. Dijagrami ponašanja ističu šta se dešava u sistemu koji se modeluje.
Dijagrami interakcija, kao podskup dijagrama ponašanja, prikazuju tok kontrola i podataka u
sistemu.

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

You might also like