Upload
dina-t
View
217
Download
0
Embed Size (px)
Citation preview
8/18/2019 OISv 05a Activity 2012
1/35
Dijagrami aktivnosti
1
8/18/2019 OISv 05a Activity 2012
2/35
Sadržaj
• Uvod u UML 2.0 Dijagrame aktivnosti• Koncept Akcije, Pinova i Aktivnosti• Opis čvorova aktivnosti i veza • Notacija
• ActivityPartition• Pre & post condition• SendSignalAction• Time trigger i Time event
• AcceptEventAction• InterruptibleActivityRegion• Exception
2
8/18/2019 OISv 05a Activity 2012
3/35
Dijagrami aktivnosti
• Koriste se za specifikaciju ponašanja softverskih ili hardverskihsistema
• Zasnovani na fata flow modelu – grafičkoj reprezentacijikretanja podataka kroz informacioni sistem
3
Popuni
Narudžbu
Šalji
Narudžbu
Šalji Račun
Prihvati
Uplatu
Završi
Narudžbu
Plati
[narudžba prihvaćena]
Racun
Primi
Narudžbu
[narudžba odbijena]
8/18/2019 OISv 05a Activity 2012
4/35
Akcije
• Osnovne jedinice izvršne fukcionalnosti unutar aktivnosti
• Izvršenje akcije predstavlja neku izmjenu ili proces u modeliranomsistemu (kreiranje objekata, postavljanje vrijednosti, povezivanje
objekata, pozivanje procesa ...)
4
Opis akcije
8/18/2019 OISv 05a Activity 2012
5/35
Pinovi
• Akcije mogu imati ulaze i izlaze, kroz pinove
• Pinovi „čuvaju“ ulaze dok sama akcija ne počne saizvršavanjem i „čuvaju“ izlaze dok se vrijednost ne prenesedalje
• Naziv pina nije ograničen – obično tip objekta ili podataka kojiprolaze kroz pin
5
Izlazni pinSamostalni pin ili objekat –
izlazni pin i ulazni pin
imaju isto ime i tip
Ulazni pin
8/18/2019 OISv 05a Activity 2012
6/35
Posebne vrste pinova
• Streaming Parametri (označeni sa {STREAM}): ulaz ili izlaz jedne iliviše vrijednosti za vrijeme izvršavanja akcije
6
Samostalni
pin
8/18/2019 OISv 05a Activity 2012
7/35
Posebne vrste pinova
• Exception Output Parametri (označeni trouglom)
• Daje izlazne vrijednosti i isključuje ostale izlazne parametre iakcije
• Sve akcije i svi „non-stream“ izlazi se terminiraju
7
8/18/2019 OISv 05a Activity 2012
8/35
Posebne vrste pinova
• Skupovi parametara • Grupe parametara• Akcija može primiti ulaze na pinove
u jednom skupu
•Akcija može dati izlaze na pinove u jednom skupu
• ValuePin: vrsta pina koja je definirana da nosi konstantnu vrijednost(tip vrijednosti mora biti isti kao tip pina)
8
π
Izračunaj obim 3.14
Prečnik
vrijednost
Izlaz je poslan na pinove
u prvom ILI u drugom skupu
8/18/2019 OISv 05a Activity 2012
9/35
Uvjeti za početak i kraj akcije
• Akcija može početi: • Ako su svi „non-stream“ ulazi stigli (ili barem jedan
stream ulaz ako postoje samo stream ulazi)
• Akcija može završiti:• Ako su svi ulazi stigli (uključujući stream ulaze) • Ako su osigurani svi non-stream i non-exception
izlazi (ili bilo koji exception izlaz)
9
8/18/2019 OISv 05a Activity 2012
10/35
Aktivnosti
• Aktivnost je specifikacija ponašanja u obliku uređenog slijeda čiji suelementi akcije
• Koristi parametre da primi i pruži podatke
10
Parameter
name
Parameter
name Parameter
name
Izlazni
parametri
Čvor unutar aktivnosti
VezeUlazni
parametri
Akcija se može predstaviti kao aktivnost zbog detaljnijeg prikaza
Ova akcija se može
prikazati kao aktivnost
8/18/2019 OISv 05a Activity 2012
11/35
Čvorovi aktivnosti
• Tri tipa čvora: • Čvorovi akcije: izvršni čvorovi aktivnosti; izvršenje akcije
predstavlja promjenu ili proces u modeliranom sistemu(viđeno na slajdovima prije)
• Kontrolni čvorovi: koordinacija toka među drugim čvorovimaunutar aktivnosti
• Čvorovi objekata: predstavljaju instancu određenog objekta (npr. Pinovi)
11
8/18/2019 OISv 05a Activity 2012
12/35
Veze
• Veze su direkcione• Imaju početak i kraj
• Bilo koji broj informacija može proči kroz jednu vezu • Weight : definiše minimalan broj podataka koji mora proči
kroz vezu da bi se tok nastavio
12
U ovom primjeru koristimo weight koji nije fiksan
8/18/2019 OISv 05a Activity 2012
13/35
Veze
• Dvije vrste:
• Kontrolne – aktiviraju akciju nakon što je prethodnazavršila
• Veze prenosa objekta- veze koje nose podatke/objekte
13
8/18/2019 OISv 05a Activity 2012
14/35
Primjer – vikend kući
14
Get
luggage
ready
[on car]
[on train]
«local precondition» Have a license
Turn on
the car
To
motorway
tollgate
Exit to
tollgate
Go home
with the
car
Go to the
station with
a friend
Buy the
ticket
Obliterate
the ticket
Catch
the train
When the train
arrives
to home town
Get off
the train
The train
derail
Car crash
The friendgoes home
Go home
with bus
...
...
Study
for 5
minutes
[Home is a long way]
[else]
Catch
the
ticket
Fill up
with
fuel
[the tank is full]
[else]
Pay the
ticket
8/18/2019 OISv 05a Activity 2012
15/35
Kontrolni čvorovi – početni
• U aktivnosti, top počinje početnim čvorom koji automatskidaje kontrolu sljedećem čvoru
• Ako postoji više početnih čvorova, oba se startajuistovremeno, započinjući time višestruki tok
• Ako početni čvor ima više izlaza, nastavlja se SAMO JEDANtok, u zavisnosti od uvjeta
15A ili B ?
8/18/2019 OISv 05a Activity 2012
16/35
Kontrolni čvorovi - odluke
• Nastavlja tok JEDNOM OD VEZA• Odluke trebaju biti prikazane na izlaznim vezama• Predefinisanu odluku [else] koristiti za nepokrivene
slučajeve • Ako nijedna od odluka nije donesena, izvršenje se
ne nastavlja dok se ne ispuni jedan od uvjeta
16
8/18/2019 OISv 05a Activity 2012
17/35
Kontrolni čvorovi - spajanja
• Spajaju više tokova
• Kontrola i podaci koji stižu na ulazne veze se odmahprosljeđuju na izlazne
• Bez usklađivanja tokova ili akcija
17
8/18/2019 OISv 05a Activity 2012
18/35
Kontrolni čvorovi – paralelno izvršavanje
• Ovi čvorovi granaju tok u više ISTOVREMENIH tokova
18
8/18/2019 OISv 05a Activity 2012
19/35
Kontrolni čvorovi - spajanje
• Spajanje i usklađivanje paralelnih čvorova
• Obično kontrola ili informacije moraju biti dostupni na svakojdolaznoj vezi
• Moguće je koristiti joinSpec kako bi se definisale ulazne veze
19
8/18/2019 OISv 05a Activity 2012
20/35
Kontrolni čvorovi - završetci
• Kraj toka:• Prekida izvršenje toka
• Aktivnos se okončava kada se sve akcije izvrše
• Finalni čvor:
• Aktivnost se obustavlja kad se bilo koja akcija izvrši
20Namjerno
nadmetanje tokova
8/18/2019 OISv 05a Activity 2012
21/35
Čvorovi objekata
• „Čuvaju“ podatke privremeno, dok se kreću niz tok dijagrama • Navedite tipove vrijednosti koje mogu sadržavati • Mogu sadržavati informacije o stanju podataka
• Vrste čvorova objekata:
21
Pinovi
Parametri aktivnosti
Central
Buffer
Data
Store
8/18/2019 OISv 05a Activity 2012
22/35
Čvorovi objekata– centralBuffer
• centralBuffer je čvor koji upravlja tokovima iz više izvorišta ina više odredišta
• Vrši ulogu „skladišta“ • Nije vezan za akciju (kao pinovi) ili aktivnost (kao parametri)
22centralBuffer skuplja objekte tipa
Part, a svaki Part se može uputiti na
jedan od dva toka (Pack ili Use)
8/18/2019 OISv 05a Activity 2012
23/35
Čvorovi objekata – datastore
• Čvor koji dugotrajno čuva podatke • Čuva sve podatke koji uđu u čvor • Ako objekat već postoji u čvoru, novi objekat zamjenjuje stari
23
8/18/2019 OISv 05a Activity 2012
24/35
Veze – prikaz
• Veze se mogu nastavljati konektorima
• Oznaka konektora na oba kraja mora biti ista
26
Je isto kao
Moguće je objediniti veze radi jednostavnosti
pojednostavljeno
8/18/2019 OISv 05a Activity 2012
25/35
Veze - transformacija
• Moguće je izvršiti smislenu transformaciju objekta koji se prenosi vezom
27
U ovom primjeru se
prosljeđuje podatak o Kupcu sa Narudžbe
specifikacija
8/18/2019 OISv 05a Activity 2012
26/35
Grananje toka
• Parametar ili pin mogu imati više izlaznih veza, ali sesamo jedna nastavlja
• Nebitno je koji će se tok nastaviti
29
Ako su i stanica 1 i stanica 2zauzete, nastavit će se tok one stanice koja se prvaoslobodi
8/18/2019 OISv 05a Activity 2012
27/35
ActivityPartition – Swimlane
• Dijeli čvorove i veze kako bi se identificirale akcije koje dijeleneke karakteristike• Obično odgovaraju organizacionim jedinicama u poslovnom
modelu
• Mogu biti hijerarhijske i višedimenzionalne • Više načina prikazivanja
30
8/18/2019 OISv 05a Activity 2012
28/35
ActivityPartition – Swimlane
31
Dvije vrste
prikaza
8/18/2019 OISv 05a Activity 2012
29/35
Pre & post uvjet
32
8/18/2019 OISv 05a Activity 2012
30/35
SendSignalAction
• Kreira signal na osnovu ulaznih podataka
• Asinhroni stimulus – nema povratne informacije
• Eventualne povratne informacije su ignorisane
33
8/18/2019 OISv 05a Activity 2012
31/35
Time trigger i Time event
• Time trigger definiše kad će se vremenski definisandogađaj dogoditi
• Time event se desi kad je ispunjen određeni vremenski
uvjet• Vrijeme može biti relativno i apsolutno
• Relativni time trigger : definiše se sa ‘after’ i vremenskimperiodom
• Apsolutni time trigger : vremenska vrijednost
34Jan, 1, 2000, Noonafter (5 seconds)
Relativni time trigger Apsolutni time trigger
8/18/2019 OISv 05a Activity 2012
32/35
AcceptEventAction
• Čeka da se desi Event
• Vrste AcceptEventAction:
• Accept event action – prihvata signalod SendSignalAction
• Wait time action – prihvata vremenskievent
35
Accept event action
Wait time action
Review se
obavlja nad svim
objektima iz
Personnel jednom
godišnje. ZAŠTO?
8/18/2019 OISv 05a Activity 2012
33/35
InterruptibleActivityRegion
• Je grupa aktivnosti koju je moguće prekinuti • Kad se tok nastavi ovom vezom, sve ostale akcije/aktivnosti iz te
grupe se stopiraju
36
Veza prekida
8/18/2019 OISv 05a Activity 2012
34/35
Exceptions• Exception handler – specificira akciju koju je potrebno izvršitiu slučaju greške u zaštičenom dijelu • Kad se desi exception, pokreče se handler koji ispunjava
uvjete
• Ako nijedan handler ne ispunjava uvjete, pokreče se default • Ako se desi greška za koju ne postoji handler – nepredviđeno
ponašanje sistema
37
8/18/2019 OISv 05a Activity 2012
35/35
Exceptions
• Kad se desi greška, umjesto aktivnosti u zaštičenom dijelu, izvršavase handler dio• Dio handlera može riješiti problem ili prekinuti izvršenje • Zaštičeni čvor može sadržavati druge čvorove
38
Uspješan kraj
Zaštičeni čvor sadvije akcije
Handler