Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
TERZA PARTE
Analisi dei requisiti e definizione delle
specifiche
Sezione II: Complementi di UML
Versione definitiva
Ing. del SW: Terza parte Sez II
TERZA PARTE
Publication of
UML 1.0, Jan 97
public
feedback
Booch 93
Standardization
UML 1.0
1.1
UML Partners
Expertise
Unification
OMT - 2
OMT - 1
OOSE
Fragmentation
Azienda
Texas Instruments
Cayenne
Platinum
Rational
Select
Popkin
Microsoft
Open source
1.
2.
3.
4.
5.
6.
7.
8.
1,7,8: Diagrammi
statici
Class Diagram
Use Case Diagram
State&Transition Diag.
Activity Diagram
Sequence Diagram
Collaboration Diagram
Component Diagram
Deployment Diagram
2..6: Diagrammi
comportamentali
Struttura statica
Interazione con lutente
Ciclo di vita di un oggetto
Attivit e sincronizzazione
Design
model
Interazione fra
gruppi di oggetti
Realizzazione di classi Implementation/
Architectural
Risorse HW
model
Nome: stringa
Cognome: stringa
Matricola: int
Et: int
Nome: stringa
Disciplina: stringa
{complete}
corso di laurea
Esame
Professore
Codice: stringa
Et: int
Voto: 18..30
Base
Specialistico
Crediti: intero
10
Studente
chiede-iscrizione
Iscrizione
ad un corso
fattura
Sistema di Fatturazione
11
spento
inizio
off
temperatura
desiderata
off
fine-accensione
in-funzione
temperatura
inferiore
caldo
temperatura
desiderata
12
13
Activity Diagram
Descrive processi paralleli
Coinvolge pi oggetti
Prende spunto dal modello delle reti di Petri
Ing. del SW: Terza parte Sez II
14
15
16
Esempio
Questo diagramma mostra le
varie attivit che devono
essere svolte per bere una
bevanda (che pu essere
caff o cola)
Se la bevanda caff devono
essere svolte varie attivit (di
durata non nulla) che hanno
bisogno di sincronizzazione
e che in alcuni casi possono
essere svolte in parallelo.
Si noti la presenza di
eventi (ad es. light goes
out),
condizioni (ad es. [no
coffee]),
azioni (ad es.
coffeePot.turnOn)
Ing. del SW: Terza parte Sez II
17
18
Esercizio 1
Tracciare il diagramma delle attivit a partire da
questi requisiti.
La costruzione e commercializzazione di un
edificio per uffici inizia con la scelta del sito e
prosegue con la commessa ad uno studio di
ingegneria che presenta un progetto. Il progetto
deve essere sottoposto alle autorit, che lo possono
accettare o rifiutare. In questultimo caso, il
progetto pu essere ripresentato. Quando il
progetto viene accettato, iniziano sia lopera sul
sito sia la ricerca di un ente acquirente. Lente
acquirente propone ulteriori (limitati) interventi,
che vengono realizzati.
Ing. del SW: Terza parte Sez II
19
Responsabilit
Oggetto responsabile per unazione
Loggetto responsabile per lesecuzione di unazione
pu essere rappresentato visualizzando la sua linea del
tempo di vita e posizionando le azioni di cui
responsabile lungo questa linea.
Possono esserci differenti linee per differenti oggetti
della stessa classe o di classi diverse.
Queste linee prendono il nome di swimlanes (corsie
di una vasca per il nuoto).
20
Esempio
Questo esempio
mostra tre
swimlanes
(cliente, ufficio
vendite e
magazzino) per i tre
oggetti coinvolti
nella vendita di un
certo prodotto
Questo tipo di
modellazione viene
spesso usato per la
modellazione dei
cosiddetti business
workflow
21
Object Flow
Flusso degli oggetti
Per aumentare la chiarezza delle informazioni scambiate in
un diagramma delle attivit possono essere rappresentati
gli oggetti che sono in ingresso o in uscita ad una azione
Stato delloggetto
Quando uno stesso oggetto viene manipolato da pi attivit
successive possibile rappresentare tutti i collegamenti da
e verso loggetto
Per maggiore chiarezza si visualizza lo stesso oggetto pi
volte in un diagramma, dove ogni immagine rappresenta
loggetto in un differente stato
Lo stato delloggetto pu essere descritto in forma testuale
Possono essere associati diagrammi degli stati e delle
transizioni per gli oggetti evidenziati
Ing. del SW: Terza parte Sez II
22
Esempio
Vengono
evidenziati due
oggetti:
1. o, di tipo
Order, che
pu essere in
tre stati:
aperto
evaso
chiuso
2. f, di tipo
Fattura, che
pu essere in
due stati:
non pagata
pagata
23
Component diagram
Deployment diagram
Sequence diagram
Collaboration diagram
24
25
Nome
server
<<Ethernet>>
chiosco
Componenti
gestCatasto.exe
guiCatasto.exe
<<RS-232>>
Allocazione
Ing. del SW: Terza parte Sez II
console
Nodo
Connessione
26
Implementation model
Limplementation model la
struttura delle parti usate per
assemblare e realizzare il
sistema fisico.
Comprende, tipicamente, I
diagrammi:
Component,
Deployment,
Package (non considerato
nel corso).
Il deployment diagram pu
mostrare lallocazione
effettiva dei componenti ai
nodi.
Ing. del SW: Terza parte Sez II
27
Interaction Diagrams
Linterazione tra oggetti pu essere presentata in due forme,
ciascuna basata sulle stesse informazioni ma in grado di
enfatizzare un particolare aspetto:
il sequence diagram, e
il collaboration diagram.
I sequence diagram e i collaboration diagram esprimono le stesse
informazioni, ma le rappresentano in modo differente.
I sequence diagram illustrano la sequenza esplicita di
messaggi e sono pi indicati per specifiche real-time e per
scenari complessi.
I collaboration diagram rappresentano le relazioni tra gli
oggetti e sono pi indicati per evidenziare tutti gli effetti su un
dato oggetto e per la progettazione procedurale.
Ing. del SW: Terza parte Sez II
28
1:
Collaboration Diagram
2:
3:
29
Sequence Diagram
Un sequence diagram rappresenta uninterazione visualizzata
rispetto a una sequenza temporale. Esso:
mostra gli oggetti che partecipano allinterazione in termini
del loro tempo di vita e dei messaggi che essi si scambiano,
non mostra le relazioni esistenti tra gli oggetti.
Sono definiti alcuni formati (leggermente differenti tra loro)
da usarsi per enfatizzare differenti aspetti (concorrenza,
controllo, creazione e distruzione di oggetti, ricorsione,
esecuzione condizionale).
Vedremo due esempi, uno relativo ad una conversazione
telefonica, ed un altro relativo allevasione di un ordine
bibliotecario.
Ing. del SW: Terza parte Sez II
30
tempo
Esempio 1
31
32
Esempio 2
Cittadino
Bibliotecario
Catalogo
Vita delloggetto
Tessera +
Richiesta libro
Tessera
valida
Richiesta
libro
Libro in
prestito
Tempo
Libro
disponibile
33
Collaboration diagram
Un collaboration diagram rappresenta gli oggetti partecipanti
a uninterazione ed i loro collegamenti. Diversamente da un
sequence diagram, un collaboration diagram rappresenta le
relazioni tra gli oggetti.
Daltra parte, un collaboration diagram non tratta il tempo
come una dimensione separata, di conseguenza la sequenza
dei messaggi deve essere determinata utilizzando i numeri di
sequenza.
Un collaboration diagram pu essere utilizzato per specificare
limplementazione dei costrutti di progetto, ma a questo
scopo sono tipicamente necessarie ulteriori informazioni
Vedremo lesempio precedente (relativo allevasione di un
ordine bibliotecario) nel formato del collaboration diagram
34
Collaboration diagram
2: tessera valida
1: tessera +
richiesta libro
Cittadino
3: richiesta libro
Bibliotecario
5: libro in prestito
Catalogo
4: libro disponibile
35
36
Soluzione esercizio 1
Scelta sito
Commessa
Progettazione
Valutazione
[non accettato]
[else]
Continua ...
Ing. del SW: Terza parte Sez II
37
Opera su sito
Ricerca acquirente
Finalizzazione
38