You are on page 1of 18

Projektovanje softvera

Dijagrami aktivnosti

Uvod

Dijagrami aktivnosti su namenjeni modeliranju


dinamikih aspekata (ponaanja) sistema
Slini konvencionalnim dijagramima

Prikazuju sekvencijalne i konkurentne korake u procesu obrade


Mogu se koristiti za opis

elementarne jedinice podaktivnosti pojedine akcije


aktivnost reprezentuje neatomsku obradu koja se dekomponuje na jedinice

Akcija je osnovna jedinica specifikacije ponaanja koja reprezentuje


neku transakciju ili obradu u modeliranom sistemu

dinamike skupa objekata


toka neke operacije

Aktivnost je specifikacija parametrizovanog ponaanja koje se izraava


kroz tok izvrenja preko sekvenciranja jedinica podaktivnosti

kontrole toka (flow-chart)


toka podataka (data-flow)

akcija je osnovni izvrni element aktivnosti (osnovna jedinica izvrne funkcionalnosti)


akcija predstavlja jedan korak u aktivnosti koji se obino dalje ne dekomponuje
aktivnost predstavlja kontekst akcije

Dijagrami aktivnosti

12.11.2006.

Aktivnosti i akcije (1)

Akcije mogu biti:

pokretanje aktivnosti

itanje (vraanje vrednosti) ili upis (promena stanja) podataka

izvrenje primitivnih (npr. aritmetikih) operacija i funkcija

Izvrenje akcije koja pokree neku aktivnost obuhvata izvrenje


te aktivnosti (njenih akcija) - takva akcija nije atomska
Posledica:
akcija se moe posmatrati i kao diskretan element i kao sloeno ponaanje:

kao deo strukture u modelu aktivnosti

akcija je diskretan element (aktivnosti)

kao specifikacija ponaanja

kreiranje ili unitavanje objekata (vrsta upisa)

izraunavanje

pozivi operacija
slanje signala

akcija moe pokrenuti ponaanje (aktivnost) proizvoljne sloenosti

Dijagrami aktivnosti

12.11.2006.

Aktivnosti i akcije (2)

Akcija moe biti inicirana iz sledeih razloga:

Akcija moe imati skupove ulaznih i izlaznih grana aktivnosti

one specificiraju tok kontrole ili tok objekata


od i prema drugim vorovima dijagrama aktivnosti
akcija nee poeti izvrenje dok se svi ulazni uslovi nisu ispunjeni
zavretak izvrenja neke akcije
omoguava izvrenje skupa sledeih akcija

Aktivnost definie ponaanje koje se moe ponavljati na vie mesta


Akcija se deava samo jednom na posebnom mestu unutar aktivnosti
UML 1: stanje akcije reprezentuje izvrenje neke atomske operacije

zavreno izvravanje prethodnih akcija


objekat je postao raspoloiv
dogodio se spoljanji dogaaj (izvan modeliranog toka kontrole)

atomska operacija ne moe biti dekomponovana


dogaaji se mogu deavati za vreme izvrenja akcije ali ona se nee prekinuti
smatra se da traje beznaajno kratko vreme

UML 1: stanje aktivnosti se moe dalje dekomponovati (nije atomino)

Dijagrami aktivnosti

12.11.2006.

Odnos prema drugim dijagramima

Dijagram interakcije prikazuje

Dijagram stanja prikazuje

tok promene stanja jednog objekta

Dijagram aktivnosti prikazuje

tok poruka koje se razmenjuju izmeu objekata koji sarauju

tok aktivnosti koja se izvrava nad vie objekata

Dijagram aktivnosti prikazuje ponaanje


koristei modele toka kontrole i toka podataka
(ranije jedna vrsta dijagrama stanja)
Dijagrami aktivnosti

12.11.2006.

Elementi dijagrama aktivnosti

Dijagrami aktivnosti sadre:

vorove

akcije
objekte
kontrolne vorove

grane (specifine akcije)

sekvencijalna grananja i spajanja u toku kontrole (decision i merge)


konkurentna grananja i spajanja u toku kontrole (fork i join)
pseudostanja: poetno, zavrno i kraj toka
konektore

tranzicije izmeu akcija


slanje signala (send signal)
prihvatanje dogaaja (accept event)
prihvatanje vremenskog dogaaja (accept time event)

Dijagrami aktivnosti

12.11.2006.

Grafika notacija

Akcija:
ime akcije

Aktivnost:

svaka aktivnost se moe predstaviti posebnim dijagramom


ime aktivnosti
ime
aktivnosti

ulazni
parametar

akcija A

akcija B

Dijagrami aktivnosti

izlazni
parametar

12.11.2006.

Pseudostanja, tranzicije, konektori

Grafika notacija pseudostanja:

za poetno stanje:
za zavrno stanje (kraj svih tokova):
za kraj jednog toka:

Tranzicija je legalna putanja od jednog do drugog


stanja ili kontrolnog vora
ime
Grafika notacija:

poslednji oblik izvorite je objekat,


a n je broj objekata izvorita koji se koriste u akciji
{weight=10}
specijalne vrednosti: all, null
:Igra
primer: formiranje fudbalskog tima
:Golman

Formiranje
fudbalskog tima

Konektori sa istim imenom predstavljaju jednu tranziciju:


A

{weight=1}

{weight=n}

Dijagrami aktivnosti

12.11.2006.

Sekvencijalna grananja

Grananje specificira alternativne putanje


kojima e se ii u zavisnosti od uslova
Isti simbol se koristi za grananje i spajanje
sekvencijalnog toka kontrole:

vie grana moe izlaziti


iz simbola sekvencijalnog grananja (decision)
uslov se pie u uglastim zagradama na grani
uslovi moraju biti iskljuivi
uslovi moraju biti potpuni (inae tok kontrole staje)
[else] grana ako nije ispunjen ni jedan uslov

vie grana moe ulaziti


u simbol sekvencijalnog spajanja (merge)

Dijagrami aktivnosti

12.11.2006.

Iteracije

Iteracija se formulie pomou grananja


Primeri:

grananje:

iteracija:
poetn
o stanje
postavi
iterator

grananj
e

[kraj]
[uslov]

[not kraj]
radi()

[not uslov]
C

10

promeni
iterator

Dijagrami aktivnosti

zavrno
stanje

12.11.2006.

Konkurentna grananja

Nit kontrole se moe u nekoj taki granati na vie konkurentnih


tokova (na jednom ili vie vorova)
Ravanja (fork) i spajanja (join) tokova
se obavljaju u sinhronizacionim takama
Moe i specifikacija spajanja sa uslovom
Priprema

Aktivnost1

sinhronizaciona
taka

Aktivnost2

Finalizacija

11

Dijagrami aktivnosti

12.11.2006.

Plivake staze - particije

Plivake staze (swimlanes) specificiraju odgovornosti


za delove celokupne aktivnosti
Nemaju neku duboku semantiku
Staza obino reprezentuje neki entitet realnog sveta (esto klasa)
Akcije pripadaju stazama, a tranzicije mogu prelaziti iz jedne staze u drugu
Notacija plivakih staza:
Ime1

Ime2

Ime3

plivaka
staza

A
B

C
D

12

Dijagrami aktivnosti

12.11.2006.

Hijerarhijske particije

Dimenzija

Hijerarhijska particija:

Ime particije (staze)


Ime potparticije 1

Ime potparticije 2

Viedimenzione particije:
Ime dimenzije 2
Ime particije 3
Ime dimenzije 1

Ime particije 4

Ime particije 2
Ime particije 1

13

Dijagrami aktivnosti

12.11.2006.

Tok objekata

Tok objekta se moe naznaiti


tako to se objekat povezuje simbolima tranzicije sa akcijama
Akcije mogu kreirati, itati, modifikovati ili unitavati objekat
Grafika notacija:

noice (pinovi) koje predstavljaju objekat (parametre akcija)


Kreiranje

14

Citanje

mogu se prikazati uloge, stanja i


atributi objketa
tok objekta se u nekim alatima
predstavlja isprekidanim linijama

Kreiranje

tok
objekta
o:Obj

Citanje

Dijagrami aktivnosti

12.11.2006.

Primer dijagrama aktivnosti (1)


Kupac

Prodaja

Magacin

Narucivanje robe
Obrada narudzbenice

[n:Narudzbenica]

Podizanje robe

Transport robe

15

Dijagrami aktivnosti

12.11.2006.

Primer dijagrama aktivnosti (2)


Kupac

Prijem narudzbine

Prodaja

Magacin

Zahtev za naplatu

[r:Racun]
Placanje
Knjizenje prodaje

16

Dijagrami aktivnosti

12.11.2006.

Signali, dogaaji, izuzeci

Akcije mogu odgovarati na signale (npr. vremenske)


Grafika notacija za signale i dogaaje:

slanje signala
prihvatanje dogaaja

prihvatanje vremenskog dogaaja

Bacanje i obrada izuzetaka


aktivnost
koja baca
izuzetak

17

hendler
tip izuzetka

Dijagrami aktivnosti

12.11.2006.

Oblast primene

Oblast strukturirane aktivnosti koji se izvrava vie puta,


u skladu sa elementima ulazne kolekcije

18

izvrava se jednom za svaki element u izvornoj kolekciji


obino dodaje jedan element u izlaznu kolekciju
noice u vidu liste
obrada moe biti konkurentna ili iterativna
Moe i kao filtar (sa zaustavljanjem toka za element kolekcije)

Grafika notacija:

Dijagrami aktivnosti

12.11.2006.

You might also like