You are on page 1of 29

PROJEKTOVANJE

INFORMACIONIH SISTEMA
Nastavna jedinica 43.
Dijagrami aktivnosti
Šta će se naučiti?

• Dijagrami aktivnosti.
• Aktivnosti i akcije.
• Elementi dijagrama akrivnosti.
• Sekvencijalna granjanja i spajanja.
• Grafička predstava pseudostanja, tranzicija i konektora.
• Sinhronizacija – račvanje (fork) i udruživanje (join).
• Primeri dijagrama aktivnosti.
• Grafička predstava aktivnosti.

www.its.edu.rs
Ishodi učenja
Nakon ove nastavne jedinice bićete u stanju da :
– definišete šta predstavljaju dijagrami aktivnosti,
– definišete šta predstavljaju aktivnosti i akcije,
– grafički označite elemente dijagrama aktivnosti,
– definišete pseudostanja, tranzicije i konektore,
– definišete pojam sinhronizacije, račvanje (fork) i udruživanje (join),
– identifikujete paralelne procese u dijagramu aktivnosti,
– definišete šta su particije i plivačke staze,
– definišete šta predstavljaju signali i koja je njihova uloga,
– poštujete preporuke za kreiranje dijagrama aktivnosti.
www.its.edu.rs
Uvod
• Dijagrami aktivnosti su namenjeni za modeliranje dinamičkih aspekata
(ponašanja) sistema.
• Prikazuju sekvencijalne i konkurentne korake u procesu obrade.
• Mogu se koristiti:
– pre početka projekta, za modeliranje najvažnijih poslovnih procesa,
– za vreme faze specifikacije zahteva, za detaljnije pojašnjavanje toka aktivnosti u
use case-vima,
– za vreme analize i dizajna, kao pomoć pri definisanju ponašanja pojedinih
operacija,
– za opis dinamike skupa objekata,
– za opis toka neke operacije.
Aktivnost i akcije (1)
• Aktivnost reprezentuje neatomsku obradu koja se dekomponuje
na jedinice - elementarne jedinice podaktivnosti – pojedine akcije.
• Akcija je osnovna jedinica specifikacije ponašanja koja
reprezentuje neku transakciju ili obradu u modeliranom sistemu:
– akcija je osnovni izvršni element aktivnosti,
– akcija predstavlja jedan korak u aktivnosti koji se obično dalje
ne dekomponuje.
Aktivnosti i akcije (2)
• Akcije mogu biti:
– pokretanje aktivnosti (pozivi operacija ili slanje signala)
– čitanje (vraćanje vrednosti) ili upis (promena stanja) podataka (kreiranje ili
uništavanje objekata)
– Izračunavanje (izvršenje primitivnih (npr. aritmetičkih) operacija i funkcija)
• Izvršenje akcije koja pokreće neku aktivnost obuhvata izvršenje te aktivnosti (njenih
akcija) - takva akcija nije atomska .

• Akcija se može posmatrati i kao diskretan element i kao složeno ponašanje:


– kao deo strukture u modelu aktivnosti (akcija je diskretan element (aktivnosti))
– kao specifikacija ponašanja (akcija može pokrenuti ponašanje (aktivnost)
proizvoljne složenosti)
Aktivnosti i akcije (3)
• Aktivnost definiše ponašanje koje se može ponavljati na više mesta.
• Akcija se dešava samo jednom na posebnom mestu unutar aktivnosti.
• Stanje akcije reprezentuje izvršenje neke atomske operacije
– atomska operacija ne može biti dekomponovana,
– događaji se mogu dešavati za vreme izvršenja akcije ali ona se neće
prekinuti,
– smatra se da traje beznačajno kratko vreme.
• Stanje aktivnosti se može dalje dekomponovati (nije atomično).
Odnos prema drugim dijagramima
• Dijagram interakcije prikazuje
– tok poruka koje se razmenjuju između objekata.
• Dijagram stanja prikazuje
– tok promene stanja objekta.
• Dijagram aktivnosti prikazuje
– tok aktivnosti koja se izvršava nad objektima.
• Dijagram aktivnosti prikazuje ponašanje koristeći modele toka
kontrole i toka podataka.
Dijagrami aktivnosti

• Dijagrami aktivnosti služe za opisivanje logičkih procedura,


poslovnih procesa i poslovnih tokova.
• Ovi dijagrami su značajno menjani u svakoj verziji jezika UML,
pa su i u verziji UML 2 ponovo dopunjeni i izmenjeni. U verziji
UML 1 postojali su kao specijalna vrsta dijagrama stanja U
verziji UML 2, te dve vrste dijagrama više nisu povezane.
Elementi dijagrama aktivnosti
• Dijagrami aktivnosti sadrže čvorove
– akcije ime akcije
– objekte
– kontrolne čvorove
• pseudostanja: početno, završno i kraj toka,
• sekvencijalna grananja i spajanja u toku kontrole (decision i merge),
• konkurentna grananja i spajanja u toku kontrole (fork i join).
• Konektore
• grane (specifične akcije)
– tranzicije između akcija,
– slanje signala (send signal),
– prihvatanje događaja (accept event),
– prihvatanje vremenskog događaja (accept time event).
Pseudostanja, tranzicije, konektori
• Grafička notacija pseudostanja:
– za početno stanje:
– za završno stanje (kraj svih tokova):
– za kraj jednog toka:
• Tranzicija je legalna putanja od jednog do drugog ime {weight=n}
stanja ili kontrolnog čvora
• Grafička notacija:
– poslednji oblik – izvorište je objekat, a n je broj objekata izvorišta koji se koriste u akciji
– specijalne vrednosti: all, null
– primer: formiranje fudbalskog tima {weight=10}
:Igrač Formiranje
fudbalskog tima
{weight=1}
:Golman

• Konektori sa istim imenom predstavljaju jednu tranziciju.


• Grafička notacija: A A
Sekvencijalna grananja i spajanja
u toku kontrole
• Grananje specificira alternativne putanje kojima će se ići u zavisnosti od
uslova
• Isti simbol se koristi za grananje i
spajanje sekvencijalnog toka kontrole:
– više grana može izlaziti iz simbola
sekvencijalnog grananja (decision)
• uslov se piše u uglastim zagradama na grani
• [else] grana – ako nije ispunjen ni jedan uslov
– više grana može ulaziti u simbol
sekvencijalnog spajanja (merge)
Grananje i iteracije
• Iteracija se formuliše pomoću grananja
• Primeri:
– grananje: iteracija:
početno
stanje
postavi
iterator

A [kraj]
grananje [not kraj]
[uslov] B
radi()
[not uslov] završno
C stanje
promeni
iterator
Sinhronizacija (1)
• Sinhronizacija – zadebljana horizontalna linija.
• Račvanja (fork) i udruživanja (join) niti –
obavljaju se u sinhronizacionim tačkama.
• Tranzicije koje ulaze u sinhronizaciju su uslov za paralelno
obavljanje tranzicija koje iz nje izlaze – jedna aktivnost “čeka” na
ispunjenje uslova (“pristizanje” svih događaja) za njeno izvršenje.
Sinhronizacija (2)
Dijagrami aktivnosti (1)
• Početni čvor (engl. initial node) je mesto gde počinje aktivnost i
obavezan je element svakog dijagrama aktivnosti (svaki dijagram
aktivnosti mora imati jedan početni i jedan ili više krajnjih čvorova).
• Nakon ovoga imamo akciju koja se naziva Primljena narudžbenica, a
iza te akcije grananje aktivnosti (engl. fork) koje ima jedan ulazni tok
i nekoliko paralelnih izlaznih tokova.
Dijagrami aktivnosti (2)
• Dijagram pokazuje da se akcije iz leve i desne grane dijagrama odvijaju
paralelno. U suštini to znači da njihov redosled nije važan.
• Dijagram dozvoljava da izvršilac postupka bira redosled kojim će
obavljati pojedine poslove, tj. dijagram utvrđuje samo osnovna pravila
redosleda koja se moraju poštovati.
Dijagrami aktivnosti (3)
• Na osnovu dijagrama, mi možemo prvo pripremiti naručene
knjige, poslati fakturu, isporučiti knjigu i naplatiti, ali isto tako
dijagram nam dozvoljava da prvo pošaljemo fakturu,
pripremimo i isporučimo knjigu pa tek onda izvršimo naplatu,
itd.
• To je važno u modelovanju poslova, pošto se postupci često
odvijaju paralelno.
Dijagrami aktivnosti –
konkurentna grananja
• Prilikom paralelnog izvršavanja, neophodna je sinhronizacija.
• Za te svrhe koristi se isti grafički simbol kao i za grananje, ali se koristi
pri spajanju (engl. join) aktivnosti.

Priprema
sinhronizaciona tačka

Aktivnost1 Aktivnost2

Finalizacija
Dijagrami aktivnosti (4)
• Ukoliko pogledamo primer, uočavamo da ne možemo zaključiti
narudžbenicu sve dok se ne završe i isporuka i naplata. To je pokazano
oznakom spajanja ispred akcije Zaključi narudžbenicu.
• Izlazni tok spajanja započinje tek kada svi ulazni tokovi dođu do tačke
spajanja.
• Na osnovu dijagrama, možemo zaključiti narudžbenicu tek kada smo
naplatili i isporučili knjige.
• Možemo zapaziti da čvorovi na dijagramu aktivnosti nemaju naziv
aktivnosti, već akcije.
• Precizno govoreći, aktivnost predstavlja niz akcija, tako da dijagram
prikazuje aktivnost koja je sačinjena od akcija.
Dijagrami aktivnosti (5)
• Uslovno ponašanje se pokazuje odlukama i stapanjima.
• Odluka (engl. decision), u verziji UML 1 poznata pod nazivom
grana (engl. branch), ima jedan ulazni tok i više uslovnih izlaznih
tokova.
• Svakom izlaznom toku je pridružen jedan logički uslov, odnosno
logički izraz između ugaonih zagrada.
• Pri svakom nailasku na odluku moguće je nastaviti samo jednim
od izlaznih tokova, pa uslovi trebaju biti uzajamno isključivi.
Dijagrami aktivnosti (6)
• U primeru sa slike, ako je osoba koja je izvršila narudžbenicu
pretplatnik, prelazimo na akciju Hitna isporuka, inače prelazimo
na akciju Obična isporuka.
• [else] je rezervisana reč koja
ukazuje na tok kojim treba
nastaviti ukoliko su netačni
svi ostali uslovi odluke.
Dijagrami aktivnosti (7)
• Stapanje (engl. merge) ima više ulaznih tokova i jedan izlazni.
• Stapanje označava kraj uslovnog ponašanja započetog odlukom.
Akcije (1)
• Akcije se mogu razložiti u podaktivnosti.
• Akcije koje se odnose na isporuku u prethodnom primeru se mogu
definisati kao posebna aktivnost, pa dijagram aktivnosti dobija novi
izgled.
Akcije (2)
• Akcije se mogu realizovati kao podaktivnosti ili kao metode
klasa.
• Podaktivnost se na dijagramu prikazuje simbolom račve, a
sintaksa za poziv metode
ime_klase :: ime_metode
• Može se čak napisati i deo koda unutar oznake akcije, ako se akcija
ne može opisati pozivom jedne metode.
Grafička notacija
• Aktivnost:
– svaka aktivnost se može predstaviti posebnim dijagramom:

ime
aktivnosti

ime aktivnosti
ulazni izlazni
parametar akcija A akcija B parametar
Novi izgled dijagrama aktivnosti
Pitanja za proveru znanja (1)
• Šta predstavljaju dijagrami aktivnosti ?
– Dijagrami aktivnosti su namenjeni za modeliranje dinamičkih
aspekata (ponašanja) sistema.
– Prikazuju sekvencijalne i konkurentne korake u procesu obrade.

• Nabrojati elemente dijagrama aktivnosti.


– Elementi dijagrama aktivnosti su čvorovi i grane.

You might also like