Upload
zoran-jeremic
View
637
Download
0
Embed Size (px)
Citation preview
Modelovanje ponašanja korišćenjem dijagrama aktivnostiSpecifikacija i dizajn informacionih sistema
dr Zoran Jeremić[email protected]
1
Sadržaj
• Uvod• Osnove
– Aktivnosti, tokeni, objekti, signali• Strukture
– Dekompozicija
Proces razvoja sistemaFaza Aktivnost Izlaz
Započinjanje Utvrđivanje poslovnih potreba Biznis dokumenta
Analiza Intervjuisanje stejkholdera, istraživanje sistemskog okruženja
Organizovana dokumentacija
Specifikacija Analiza inženjerskih aspekata sistema, definisanje koncepata sistema
Logički model sistema
Dizajn Definisanje arhitekture, komponenti, tipova podataka, algoritama
Formalna specifikacija
Implementacija Programiranje, testiranje jedinica, integrisanje, dokumentovanje
Proverljiv sistem
Testiranje & Integracija
Integrisanje svih komponenti, verifikacija, validacija, instalacija, obuka
Resultati testiranja, funkcionalan sistem
Održavanje Popravljanje bagova, modifikacije, adaptacija Verzije sistema
Modelovanje ponašanja
CheckoutManager
Order
message: changestatus
Add to cart
Check availability
Supply Order
Notify User
[okay][problem]
Sekvencijalni dijagrami
Dijagrami aktivnosti
Inventory
message: create In process
supplied
Order
Dijagrami stanja
Prednosti
• Omogućava modelovanje složenog ponašanja– Koje se ne zasniva na interakcijama.– Ima paralelna ponašanja.
• Primeri:– Poslovni tok(odobravanje zajma).– Ponašanje korisnika(login/logout).– Algoritmi.
Sadržaj
• Uvod• Osnove
– Aktivnosti, tokeni, objekti, signali• Strukture
– Dekompozicija
Modelovanje korisničkog servisa
Dijagram aktivnosti za korisnički servisStart
Fork
decision
merge
Join Final Node
Action
Tokeni• Konceptualni model dijagrama aktivnosti je
zasnovan na tokenima.
Tokeni
Svaki fork čvor generiše tokene prema broju putanja.
Inicijalni čvor kreira jedan token
Svaki join prikuplja dobijene tokene i proizvodi jedan token na izlazu
Akcija zahteva token da bi se izvršila i proizvodi token kada se završi
Tokovi objekata
• Objekti opisuju interfejs između akcija
Call DataReceive Call Log Call
Receive Call Log Call
Objektni tok
Pinovi Call data
Call data
Initiate Call
Call data
Pinovi• Pinovi deklarišu interfejs između dve akcije.
Input Pin
Output Pin
Transformacija parametara
Objekti sa stanjem
• Objektni čvorovi omogućavaju modelovanje promene stanja
Call Data[created]Receive Call Find Customer
TypeCall Data
[classified]
Data Store• Datastore je stereotip za objekat koji trajno skladišti
objekte.
Hvatanje signala
Vremenski signal Događaj
Tokovi kada je vremenski iskaz tačan
Tokovi kada se desi neki događaj
Šalje se događaj kada se uđe u tok
Primer: Volvo Blind Spot Info System (BLIS) – mrtvi ugao
BLISCamera Behavior
Check Objects in Camera
Is object Detected?[no]
Side Object Detected
[yes]
Safety Controller Behavior
Side Object Detected
Detection data
Alarm Deciding
Side?
Left Alarm Right Alarm
[left] [right]
Sadržaj
• Uvod• Osnove
– Aktivnosti, tokeni, objekti, signali• Strukture
– Dekompozicija
Finalni čvoroviAktivnost se prekida kada prvi token stigne
Aktivnost se prekida kada svi tokeni u grafu stignu
Dekompozicija
• Akcija se može dekomponovati u podaktivnosti.• Pozvani graf aktivnosti može koristiti više stanja
podaktivnosti.
Ulazni parametar Finalna
akcija
Particije
• Particije (swimlines) mogu grupisati akcije prema: – Klasama, biznis jedinicama, učesnicima...
• Mogu biti multidimenzione (nije uvek moguće).
RegisterBug
EvaluateImpact
FixBug
RevisePlan
ReleaseFix
TestFix
[ priority = 1]
Management
Support
Engineering
Izuzeci• Izuzeci predstavljaju greške ili neočekivane
situacije
Region sa prekidima
Exception Handler