23
Projektovanje softvera Dijagrami aktivnosti

08 Dijagrami Aktivnosti - rti.etf.bg.ac.rsrti.etf.bg.ac.rs/rti/ir4ps/predavanja/UML/08 Dijagrami Aktivnosti.pdf · a n je broj objekata izvorišta koji se koriste u čvoru aktivnosti

Embed Size (px)

Citation preview

Page 1: 08 Dijagrami Aktivnosti - rti.etf.bg.ac.rsrti.etf.bg.ac.rs/rti/ir4ps/predavanja/UML/08 Dijagrami Aktivnosti.pdf · a n je broj objekata izvorišta koji se koriste u čvoru aktivnosti

Projektovanje softvera

Dijagrami aktivnosti

Page 2: 08 Dijagrami Aktivnosti - rti.etf.bg.ac.rsrti.etf.bg.ac.rs/rti/ir4ps/predavanja/UML/08 Dijagrami Aktivnosti.pdf · a n je broj objekata izvorišta koji se koriste u čvoru aktivnosti

29.10.2014.Dijagrami aktivnosti2

Uvod

� Dijagrami aktivnosti su namenjeni modeliranju dinamičkih aspekata (ponašanja) sistema

� Slični 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

� Semantika akcija – uvedena u UML1.5– uz definisanje sintakse akcija – formalna specifikacija ponašanja– podrška za izvršive modele

Page 3: 08 Dijagrami Aktivnosti - rti.etf.bg.ac.rsrti.etf.bg.ac.rs/rti/ir4ps/predavanja/UML/08 Dijagrami Aktivnosti.pdf · a n je broj objekata izvorišta koji se koriste u čvoru aktivnosti

29.10.2014.Dijagrami aktivnosti3

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 koju izvršavaju objekti– eventualno i tok objekata između koraka aktivnosti

� Dijagram aktivnosti prikazuje ponašanje koristeći modele toka kontrole i toka podataka

Page 4: 08 Dijagrami Aktivnosti - rti.etf.bg.ac.rsrti.etf.bg.ac.rs/rti/ir4ps/predavanja/UML/08 Dijagrami Aktivnosti.pdf · a n je broj objekata izvorišta koji se koriste u čvoru aktivnosti

29.10.2014.Dijagrami aktivnosti4

Aktivnosti i akcije

� Aktivnost je specifikacija parametrizovanog ponašanja koje se izražava kroz tok izvršenja preko sekvenciranja i konkurisanja podaktivnosti

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

� Simbol aktivnosti: StarUML:

� Akcija je osnovna jedinica specifikacije ponašanja koja reprezentuje neku transformaciju ili obradu u modeliranom sistemu

– akcija je osnovni izvršni element aktivnosti � osnovna jedinica izvršne funkcionalnosti

– akcija predstavlja jedan korak u aktivnosti koji se obično dalje ne dekomponuje– aktivnost predstavlja kontekst akcije

� Simbol akcije: StarUML:ime akcije

akcija

ime aktivnosti

aktivnost

Page 5: 08 Dijagrami Aktivnosti - rti.etf.bg.ac.rsrti.etf.bg.ac.rs/rti/ir4ps/predavanja/UML/08 Dijagrami Aktivnosti.pdf · a n je broj objekata izvorišta koji se koriste u čvoru aktivnosti

29.10.2014.Dijagrami aktivnosti5

Aktivnosti

� Svaka aktivnost se može predstaviti posebnim dijagramom

� Aktivnost definiše parametrizovano ponašanje – može se ponavljati na više mesta u dijagramu

� Akcija se dešava samo jednom – na datom mestu unutar date aktivnosti

ime aktivnosti

ime aktivnosti

akcija A akcija Bulazni parametar

izlazni parametar

Page 6: 08 Dijagrami Aktivnosti - rti.etf.bg.ac.rsrti.etf.bg.ac.rs/rti/ir4ps/predavanja/UML/08 Dijagrami Aktivnosti.pdf · a n je broj objekata izvorišta koji se koriste u čvoru aktivnosti

29.10.2014.Dijagrami aktivnosti6

Akcije (1)

� Akcije mogu biti: – pokretanje aktivnosti

� pozivi operacija� slanje signala

– čitanje (vraćanje vrednosti) ili upis (promena stanja) podataka� kreiranje ili uništavanje objekata (vrsta upisa)

– 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

Page 7: 08 Dijagrami Aktivnosti - rti.etf.bg.ac.rsrti.etf.bg.ac.rs/rti/ir4ps/predavanja/UML/08 Dijagrami Aktivnosti.pdf · a n je broj objekata izvorišta koji se koriste u čvoru aktivnosti

29.10.2014.Dijagrami aktivnosti7

Izvršenje a kcije /aktivnosti

� Akcija/aktivnost može biti inicirana iz sledećih razloga: – završeno izvršavanje prethodnih akcija/aktivnosti– objekat je postao raspoloživ– dogodio se spoljašnji događaj (izvan modeliranog toka kontrole)

� Akcija/aktivnost može imati skupove ulaznih i izlaznih grana– one specificiraju tok kontrole ili tok objekata

od i prema drugim čvorovima dijagrama aktivnosti– akcija/aktivnost neće početi izvršenje dok:

� nisu završene sve akcije/aktivnosti koje prethode po ulaznim granama� nisu svi objekti na ulaznim granama raspoloživi� nisu svi ulazni uslovi ispunjeni

– završetak izvršenja jedne omogućava izvršenje skupa sledećih akcija/aktivnosti

� UML 1: 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

Page 8: 08 Dijagrami Aktivnosti - rti.etf.bg.ac.rsrti.etf.bg.ac.rs/rti/ir4ps/predavanja/UML/08 Dijagrami Aktivnosti.pdf · a n je broj objekata izvorišta koji se koriste u čvoru aktivnosti

29.10.2014.Dijagrami aktivnosti8

Elementi dijagrama aktivnosti

� Dijagrami aktivnosti su grafovi koji sadrže: – čvorove:

� akcije i aktivnosti� objekti� slanja signala (send signal)� 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 (fork i join)

� pseudočvorovi: početni, završni i kraj toka� konektori

– grane:� prelazi (tranzicije) između akcija� tok objekata

Page 9: 08 Dijagrami Aktivnosti - rti.etf.bg.ac.rsrti.etf.bg.ac.rs/rti/ir4ps/predavanja/UML/08 Dijagrami Aktivnosti.pdf · a n je broj objekata izvorišta koji se koriste u čvoru aktivnosti

29.10.2014.Dijagrami aktivnosti9

Pseudo čvorovi, tranzicije, konektori

� Grafička notacija pseudočvorova:– za početni čvor: – za završni čvor (kraj svih tokova): – za kraj jednog (konkurentnog) toka:

� Prelaz (tranzicija) je legalna putanja od jednog do drugog čvora

� Grafička notacija:– poslednji oblik – izvorište je objekat (ne konkretni, već prototipski - uloga),

a n je broj objekata izvorišta koji se koriste u čvoru aktivnosti (akcije)– specijalne vrednosti: all, null– primer: formiranje fudbalskog tima

� Konektori sa istim imenom predstavljaju jednu tranziciju� Grafička notacija:

ime {weight=n}

A A

Igrač{weight=10}

Golman{weight=1}

Formiranje fudbalskog tima

Page 10: 08 Dijagrami Aktivnosti - rti.etf.bg.ac.rsrti.etf.bg.ac.rs/rti/ir4ps/predavanja/UML/08 Dijagrami Aktivnosti.pdf · a n je broj objekata izvorišta koji se koriste u čvoru aktivnosti

29.10.2014.Dijagrami aktivnosti10

Sekvencijalna g rananja

� 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)

� Dozvoljeno je kombinovanje grananja i spajanja u jednom kontrolnom čvoru

Page 11: 08 Dijagrami Aktivnosti - rti.etf.bg.ac.rsrti.etf.bg.ac.rs/rti/ir4ps/predavanja/UML/08 Dijagrami Aktivnosti.pdf · a n je broj objekata izvorišta koji se koriste u čvoru aktivnosti

29.10.2014.Dijagrami aktivnosti11

Primeri grananja i iteracije

� Iteracija se formuliše pomoću grananja� Primeri:

– grananje: iteracija:

postavi iterator

[ kraj ]

radi()

pomeri iterator

[ not kraj ]

petlja sa izlazom

na vrhu

A

B

C

[ uslov ]

[ else ]

grananje

Page 12: 08 Dijagrami Aktivnosti - rti.etf.bg.ac.rsrti.etf.bg.ac.rs/rti/ir4ps/predavanja/UML/08 Dijagrami Aktivnosti.pdf · a n je broj objekata izvorišta koji se koriste u čvoru aktivnosti

29.10.2014.Dijagrami aktivnosti12

Konkurentna grananja

� Nit kontrole se može u nekoj tački granati na više konkurentnih niti� Račvanja (fork) i udruživanja (join) niti

se obavljaju u sinhronizacionim tačkama� Grafička notacija:

Priprema

Aktivnost 1 Aktivnost 2

Zavrsetak

Page 13: 08 Dijagrami Aktivnosti - rti.etf.bg.ac.rsrti.etf.bg.ac.rs/rti/ir4ps/predavanja/UML/08 Dijagrami Aktivnosti.pdf · a n je broj objekata izvorišta koji se koriste u čvoru aktivnosti

29.10.2014.Dijagrami aktivnosti13

Tok objekata

� Tok objekta se može naznačiti tako što se (prototipski) objekatpovezuje simbolima prelaza sa akcijama

� Akcije mogu kreirati, čitati, modifikovati ili uništavati objekat� Grafička notacija:

– nožice (pinovi) koje predstavljaju objekat

– alternativna sintaksa:� u pravougaoniku: klasa [stanje]

– tok objekata u UML 1:� isprekidanim strelicama� poseban tok u odnosu na tok kontrole:

paralelno sa granom prelaza između akcija� naziv objekta podvučen

A1 A2K[S] K[S]

K [S]A1 A2

K [S]

A1 A2

Page 14: 08 Dijagrami Aktivnosti - rti.etf.bg.ac.rsrti.etf.bg.ac.rs/rti/ir4ps/predavanja/UML/08 Dijagrami Aktivnosti.pdf · a n je broj objekata izvorišta koji se koriste u čvoru aktivnosti

29.10.2014.Dijagrami aktivnosti14

Primer

A1

A2[ u1 ]

A3 A4

A8[ else ]

[ u2 ]

A5

A6

A9

[ else ]

početak aktivnosti

akcijauslov

sekvencijalno

spajanje

sekvencijalno

grananje

konkurentno

grananje

konkurentno

spajanje

kraj toka

aktivnost

završetak

aktivnosti O1objekat

A7

Page 15: 08 Dijagrami Aktivnosti - rti.etf.bg.ac.rsrti.etf.bg.ac.rs/rti/ir4ps/predavanja/UML/08 Dijagrami Aktivnosti.pdf · a n je broj objekata izvorišta koji se koriste u čvoru aktivnosti

29.10.2014.Dijagrami aktivnosti15

Pliva čke staze

� Plivačke staze (swimlanes) specificiraju odgovornosti za delove celokupne aktivnosti

� Nemaju neku duboku semantiku� Staza reprezentuje neki subjekat odgovoran za sprovođenje akcije

– objekat aplikacije ili entitet realnog sveta� Notacija plivačkih staza:

� Akcije pripadaju stazama� Tranzicije mogu prelaziti

iz jedne staze u druguplivačku stazu

subjekat 1 subjekat 2 subjekat 3

A

B

C

D

Page 16: 08 Dijagrami Aktivnosti - rti.etf.bg.ac.rsrti.etf.bg.ac.rs/rti/ir4ps/predavanja/UML/08 Dijagrami Aktivnosti.pdf · a n je broj objekata izvorišta koji se koriste u čvoru aktivnosti

29.10.2014.Dijagrami aktivnosti16

Hijerarhijske staze i particije

� Hijerarhijska plivačka staza: Višedimenzione particije:dimenzija 1

dim

enzi

ja 2

Part

icija

2.2

Particija 1.1

Part

icija

2.1

Particija 1.2Particija 1

Particija 1.1 Particija 1.2

Page 17: 08 Dijagrami Aktivnosti - rti.etf.bg.ac.rsrti.etf.bg.ac.rs/rti/ir4ps/predavanja/UML/08 Dijagrami Aktivnosti.pdf · a n je broj objekata izvorišta koji se koriste u čvoru aktivnosti

29.10.2014.Dijagrami aktivnosti17

Primer dijagrama aktivnosti

Napomena:Alat StarUMLprikazuje tok objekata isprekidanim strelicama i podvlači imena objekata.

Kupac Prodavac Magacin

zahtevanje robe

prihvatanje zahteva

placanje

Narudzbenica [predata]

Narudzbenica [prihvacena]

izdavanje robe

isporuka robe

Narudzbenica [popunjena]

Narudzbenica [isporucena]

prijem robe

naplata

Racun [izdat]

Racun [placen]

Page 18: 08 Dijagrami Aktivnosti - rti.etf.bg.ac.rsrti.etf.bg.ac.rs/rti/ir4ps/predavanja/UML/08 Dijagrami Aktivnosti.pdf · a n je broj objekata izvorišta koji se koriste u čvoru aktivnosti

29.10.2014.Dijagrami aktivnosti18

Izuzeci

� Bacanje i obrada izuzetaka:

� Tok aktivnosti sa:– bacanjem izuzetka– hvatanjem izuzetka i

– nastavkom aktivnosti

Bacanje Hvatanje

ispitni blok

bezbedan blok 2

blok obrade

Izuzetak

bezbedan blok 1

aktivnostkoja bacaizuzetak

aktivnost koja

hvata i obrađuje izuzetaktip izuzetka

Page 19: 08 Dijagrami Aktivnosti - rti.etf.bg.ac.rsrti.etf.bg.ac.rs/rti/ir4ps/predavanja/UML/08 Dijagrami Aktivnosti.pdf · a n je broj objekata izvorišta koji se koriste u čvoru aktivnosti

29.10.2014.Dijagrami aktivnosti19

Signali i događaji

� Grafička notacija za signale i događaje:– slanje signala– prihvatanje događaja– prihvatanje vremenskog događaja

� npr. čekanje zadato vreme

slanje signala

prijem signala

Page 20: 08 Dijagrami Aktivnosti - rti.etf.bg.ac.rsrti.etf.bg.ac.rs/rti/ir4ps/predavanja/UML/08 Dijagrami Aktivnosti.pdf · a n je broj objekata izvorišta koji se koriste u čvoru aktivnosti

29.10.2014.Dijagrami aktivnosti20

Primer slanja i prihvatanja signala

� Konkurentno izračunavanje binarne komutativne operacije– (1) sinhrona komunikacija

(2) asinhrona komunikacija

inicijalizacija

racunanje levog operanda

racunanje rezultata operacije

racunanje desnog operanda

cekanje prvog operanda

slanje levog operanda

racunanje levog operanda racunanje desnog operanda

slanje desnog operanda

inicijalizacija

cekanje drugog operanda

racunanje rezultata operacije

Page 21: 08 Dijagrami Aktivnosti - rti.etf.bg.ac.rsrti.etf.bg.ac.rs/rti/ir4ps/predavanja/UML/08 Dijagrami Aktivnosti.pdf · a n je broj objekata izvorišta koji se koriste u čvoru aktivnosti

29.10.2014.Dijagrami aktivnosti21

Oblast ekspanzije

� Oblast strukturirane aktivnosti koja se izvršava više puta, u skladu sa elementima ulazne kolekcije (ekspanzionog čvora)

– izvršava se jednom za svaki element u ulaznoj kolekciji

� Grafička notacija:

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

ulazni ekspanzioni cvor

izlazni ekspanzioni cvor

Page 22: 08 Dijagrami Aktivnosti - rti.etf.bg.ac.rsrti.etf.bg.ac.rs/rti/ir4ps/predavanja/UML/08 Dijagrami Aktivnosti.pdf · a n je broj objekata izvorišta koji se koriste u čvoru aktivnosti

29.10.2014.Dijagrami aktivnosti22

Centralni bafer

� Vrsta čvora objekta � Namena: upravljanje tokovima objekata

iz više izvora prema više odredišta� Simbol:

� Primer:

K [S]

<<centralBuffer>>

Proizvodnja 1

Proizvodnja 2

Proizvod [proizveden]<<centralBuffer>>

Potrosnja 1

Potrosnja 2

Proizvod

[proizveden]

Proizvod

[proizveden]

Proizvod[proizveden]

Proizvod

[proizveden]

Proizvod

Magacin

1

Proizvodjac

1

Potrosac

1

<<instantiate>> <<use>>

Page 23: 08 Dijagrami Aktivnosti - rti.etf.bg.ac.rsrti.etf.bg.ac.rs/rti/ir4ps/predavanja/UML/08 Dijagrami Aktivnosti.pdf · a n je broj objekata izvorišta koji se koriste u čvoru aktivnosti

29.10.2014.Dijagrami aktivnosti23

Skladište podataka

� Vrsta čvora objekata� Namena: opis podataka koji su permanentno na raspolaganju� Razlika u odnosu na centralni bafer

– podaci c. bafera su prolazni, a podaci skladišta podataka su stalni

� Simbol:

� Primer:

K [S]

<<datastore>>

Upis studenta BazaStudenata<<datastore>> Izbor kurseva

Prikaz podataka o studentu

<<selection>>

student.indeks==xx/yyyy