You are on page 1of 25

Dijagrami UML-a

Marina Ivai-Kos, dr. sc. Mile Pavli, Patrizia Poi


Odsjek za informatiku
Filozofski fakultet u Rijeci
marinai@pefri.hr,

ris.pavlic@ri.tel.hr
patrizia@pefri.hr

1. Uvod
- Unified Modeling Language-UML je jezik za specifikaciju,
vizualizaciju, konstruiranje i dokumentiranje programskog
sustava, poslovnog sustava i drugih ne programskih sustava.
- Moe se koristiti za poslovno modeliranje, softversko
modeliranje u svim fazama razvoja i za sve tipove sustava, te
ope modeliranje bilo koje konstrukcije koja ima statiku
strukturu i dinamiko ponaanje.
- Analiziraju se dijagrami UML-a verzije 1.3.
2

2. Pogledi i dijagrami
- Sloenom sustavu najbolje je pristupiti putem skupa malih gotovo
neovisnih pogleda na model koji pokazuje posebni aspekt sustava,
fokusirajui relevantne detalje, a pritom ignorirajui ostale.
- Pogled je apstrakcija koja se sastoji od dijagrama.
- Dijagram:
- graf koji pokazuje simbole elemenata modela sreene tako da
ilustriraju pojedini dio ili aspekt sustava
- dovoljan za jednostavnu komunikaciju
- mora uestvovati u upotpunjavanju drugih dijagrama
- povezan sa drugim dijagramima i pogledima tako da je sustav
kompletno opisan kroz sve poglede zajedno.
- Izbor koji e se dijagrami koristiti ovisi o pristupu problemu
i
3
odgovarajuem rjeenju.

Obzirom na pogled na model, UML definira slijedee dijagrame:


9 pogled na primjenu........dijagram
koritenja (use case diagram)
primjenu
klasa (class diagram)
9 pogled na statiku............dijagram
statiku
ponaanja:
9 pogled na ponaanje......dijagrami
anje
- dijagram karte stanja (statechart diagram)
- dijagram aktivnosti (activity diagram)
interakcije:
9 pogled na interakciju.....dijagrami
interakciju
- dijagram slijeda (sequence diagram)
- dijagram suradnje (collaboration diagram)
dijagrami implementacije:
9 pogled na implementaciju........
implementaciju
- dijagram komponenata (component diagram)
- dijagram rasporeda (deployment diagram)

2.1 Dijagrami statine strukture


- Dijagram se smatra statinim ako je opisana struktura
uvijek valjana u svakoj toki ivotnog ciklusa sustava.
- Statinu strukturu modela ine:
- entiteti koji postoje,
- unutarnju strukturu entiteta,
- veze sa drugim entitetima.

2.1.1 Dijagram klasa


-

pokazuje statiku strukturu sustavu definirajui elemente


klasifikatora (klase, suelja, paketi, veze, instance,.. ) i statine
odnose meu njima.

na dijagramu klasa prikazana je unutarnja struktura klasa koju


definiraju atributi i operacije.
Sustav najee ima brojne dijagrame klasa jer nisu sve klase
ukljuene u jedan dijagram klase. Isto tako neka klasa moe, kada
je potrebno, sudjelovati u nekoliko dijagrama klasa.
6

vrsta

Vozilo
pogon

vrsta
pogon

{overlapping}

{overlapping}

Vozilo
pogonjeno
zrakom

Vozilo
pogonjeno
motorom

Vodeno
vozilo

Cestovno
vozilo

Prikaz generalizacije sa ogranienjima i diskiminatorima na dijagramu klasa

2.1.2 Dijagram objekata


-

graf instanci koji ukljuuje objekte i vrijednosti podataka

instanca ili primjer dijagrama klase (umjesto aktualnih klasa,


prikazuje primjere klasa, moguu snimku stanja sustava u
nekom (dijelu) vremena)
Dijagrami objekata nemaju vanost kao to je imaju dijagrami
klase, ali korisni su za pojanjavanje kompleksnih dijagrama
klasa prikazujui mogui primjer dijagrama klasa, kao i prikaz
suradnje izmeu skupa objekata.

2.2 Dijagram koritenja


- funkcionalnost koju sustav omoguuje
- primarne komponente:
- nain koritenja
- uesnici.
- Nain koritenja:
- definira stvarne zahtjeve i opisuje funkcionalnost sustava ili
klasifikatora iz perspektive uesnika
- mora rukovati cijelom funkcijom, od inicijalizacije koju je
pokrenuo uesnik, do funkcionalnost i vrijednost koju je zahtjevao
- opisuje kako uesnici mogu koristiti sustav ali ne kako je ta
funkcionalnost podrana unutar sustava.
- Uesnik: - vanjski entitet (ovjek-korisnik sustava, drugi sustav,
hardverski ureaja) koji ima interesa u interakciji sa sustavom. 9

Kataloka prodaja
Provjeri status

Naruiti

Prodava
kupac

Dogovoriti
plaanje

Ispuniti
narudbu

Slubenik
za otpremu
Dijagram naina koritenja

10

2.3 Dinamiko modeliranje


Objekti komuniciraju jedni sa drugima unutar sustava
meusobno razmjenjujui poruke i tipine operacije.
Specifini oblik komunikacije izmeu objekata kojom se
generirala neka funkcija - interakcija.

11

2.3.1 Dijagram slijeda


- prikazuje eksplicitni slijed poticaja i slui za specifikaciju
interakcije i komunikacije objekata u realnom vremenu.
- ima dvije dimenzije:
- vertikalnu
- predstavlja vrijeme
- horizontalnu
- prikazuje razliite instance.
- Forme dijagrama slijeda:
- opa forma
- opisuje sve mogue sljedove
- forma instance - opisuje odreen slijed u suglasnosti sa
opom formom.

12

pozivatelj

usmjeriva

primatelj

a:dignuti slualicu
{b.receiveTimea.sendTime< 1sec} b:slobodni signal
{c.receiveTimeb.sendTime< 10sec} c:birati broj
***
d:usmjeriva
Poziv se preusmjerava
mreom
{d.receiveTimed.sendTime< 5sec}

signal zvona

telefon zvoni
odgovor na poziv

Mogu je
razgovor

zavrni signal

zvono prestaje

<1 sec

Dijagram slijeda sa konkurentnim objektima


13

2.3.2 Dijagram suradnje


- Sadri skup djelomino sloenih poruka tako da svaka specificira
jednu komunikaciju - poticaj koji e uzrokovati poziv operacije,
signalizaciju, kreiranje ili unitenje instance i uloge koje e
pritom imati poiljatelj i primatelj
Razine apstrakcije:
- specijalizacijska (prikazuje interakciju uesnika sa razliitim
ulogama i njihove meusobne veza smislene za dani skup
ciljeva; uloge klasifikatora i asocijacija i njihovu strukturu
definiranu u odgovarajuoj suradnji)
- razina instance (uloge uesnika imaju instance u meusobnoj
interakciji - alju informacije i poticaje)
Strelica iznad linije veze ili uloge asocijacije prikazuje smjer protoka
14
informacije i poticaj koji slijedi u danom smjeru

nastavniciStudenta()

mentor/Nastavnik:Osoba

mentor/Nastavnik:Osoba

1:imenaNastavnika()

/Student:Osoba

1.1*[i:=1..n]:predavac()

1.i.1:ime()

:Kolegij

Dijagram suradnje na razini instance

15

2.3.3 Dijagrami stanja


- graf koji prikazuje mehanizam stanja
- prikaz dinamikog ponaanja elementa modela (klasa, nain
koritenja, uesnik, ).
- opisuje mogui slijed stanja i akcija kroz koje element moe
prolaziti za vrijeme ivota, a koje su rezultat reakcije na
primljenu instancu dogaaja (signali, pozivi operacija)
- prikazuje sva mogua stanja koja objekt klase moe imati i
dogaaje koje prouzrokuje kada se stanje mijenja

16

Aktivno stanje
Istek vremana nakon(15 s)
nakon(15 s)

Slobodna linija
pozivatelj die
slualicu
/slobodni signal

Prazni
hod

do/reci poruku

biraj broj(n)
[nekompletnio]

biraj broj(n)

do/ slobodni
signal

biraj broj(n)[kriv]

Biranje

Krivi broj
do/reci poruku

biraj broj(n)[ispravan]
/spajanje
zauzeto

Spajanje

Zauzeta linija
pozivatelj sputa
slualicu
/prekid veze

do/signal
zauzetosti
Govor

dobivena veza

Zvonjava
odgovor
/mogu govor

Dijagram stanja

do/zvuk zvona

17

2.3.4 Dijagram aktivnosti


- specijalni sluaj dijagrama stanja u kojem su sva stanja akcije ili
podakcije, a promjena je inicirana zavretkom akcije ili podakcije
u izvornom stanju.
- koristi se:
- u sluajevima gdje svi ili veina dogaaja prikazuje zavretak
interno generiranih akcija,
- za opisivanje aktivnosti koje se izvode u nekoj operaciji,
- za opis nain koritenja
- za opis interakcija.
Stanje objekta moe biti prikazano u uglatim zagradama ispod
imena objekta kao npr.[planirano], [kupljeno], [ispunjeno], itd.
18

Kupac

Prodava

Skladite

Traena usluga

Narudba
[dana]

Primljena
narudba
Narudba
[primljena]

Plaanje
Narudba
[ispunjena]

Narudba
[otpremljena]

Kompletiranje
narudbe

Ispunjenje
narudbe

Otprema
naruenog

Dijagram aktivnosti
sa akcijama i tokom
objekta
19

2.4 Implementacijski dijagrami


Dijagrami implementacije prikazuju strukturu programskog
koda i strukturu implementacije u realnom vremenau.

20

2.4.1 Dijagram komponenata


- prikazuje:
- zavisnost programskih komponenata (komponente programskog
i binarnog koda i izvrne komponente)
- fiziku strukturu koda u terminima kodnih komponenti
(komponente u vremenu prevoenja, u vremenu povezivanja,
vremenu izvravanja ili u nekoliko od navedenih vremena).
- graf komponenti povezanih zavisnim vezama kako bi se
omoguila laka analiza reakcije ostalih komponenti na promjene
u jednoj komponenti

21

Rezervacije

Raspored

Planer

Auriranje

GUI

Dijagram komponenata

22

2.4.2 Dijagram rasporeda


-

graf vorova povezanih komunikacijom


vor:
-

fiziki objekt koji prikazuje izvor procesa, a ima memoriju i


sposobnost procesiranja
prikazuju ureaje, ljudske izvore i mehaniko procesiranje
(alokacijom izvrnih komponenti i objekata prikazuje se koja se
programska jedinica izvodi na kojem ureaju.)

prikazuje:
-

fiziku arhitekturu elemenata procesa u realnom vremenu,


arhitekturu programskih komponenti koje postoje u realnom
vremenu- oitovanje jedinica koda u realnom vremenu i objekata
koji na njima ive.

Komponente koje ne postoje u realnom vremenu pokazuju se na


23
dijagramu komponenata !

AdminServer:Server

database
BazaSastanaka

:Raspored

razervacija

MarkovPC:PC
:Planer

Dijagram rasporeda

24

3. Zakljuak
-

raznolikost dijagrama UML-a i relativna ortogonalnost pogleda,


omoguuje modeliranje jednostavnih, ali i vrlo sloenih aplikacija.
dijagrami omoguuju viestruki pogled na sustav koji se analizira
dijagrami su meusobno povezani, a njihova interakcija olakava
verifikaciju dijagrama i poveava kvalitetu softvera.
od 1997. kada je UML izabran za standard OMG-a, razvijeno je
mnogo CASE alata koji ga podravaju
u njegovo testiranje, poboljanje, unaprijeenje i nadogradnju
ukljuili su se i partneri OMG-a
UML predstavlja budunost -trend njegovog razvoja i upotrebe e
se nastaviti
25

You might also like