You are on page 1of 18

Projektovanje softvera

Dijagrami aktivnosti

Uvod
Dijagrami aktivnosti su namenjeni modeliranju dinamikih aspekata (ponaanja) sistema Slini konvencionalnim dijagramima

kontrole toka (flow-chart) toka podataka (data-flow)

Prikazuju sekvencijalne i konkurentne korake u procesu obrade Mogu se koristiti za opis:


toka poslovnog procesa toka neke operacije

Aktivnost je specifikacija parametrizovanog ponaanja koje se izraava kroz tok izvrenja preko sekvenciranja podaktivnosti

elementarne jedinice podaktivnosti pojedine akcije aktivnost reprezentuje neatomsku obradu koja se dekomponuje na jedinice

Akcija je osnovna jedinica specifikacije ponaanja koja reprezentuje neku transformaciju ili obradu u modeliranom sistemu

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

Aktivnosti i akcije (1)


Akcije mogu biti:

pokretanje aktivnosti
pozivi operacija slanje signala

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


kreiranje ili unitavanje objekata (vrsta upisa)

izraunavanje
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


akcija moe pokrenuti ponaanje (aktivnost) proizvoljne sloenosti

Dijagrami aktivnosti

29.10.2008.

Aktivnosti i akcije (2)


Akcija moe biti inicirana iz sledeih razloga:

zavreno izvravanje prethodnih akcija objekat je postao raspoloiv dogodio se spoljanji dogaaj (izvan modeliranog toka kontrole) 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

Akcija moe imati skupove ulaznih i izlaznih grana aktivnosti

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

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

29.10.2008.

Odnos prema drugim dijagramima


Dijagram interakcije prikazuje

tok poruka koje se razmenjuju izmeu objekata tok promene stanja objekta tok aktivnosti koja se izvrava nad objektima

Dijagram stanja prikazuje

Dijagram aktivnosti prikazuje

Dijagram aktivnosti prikazuje ponaanje koristei modele toka kontrole i toka podataka

Dijagrami aktivnosti

29.10.2008.

Elementi dijagrama aktivnosti


Dijagrami aktivnosti su grafovi koji sadre:

vorove:
akcije i aktivnosti objekti slanja signala (send signal) prihvatanja dogaaja (accept event) prihvatanja vremenskog dogaaja (accept time event) kontrolni vorovi

sekvencijalna grananja i spajanja u toku kontrole (decision i merge) konkurentna grananja i spajanja u toku kontrole (fork i join) pseudovorovi: poetni, zavrni i kraj toka konektori

grane:
prelazi (tranzicije) izmeu akcija tok objekata

Dijagrami aktivnosti

29.10.2008.

Grafika notacija
Akcija:
ime akcije

Aktivnost:

svaka aktivnost se moe predstaviti posebnim dijagramom


ime aktivnosti ime aktivnosti ulazni parametar akcija A akcija B izlazni parametar

Dijagrami aktivnosti

29.10.2008.

Pseudovorovi, tranzicije, konektori


Grafika notacija pseudovorova:

za poetni vor: za zavrni vor (kraj svih tokova): za kraj jednog (konkurentnog) toka:
ime {weight=n}

Prelaz (tranzicija) je legalna putanja od jednog do drugog vora Grafika notacija:


poslednji oblik izvorite je objekat (ne konkretni, ve prototipski - uloga), a n je broj objekata izvorita koji se koriste u akciji specijalne vrednosti: all, null {weight=10} Igra primer: formiranje fudbalskog tima Formiranje
Golman {weight=1} fudbalskog tima

Konektori sa istim imenom predstavljaju jednu tranziciju Grafika notacija: A A

Dijagrami aktivnosti

29.10.2008.

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 [else] grana ako nije ispunjen ni jedan uslov

vie grana moe ulaziti u simbol sekvencijalnog spajanja (merge)

Dijagrami aktivnosti

29.10.2008.

Iteracije
Iteracija se formulie pomou grananja Primeri:

grananje:

iteracija:
poetno stanje
postavi iterator

[kraj]
[uslov] [not uslov] B

grananje

[not kraj] radi()

promeni iterator

zavrno stanje

10

Dijagrami aktivnosti

29.10.2008.

Konkurentna grananja
Nit kontrole se moe u nekoj taki granati na vie konkurentnih niti Ravanja (fork) i udruivanja (join) niti se obavljaju u sinhronizacionim takama Grafika notacija: Priprema
sinhronizaciona taka

Aktivnost1

Aktivnost2

Finalizacija

11

Dijagrami aktivnosti

29.10.2008.

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

A B

plivaka staza

C D

12

Dijagrami aktivnosti

29.10.2008.

Hijerarhijske staze i particije


Hijerarhijska plivaka staza:
Particija 1 Particija 1.1 Particija 1.2
Particija 4

Viedimenzione particije:
dimenzija 1
Particija 1 Particija 2

dimenzija 2

13

Dijagrami aktivnosti

Particija 3

29.10.2008.

Tok objekata
Tok objekta se moe naznaiti tako to se (prototipski) objekat povezuje simbolima prelaza sa akcijama Akcije mogu kreirati, itati, modifikovati ili unitavati objekat Grafika notacija:

noice (pinovi) koje predstavljaju objekat


Obj[s1] Kreiranje Obj[s1] Citanje Kreiranje tok objekta Obj [ s1]

sintaksa prototipskog objekta:


u pravougaoniku: klasa [stanje] StarUML podvlai (nije std. po UML2)

tok objekata u UML 1:


isprekidanim strelicama poseban tok u odnosu na tok kontrole: paralelno sa granom prelaza izmeu akcija
Dijagrami aktivnosti

Citanje

14

29.10.2008.

Primer dijagrama aktivnosti


Kupac Prodavac Magacin zahtevanje robe Narudzbenica [predata] prihvatanje zahteva

naplata Racun [izdat] placanje Racun [placen]

Narudzbenica [prihvacena] izdavanje robe

Narudzbenica [pounjena]

Napomena: Korieni alat prikazuje tok objekata isprekidanim strelicama. Prema standardju UML 2 nisu isprekidane.

isporuka robe Narudzbenica [isporucena] prijem robe

15

Dijagrami aktivnosti

29.10.2008.

Signali, dogaaji, izuzeci


Grafika notacija za signale i dogaaje:

slanje signala prihvatanje dogaaja prihvatanje vremenskog dogaaja


npr. ekanje zadato vreme

slanje signala prijem signala

Bacanje i obrada izuzetaka


aktivnost koja baca izuzetak tip izuzetka hendler

16

Dijagrami aktivnosti

29.10.2008.

Primer
Konkurentno izraunavanje binarne komutativne operacije

dva naina: sinhrona i asinhrona komunikacija

inicijalizacija

racunanje levog operanda

racunanje desnog operanda

inicijalizacija

racunanje levog operanda


racunanje rezultata operacije

racunanje desnog operanda slanje desnog operanda

cekanje prvog operanda cekanje drugog operanda racunanje rezultata operacije

slanje levog operanda

17

Dijagrami aktivnosti

29.10.2008.

Oblast ekspanzije
Oblast strukturirane aktivnosti koja se izvrava vie puta, u skladu sa elementima ulazne kolekcije (ekspanzionog vora)

izvrava se jednom za svaki element u ulaznoj kolekciji


Ulazni ekspanzioni vor

Grafika notacija:

Izlazni ekspanzioni vor

Stereotipovi oblasti: <<iterative>>, <<parallel>>

18

Dijagrami aktivnosti

29.10.2008.

You might also like