Title: Dynamic Modeling
1Dynamic Modeling
MARRONE DANIELE
2Dynamic Modeling
- Riguarda gli aspetti dinamici (o comportamentali)
del sistema - come gli oggetti interagiscono tra loro
- come un oggetto state-dependent viene definito
tramite una finite-state-machine
3Dynamic Modeling
- Viene fatta a partire dagli use-case,
determinando le interazioni tra gli oggetti che
vi partecipano - Si basa sullo scambio di messaggi tra oggetti
4Messaggi
- Rappresentano le informazioni scambiate tra gli
oggetti - Un messaggio e un evento associato a dei dati
- Il nome del messaggio corrisponde al nome
dellevento - I dati associati vengono chiamati attributi del
messaggio
5Messaggi
- Sintassi
- Message event(message attribute)
- Esempi di messaggi
- ATM Card Inserted(Card ID, Expiration Date)
- Card Ejected
6Rappresentazione
- Linterazione tra oggetti e rappresentata
tramite - Interaction Diagram
- Collaboration Diagram
- Sequence Diagram
- Message Sequence Description
7Interaction Diagram
- Viene sviluppato per ogni use-case
- Si determinano gli oggetti che vi partecipano
- Si rappresenta la sequenza di messaggi scambiati
8Collaboration Diagram
- La sequenza temporale dei messaggi viene
rappresentata tramite numeri progressivi che
etichettano i messaggi - Mette in risalto le relazioni tra gli oggetti
9ltltexternal input Devicegtgt Shaft
Sh1Shaft Input
ltltinput device Interfacegtgt ShaftInterface
Sh1.1Update
ltltentitygtgt ShaftRotationCount
Collaboration diagram per lo use-case Update
Shaft Rotation
10Sequence Diagram
- La sequenza temporale dei messaggi viene
rappresentata graficamente dallalto in basso
nel diagramma - Non da una rappresentazione chiara della
relazione tra gli oggetti
11Sequence Diagram
- Nella fase di analisi nessuna assunzione circa
lattivazione degli oggetti e presa - Gli oggetti vengono rappresentati come passivi
- Gli attori vengono rappresentati come attivi
12ltltexternal input Devicegtgt Shaft
ltlt input device interfacegtgt ShaftInterface
ltlt entitygtgt ShaftRotationCount
Sh1Shaft Input
Sh1.1Update
Sequence diagram per lo use-case Update Shaft
Rotation
13Use case e scenario
- Uno scenario è uno specifico percorso attraverso
uno use-case - Un Interaction Diagram rappresenta uno scenario
- Si usano condizioni per rappresentare più scenari
nello stesso Interaction Diagram
14Generic e Instance Form
- Due forme di Interaction Diagram
- Instance form
- descrive in dettaglio uno specifico scenario
- Generic form
- descrive tutte le possibili iterazioni
15ltlt subsystemgtgt BankServer
ltlt I/O device interface CardReaderInterface
ltltexternal I/O device gtgt CardReader
ltlt state dependent controlgtgt ATMControl
ltltentity gtgt ATMCard
ltltuser interfacegtgt CustomerInterface
ltltentitygtgt ATMTransaction
ATMCustomer
Esempio del banking system
16Etichette dei messaggi
- Sintassi
-
- Sequence expression, message name, argument list
- dove sequence expression consiste di
- message sequence number, recurrence
17Message Sequence Number
- Sintassi
- first letter number second letter
- Esempi
- A1
- Use1.1a
18Message Sequence Number
- first letter number second letter
- un parametro opzionale
- lidentificatore di uno use-case specifico
19Message Sequence Number
- first letter number second letter
- La parte intera del numero identifica un evento
esterno - I numeri decimali rappresentano eventi interni
20Message Sequence Number
- first letter number second letter
- La sequenza temporale e data dalle relazioni di
grandezza tra i numeri - Esempio di sequenza
- A1, A1.1, A1.1.1, A.1.2
21ltltI/O device interfacegtgt CardReaderInterface
ltltexternal I/O devicegtgt CardReader
1Card Reader Input
1.1Card Input Data
ltltentitygtgt ATMCard
2.1Card Request
2.2Card Data
1.4Pin Prompt
ltltuser interfacegtgtCustomerInterface
2.8Selection Menu
2PIN Input
ATMCustomer
Collaboration diagram parziale per lo use-case
Valid PIN
22Message Sequence Number
- first letter number second letter
- È un parametro opzionale
- Identifica casi speciali
- Messaggi concorrenti (con una lettera minuscola)
- Messaggi alternativi (con una lettera maiuscola)
23ltltsubsystemgtgt BankServer
2.6Valid
Valid PIN
ltltstate dependent controlgtgt ATMControl
2.7Display
2.7aUpdate
Status
Menu
ltltuser interfacegtgt CustomerInterface
ltltentitygtgt ATMTransaction
Esempio di messaggi concorrenti
24ltltsubsystemgtgt BankServer
2.5,2.6A.8
2.6AInvalid Invalid PIN
2.6ValidValid PIN
Validate PIN(Customer Info)
ltltstate dependent Controlgtgt ATMControl
Esempio di messaggi alternativi
25Recurrence
- E un parametro opzionale
- Serve per rappresentare esecuzioni
- Condizionali
- Iterative
26Esecuzioni condizionali
- Sintassi
- condition-clause
- Identifica un ramo condizionale
- Il messaggio viene mandato solo se la condizione
e verificata
27ltltsubsystemgtgt BankServer
2.6ValidValid PIN
2.5Validate PIN(Customer Info)
ltltstate dependent Controlgtgt ATMControl
Esempio di messaggio condizionale
28Esecuzioni iterative
- Sintassi
- iteration-clause
- Specifica esecuzioni ripetute
29ltltsubsystemgtgt BankServer
2.5,2.6A.8
2.6AInvalid Invalid PIN
2.6ValidValid PIN
Validate PIN(Customer Info)
ltltstate dependent Controlgtgt ATMControl
Esempio di messaggio iterativo
30Message Sequence Description
- E una descrizione a parole
- Descrive come gli oggetti partecipano ad uno
use-case - Fornisce informazioni addizionali non
rappresentabili tramite i diagrammi