Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 9

Dijagrami u UML-u

Dijagram je grafički prikaz skupa elemenata. Najčešće je prikazan kao povezani


grafovi vertikala (stvari) i lukova (relacije). Oni se koriste kako bi se vizualizirao sustav iz
različitih perspektiva, pa ih to čini nekom vrstom projekcije na sistem. Dijagrami
predstavljaju poboljšani prikaz elemenata koji čine sistem. Isti elementi mogu se pojaviti u
svim dijagramima, nekim dijagramima ili se uopće ne pojaviti. Dijagram može sadržavati bilo
koju kombinaciju relacija i stvari u modelu. Praktično se samo mali broj kombinacija
pojavljuje, i one su konzistentne sa pet najkorisnijih pogleda na sistem koji čine arhitekturu
sustava koji se oslanjaju na programsku podršku.
Zbog toga UML uključuje devet takvih dijagrama:
1. Dijagram klasa
2. Dijagram objekata
3. Dijagram slučajeva korištenja
4. Dijagram toka
5. Dijagram suradnji
6. Dijagram stanja
7. Dijagram aktivnosti
8. Dijagram komponenata
9. Dijagram pokretanja

Dijagram klasa prikazuje skup sučelja, klasa i suradnji te njihove međusobne relacije. Oni
su najčešći u objektno-orijentiranim sistemom. Dijagrami klasa se bave statičkim pogledom
na dizajn sistema, a oni koji uključuju i aktivne klase se bave i statičkim pogledom na procese
u sustavu.
Dijagram objekata prikazuje skup objekata te njihove relacije u sistemu. Oni se bave
statičkim pogledom na procese i dizajn sustava, kao i dijagrami klasa, ali iz perspektive
pravih objekata u sistemu.
Dijagram slučajeva korištenja prikazuje skup slučajeva korištenja i glumaca (specijalan tip
klase) te njihovih relacija.
Dijagrami slučajeva korištenja bave se statičkim pogledom na slučajeve korištenja u sistema i
oni su vrlo važni kod organiziranja i modeliranja ponašanja sistema.
Dijagram toka i dijagram suradnji su tipovi interakcijskih dijagrama. Takvi dijagrami
prikazuju interakciju, koja se sastoji od skupa objekata i njihovih relacija, zajedno sa
porukama koje se mogu slati među njima. Interakcijski dijagram bavi se dinamičkim
pogledom na sustav.
Dijagram toka je interakcijski dijagram, koji daje naglasak na poredak poruka i
vremensku dimenziju.
Dijagram suradnji je interakcijski dijagram, koji daje naglasak na strukturalnu
organizaciju objekata koji primaju i šalju poruke. Svaki dijagram se može lako transformirati
u drugi zato kažemo da su izomorfni.
Dijagram stanja se bavi dinamičkim pogledom na sistem i prikazuje automat stanja,
koji se sastoji od stanja, prijelaza, događaja i aktivnosti. Dijagrami stanja su vrlo bitni u
modeliranju ponašanja klasa, sučelja ili suradnji i daju naglasak na ponašanje objekta
određeno slijedom događaja, što je korisno u modeliranju reaktivnih sustava.
Dijagram aktivnosti je specijalan tip dijagrama stanja koji se bavi dinamičkim
pogledom na sistem i pokazuje tok iz aktivnosti u aktivnost unutar sustava. Daju naglasak na
tok kontrole između objekata i vrlo su važni u modeliranju funkcija sustava.
Dijagram komponenata prikazuje organizacije i ovisnosti između skupa komponenata.
Dijagrami komponenata se bave statičkim pogledom na implementaciju sustava i povezani su
sa dijagramima klasa tako da su komponente tipično mapirane na jednu ili više klasa, suradnji
ili sučelja.
Dijagram pokretanja prikazuje konfiguraciju izvršnih procesnih čvorova i
komponenata koje se izvode na njima. Oni se bave statičkim pogledom na pokretanje
arhitekture sustava i povezani su sa dijagramima komponenata tako da čvor obuhvata jednu ili
viˇse komponenata.

DIJAGRAM AKTIVNOSTI (ACTIVITY DIAGRAM)


Dijagrami aktivnosti služe za modelovanje dinamičkih aspekata sistema.
Oni služe da prikažu: proceduralnu logiku, poslovni proces ili tok posla. Slični su blok-
dijagramima za opis algoritama (dodatno, podržavaju paralelno ponašanje). Mogu se tretirati
kao specijalan slučaj dijagrama stanja. U čvorovima dijagrama prikazane su akcije. Akcije se
implemetiraju kao metodi klasa ili neke podaktivnosti.
Dijagrami aktivnosti opisuju šta se radi, ali ne kažu ko šta radi. Ako želimo istaći ko šta radi
(koja klasa je odgovorna za određenu akciju), podijeliti ćemo dijagram na particije.
Nakon izvršenja radnje u jednom stanju dolazi do automatskog prelaska u sljedeće stanje. U
svakom od stanja dešava se neka aktivnost koje mogu biti podijeljene u podaktivnosti.
Aktivnosti koje se dalje ne mogu dijeliti nazivaju se akcijama .
Dijagram aktivnosti je koristan za analiziranje slučajeva korištenja opisujući koje aktivnosti se
trebaju učiniti i kada. To je vizuelni prikaz toka događaja 10 / 30 koji opisuje početak slučaja
korištenja, opisuje šta slučaj korištenja radi, kako se slučaj korištenja završava.

Dijagrami aktivnosti prikazuju funkcionalnost softverskog sustava iz perspektive


unutrašnjosti sustava. Pritom ovi dijagrami ne prikazuju niti sudionike niti vanjsko sučelje
prema krajnjim korisnicima. Budući da razrađuju ponašanje sustava u smislu aktivnosti i
prijalaza između stanja, svrstavaju se u dinamičke dijagrame. Prikazuju proceduralnu logiku,
poslovni proces i radni tok aktivnosti koje se obavljaju u sustavu korak po korak. Naglasak
kod ovih dijagrama jest na jednostavnosti i poslovnim operacijama koje se odvijaju slijedno,
jedna za drugom.
1.1. TEMELJNI ELEMENTI

Dijagram aktivnosti sastoji se od sljedećih temeljnih elemenata:

1. Početno i konačno stanje

2. Aktivnost, koja se obilježava zaobljenim pravokutnikom. Aktivnosti mogu biti


slijedne ili paralelne.

Aktivnost

3. Prijalaz (tok) između aktivnosti, označen strelicom

4. Odluka ili uvjetno grananje, označena bijelim, dijamantnim oblikom

5. Račvanje i skupljanje, označeno crnom podebljanom linijom

6. Signal (događaj) koji pokazuje da na neku aktivnost djeluju određeni događaji iz


vanjskog procesa. Takva aktivnost konstantno „sluša“ signale, a dijagram definira
kako aktivnost reagira.

a. Šaljući signal

b. Primajući signal

c. Vremenski signal
7. Plivaće staze, kod kojih su aktivnosti raspoređene u vertikalne ili horizontalne staze
koje su razgraničene linijama. Same staze ne donose dodatnu semantiku u dijagram
osim organizacijske, kada se želi istaknuti koji od dijelova sustava što izvodi.
Aktivnosti u ovom slučaju pripadaju stazama. Tokovi podataka mogu prelaziti iz jedne
staze u drugu.
Nisu obavezne.

Primjer:
Odjel prodaje nekog poduzeća zaprima narudžbu kupca. Prvi korak je ispunjavanje
narudžbenice i slanje računa kupcu. Prilikom ispunjavanja narudžbenice kupac odabire način
dostave koji može biti noćni (prioritetni) ili regularni. Nakon nekog vremena od slanja računa,
poduzeće zaprima uplatu kupca. Zaprimanjem uplate i slanjem robe narudžba se završava.
Kod aktivnosti koje se odvijaju paralelno nije bitan redoslijed odvijanja tih aktivnosti. Prema
gore navedenom primjeru, svejedno je hoće li se prvo ispuniti narudžbenica, poslati račun,
dostaviti roba pa primiti uplata ili će se pak prvo poslati račun, primiti uplata, ispuniti
narudžbenica i tek na kraju dostaviti roba.

Takve paralelne aktivnosti moraju se „sinkronizirati“. Nije moguće zaključiti narudžbu sve
dok roba nije dostavljena i plaćena. Iz tog razloga koristi se „skupljanje“ (eng. join) prije
aktivnosti „Zatvaranje narudžbe“. Koristeći „skupljanje“, odlazni tok može se pokrenuti tek
nakon što su svi dolazni tokovi dosegnuli element „skupljanje“. Prema tome, narudžba se
može zaključiti samo kada je roba dostavljena i plaćena.

Uvjetna ponašanja definiraju se odlukama ili spajanjima. Odluka ima jedan ulazni tok i više
izlaznih, dok spajanje ima više ulaznih tokova, a samo jedan izlazni. Spajanje ujedno
označava i kraj uvjetnog ponašanja započetog odlukom.
Ispunjavanje
narudžbe
ODLUKA

Noćna Regularna
dostava dostava

SPAJANJE

1.2. AKTIVNOSTI I AKCIJE

Aktivnost je specifikacija parametrizovanog ponašanja koje se izražava kroz tok


izvršenja preko sekvenciranja podaktivnosti ,elementarne jedinice podaktivnosti – pojedine
akcije.
Akcija je osnovna jedinica specifikacije ponašanja koja reprezentuje neku transformaciju ili
obradu u modeliranom sistemu:
a) akcija je osnovni izvršni element aktivnosti (osnovna jedinica izvršne funkcionalnosti)
,
b) akcija predstavlja jedan korak u aktivnosti koji se obično dalje ne dekomponuje,
c) aktivnost predstavlja kontekst akcije.
Akcije mogu biti:
1. pokretanje aktivnosti,
2. pozivi operacija,
3. slanje signala,
4. čitanje (vraćanje vrijednosti) ili upis (promjena stanja) podataka kreiranje ili
uništavanje objekata(vrsta upisa),
5. izračunavanje, izvršenje izvršenje primitivnih primitivnih (npr. aritmetičkih
aritmetičkih) operacija operacija i funkcija funkcija
6. Izvršenje akcije koja pokreće neku aktivnost obuhvata izvršenje te aktivnosti (njenih
akcija)-takva akcija nije atomska .
Posljedica:
1. akcija se može posmatrati i kao diskretan element i kao složeno ponašanje,
2. kao dio strukture u modelu aktivnosti akcija je diskretan element (aktivnosti),
3. kao specifikacija ponašanja akcija može pokrenuti ponašanje (aktivnost) proizvoljne
složenosti.

Akcija može biti inicirana iz sljedećih razloga:


završeno izvršavanje prethodnih akcija ,
objekat je postao raspoloživ,
dogodio se spoljašnji događaj (izvan modeliranog toka kontrole).
Akcija može imati skupove ulaznih i izlaznih grana aktivnosti. One specificiraju tok
kontrole ili tok objekata od i prema drugim čvorovima dijagrama aktivnosti i neće početi
izvršenje dok se svi ulazni uslovi nisu ispunjeni. Završetak izvršenja neke akcije omogućava
izvršenje skupa sljedećih akcija. Aktivnost definiše ponašanje koje se može ponavljati na više
mjesta. Akcija se dešava samo jednom na posebnom mjestu unutar aktivnosti.

1.3. OSNOVNI KONCEPTI

Dijagram aktivnosti (activity diagram) dozvoljava (omogućava) da se sagledaju sve


proceduralne akcije ili tokove upravljanja u okviru zadatka. Ove akcije mogu biti tipa branch
i merge, fork i join, ili samo tranzicije iz jednog stanja u drugo.
Inicijalni čvor u dijagramu je prikazan kao crni krug, a zadnji čvor kao crni krug oko
koga postoji prsten. Dijagram na slici prikazuje kako je moguće kombinvati prethodno
pomenute aktivnosti u jedinstveni zadatak većeg obima. Suprotnim postupkom moguče je
pokazati kako se obimniji zadatak može dekomponovati na svoje komponente.

Dijagrami aktivnosti su grafovi koji sadrže:


Čvorove :
Akcije i aktivnosti
objekti
slanja signala (sendsignal)
prihvatanja događaja (accept event)
prihvatanja vremenskog događaja (accept time event)
Kontrolni čvorovi
sekvencijalna grananja i spajanja u toku kontrole (decision i merge)
konkurentna grananja i spajanja u toku kontrole (forki join)
pseudočvorovi: početni, završni
Konektori
Grane :
prelazi (tranzicije) između akcija
tok objekata
inicijalni čvor

aktivnost 0

aktivnost 5 aktivnost 1

[guard uslov]
aktivnost 3
aktivnost 6

aktivnost 2 aktivnost 4

aktivnost 7

aktivnost 8

finalni čvor

UML-ov dijagram aktivnosti inicijalni čvor


Literatura:
1. Uvod u objedinjeni jezik modeliranja, Mr.Ivana Stanojević, Dr.Dušan Surla, PMF Novi
Sad.
2.Object-Oriented Analysis and Design with Applications, Grady Booch, Robert
Maksimchuk, Michael W. Engle ,Bobbi J. Young, Ph.D. ,Jim Conallen ,Kelli A. Houston.
3. Hartmann, Đorđević, Gocić, Uvod u objektnoorijentisano modeliranje (Softverski
inženjering).

You might also like