Dijagrami aktivnosti UML 2.0
Download
Report
Transcript Dijagrami aktivnosti UML 2.0
Laboratorija za informacione sisteme, FON
UML 2.0 Dijagrami aktivnosti
Beograd, 2007.
Sadržaj izlaganja
UML
Dijagrami aktivnosti - istorijat
Osnovni koncepti UML 2.0 dijagrama aktivnosti
Napredni koncepti UML 2.0 dijagrama aktivnosti
Primeri
2
UML
UML (Unified Modeling Language)
OMG (Object Managemrnt Group) – organizacija
zadužena za brigu o standardizaciji UML
UML– de facto standardni jezik za modelovanje
Sadrži skup dijagrama za opis strukture i dinamike
svih vrsta sistema
Najviše se koristi u razvoju informacionih sistema
Aktuelna verzija – UML 2.0
3
UML 2.0 dijagrami
Diagram
Structural
Class diagram
Behavioural
Object diagram
Interaction diagram
Activity diagram
Use case diagram
State machine diagram
Package diagram
Composite structure
diagram
Implementation diagram
Deployment diagram
Sequence diagram
Communication diagram
Timing diagram
Interaction overview
diagram
Component diagram
UML 2.0 definiše 13 vrsta dijagrama
4
UML 2.0 Dijagrami aktivnosti
DA se koristi na najrazlicitijim nivoima projektovanja
softvera i to za opis:
Poslovnih procesa
Workflow-a
Slozenih use-case tokova
Proceduralne logike
Algoritama
5
UML 2.0 Dijagrami aktivnosti
U prethodnim verzijama, Dijagrami aktivnosti (DA) su
bili zasnovani na konceptima dijagrama prelaza
stanja (teorija konačnih automata) a od verzije UML
2.0 zasnovani su na teoriji Petrijevih mreža.
Token – koncept preko kojeg se prati izvršenje
dijagrama aktivnosti
Dijagrami aktivnosti predstavljaju tehniku za opis
proceduralne logike i poslovnih procesa. Sa tog
aspekta su slični staroj tehnici flowchart ali glavna
razlika je što DA podržava modelovanje paralelnog
izvršavanja aktivnosti.
6
Osnovni grafički simboli DA
Initial Node (inicijalni čvor)
Prijem porudžbine
Action (aktivnost
ili akcija)
Fork (račvanje niti)
Formiranje
i slanje fakture
Pakovanje robe
Decision (odlučivanje)
[ ekspresna porudžbina ]
Ekspresna
isporuka
Merge (spajanje OR grana)
Join (spajanje-sinhronizacija niti)
[ ostale ]
Flow (tok)
Regularna
isporuka
Evidentiranje uplate
Zatvaranje porudžbine
Acitvity Final (kraj procesa)
Osnovni koncepti UML 2.0 DA
7
Odlučivanje – OR grananje (Decision)
A
A
[ uslov ]
[ da ]
B
[ ne ]
C
Osnovni koncepti UML 2.0 DA
[ uslov 1 ]
B
[ uslov2 ]
C
8
Račvanje – AND grananje (Fork)
B
A
C
[ Uslov 1 ]
B
A
[ Uslov 2 ]
Osnovni koncepti UML 2.0 DA
C
9
Podprocesi (Subactivities)
Prijem porudžbine
Pakovanje robe
Formiranje
i slanje fakture
Otpremanje robe
Otpremanje robe
[ ekspresna porudžbina ]
Ekspresna
isporuka
Evidentiranje uplate
[ ostale vrste ]
Regularna
isporuka
Zatvaranje porudžbine
Osnovni koncepti UML 2.0 DA
10
Particije (Partitions)
Ekspedicija
Prodaja
Računovodstvo
Particije
predstavljaju uloge
Prijem porudžbine
(izvršioce) u modelu
odvijanja poslovnog
procesa
Pakovanje robe
Formiranje
i slanje fakture
Otpremanje robe
Evidentiranje uplate
Zatvaranje porudžbine
Osnovni koncepti UML 2.0 DA
11
Particije (Partitions)
Uloga (izvršilac) može predstavljati poslovnog
partnera, organizacioni deo, radno mesto ...
Uključivanje organizacionog aspekta
Od verzije UML 2.0 moguće je konstruisati
dvodimenzionalni grid (particije po kolonama i
redovima)
Moguće je particije deliti na podparticije i tako
prikazati hijerarhiju particija
Osnovni koncepti UML 2.0 DA
12
Particije (Partitions)
Beograd
Ekspedicija
Računovodstvo
Prijem porudžbine
Pakovanje robe
Formiranje
i slanje fakture
Otpremanje robe
Beograd
Novi Sad
Prodaja
Osnovni koncepti UML 2.0 DA
Evidentiranje uplate
Zatvaranje porudžbine
13
Tokovi (Flows)
Plaćanje fakture
Prijem fakture
Kontrolni tok (Control flow)
Prijem fakture
Nalog za plaćanje
Plaćanje fakture
Tok objekta (Object flow)
Osnovni koncepti UML 2.0 DA
14
Kraj toka (Flow final)
A
B
C
Kraj toka (Flow final) – služi za označavanje kraja jednog
toka ili jedne niti, dok neka druga grana ili nit imaju
završetak celog procesa.
Osnovni koncepti UML 2.0 DA
15
Konektori (Connectors)
Prijem fakture
A
A
Plaćanje fakture
Konektori (Connectors) služe kao pomoćno sredstvo da se
ogroman dijagram aktivnosti podeli na više delova. Tačka
prekida prvog dela se označi sa imenovanim konektorom a
onda se isti simbol koristi kao početna tačka narednog
dela dijagrama.
Osnovni koncepti UML 2.0 DA
16
Objekat (Object)
Prijem fakture
Nalog za plaćanje
Plaćanje fakture
Objekat (Object) – predstavlja dokument koji se
prosleđuje od jedne do druge aktivnosti
Prijem otpremnice
Formiranje prijemnice
<<datastore>>
Otpremnice
Skladište (Datastore) – skladište podataka (dokumenata)
Osnovni koncepti UML 2.0 DA
17
Događaji - Signali (Signals)
Slanje signala (send signal)
Prijem signala (receive signal)
Vremenski okidač (time signal)
Slanje signala sa priključenim objektom (send object)
Napredni koncepti UML 2.0 DA
18
Događaji - Signali (Signals)
Slanje signala
Prijem signala
Slanje signala
sa objektom
[ uslov okidanja
vremenskog događaja ]
Napredni koncepti UML 2.0 DA
19
Događaji - Signali (Signals) primer
A
prijem signala
Kreiranje kvotacije
(stock exchange)
Prihvatanje
kvotacije
Knjizenje
Transakcije
Slanje kvotacije
Ponistavanje
ponude
slanje signala
Vremenski signal
[nakon 15 minuta]
Napredni koncepti UML 2.0 DA
20
Ekspanzioni region (Expansion region)
Koriste se za opis interacije nad nekom kolekcijom
interne akcije se izvrsavaju jednom za svaki element kolekcije
Interne akcije mogu biti sekvencijalne ili paralelne (sto se
prikazuje preko stereotipa <<concurrent>>) ili
Definisanje grupa
za
Otkazivanje
termina
seminarske radove
Spisak grupa
<<concurrent>>
Izrada seminarskog
Otkazivanje
termina
Odbrana seminarskog
Otkazivanje
termina
Otkazivanje
Formiranjetermina
liste
odbranjenih radova
Napredni koncepti UML 2.0 DA
21
Parametri (Pins)
Koncept pina se koristi za definisanje ulaznih I izlaznih parametara akcije
Akcije mogu imati parametre (kao metode operacije)
Izlazi iz neke akcije moraju odgovarati ulazima sledece akcije
Ukoliko je izlazni parametar razlicit od ulaznog paramtera mora se
prikazati preko transformacije
Otkazivanje termina
Termin
Pin za parametar
<<transformation>>
Termin.Poruka
<<transformation>>
Termin.Studenta
Poruka
Student
Obavesti studenta
Napredni koncepti UML 2.0 DA
Izraz za
tranformacije
22
Region mogućeg prekida (Interruptible region)
B
A
Podproces PP1
C
D
Prekini PP1
Napredni koncepti UML 2.0 DA
23
Primer 1
Nađi napitak
[nema kafe]
[ima kafe]
Stavi
kafu u
filter
Sipaj
vodu u
rezervoar
[nema kole]
[ima kole]
Pripremi
šolje
Stavi
filter u
mašinu
Uzmi konzervu
kole
Uključi
mašinu
Kafa ključa
Sipaj kafu
Ispij
Automat za napitke
24
Primer 2
Pisarnica
Prijem
predmeta
Savetnik obradjivač
predmeta
Biro
sekretara
Utvrdjivanje
nadležnosti
Savetnik za
pripremu sednica
Vlade
Sekretar
odbora
Vra}en na kompletiranje
Kompletiranje
predmeta
[ nadležna Vlada ]
Spreman za
sednicu
odbora
PODPOSAO
Kompletiranje
predmeta
Spreman za
sednicu Vlade
Predmet uključen u
nacrt dnevnog reda
sednice odbora
[ nije nadležna Vlada ]
Doneta bele{ka odbora
o kompletiranju
(Bele{ka odbora)
Odlo`en za
narednu sednicu
Predmet uklju~en u
nacrt dnevnog
reda sednice Vlade
Odlo`en za
narednu sednicu
Upućivanje
nadle`nom
organu
Upućen
nadle`nom
organu
Uključen u
dnevni red
sednice
odbora
Stigao izve{taj
(Izve{taj nadle`nog organa)
Predmet
arhiviran
Arhiviraj predmet
Predmet
obradjen
Doneta bele{ka odbora
o zadu`enju organa
(Bele{ka odbora)
Uključen u
dnevni red
sednice Vlade
Donet izveštaj
odbora
(Izveštaj odbora)
Donet zaključak Vlade
(Zaključak)
Zaduživanje
nadležnog
organa
Priprema i obrada sednica Vlade
25
Primer 3
Primer Koji prikazuje Exception handling
Primeri UML 2.0 DA
26
Dijagram aktivnosti – Pregled elemenata
Initial node
Activity final node
Action
Send signal
Send signal
Action
Decision
Time or event sign
Merge
Pin
Fork
<<transformation>>
Join
region
Flow/edge
Action
Accept (Receive) s
Accept
signal
Action
decomposition
Transformation
(Expansion) region
Flow final
{
boolean
expression
}
Join Specification
27