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