Caso d`uso

Transcript

Caso d`uso
Seconda Fase del Progetto
• Costruzione modello analitico: modellazione
basata sugli scenari, modellazione del flusso dei dati,
modellazione delle classi analitiche e del dominio
comportamentale
• Costruzione modello progettuale:
progettazione architettura, progettazione interfaccia
utente e componenti, progettazione dei dati
Passi di modellazione analitica 1.
1.
2.
3.
4.
5.
6.
Revisione dei requisiti funzionali e non funzionali, delle caratteristiche
degli utenti
Costruzione degli scenari utente
Definizione di tutti gli attori.
(casi d’uso, diagrammi di attività o swimlane)
Modellazione del flusso dei dati.
Rappresentazione di tutti gli oggetti principali e definizione attributi e
relazioni (diagrammi ER e DFD)
Modellazione delle classi analitiche e della loro organizzazione
(diagrammi di classe e di collaborazione, modelli CRC)
Modellazione comportamentale (diagrammi di stato e di sequenza)
Revisione dei diagrammi per verificarne la completezza e la precisione
(revisione tecnico formale)
Modellazione basata sugli
scenari
Tali modelli permettono di comprendere come l’utente
interagisce con il sistema e di costruire modelli
analitici e progettuali appropriati a partire dalla
specifica dei requisiti
(1) Casi d’uso
(2) Diagrammi di attività o swimlane
Caso d’uso
• uno scenario che descrive una specifica
situazione d’uso del sistema dal punto di
vista di un attore ben definito
• attori sono persone o dispositivi che
utilizzeranno il sistema o il prodotto nel
contesto della funzione e del
comportamento che deve essere descritto
• utenti possono avere un diverso numero
di ruoli nello stesso scenario
Diagramma di caso d’uso
SafeHome
Access camera
surveillance via the
Internet
Configure SafeHome
system parameters
homeowner
Set alarm
cameras
Caso d’uso per la sorveglianza dell’abitazione
Caso d’uso: accesso alla sorveglianza con videocamera
Attore primario: padrone di casa
Obiettivi in questo contesto: visualizzare da una posizione remota via Internet quanto
ripreso da una videocamera piazzata nell’abitazione
Precondizioni: il sistema deve essere perfettamente configurato, devono essere stati
ottenuti ID e password corretti
Causa: il padrone di casa decide di osservare l’interno della propria abitazione mentre si
trova in un altro luogo
Scenario:
1.
Il padrone di casa si connette al sito web
2.
Il padrone di casa introduce il proprio ID
3.
Il padrone di casa introduce le password
4.
Il sistema visualizza tutti i principali pulsanti di comando
5.
Il padrone di casa seleziona il pulsante “sorveglianza”
6.
Il padrone di casa seleziona l’opzione “scegli videocamera”
7.
Il sistema visualizza la mappa dell’abitazione
8.
Il padrone di casa seleziona l’icona di una videocamera della mappa
dell’abitazione
9.
Il padrone di casa seleziona il pulsante “visualizza”
10.
Il sistema visualizza una finestra identificata dal codice della videocamera
11.
Il sistema visualizza l’output proveniente dalla videocamera un frame al secondo
Caso d’uso per la sorveglianza dell’abitazione
Eccezioni:
1.
Il codice utente e la password sono errati o non riconosciuti dal sistema: vedere il
caso d’uso “convalida codice sorgente e password”
2.
Funzione di sorveglianza non considerata per questo sistema: il sistema visualizza
un messaggio di errore appropriato; vedere il caso d’uso “configurazione delle
funzioni di sorveglianza”
3.
Il padrone di casa seleziona l’opzione “visualizza le miniature di tutte le
videocamere”. Vedere il caso d’uso visualizza le miniature di tutte le
videocamere”.
4.
La mappa non è disponibile o non è stata configurata. Presentare un messaggio di
errore appropriato e vedere il caso d’uso “configurazione della mappa”
5.
Si è incontrata una condizione di allarme. Vedere il caso d’uso “incontrata
condizione di allarme”
Priorità: priorità moderata da implementare dopo le funzioni di base
Quando sarà disponibile: terzo incremento
Frequenza d’uso: infrequente
Canale usato dall’attore: un browser e una connessione internet al sito
Caso d’uso per la sorveglianza dell’abitazione
Attori secondari: amministratore di sistema, videocamere
Canali degli attori secondari:
1.
Amministratore di sistema: PC
2.
Videocamere: connessione wireless
Problemi aperti:
1.
Quali meccanismi proteggono unn utilizzo non autorizzato di questa funzionalità
da parte dei dipendenti dell’azienda?
2.
La sicurezza è sufficiente? L’attacco a questa caratteristica rappresenterebbe una
grave violazione della privacy
3.
Le risposte fornite via internet saranno sufficienti sulla base dell’ampiezza di
banda richiesta per la visualizzazione con videocamera?
4.
Verrà sviluppata una funzionalità che consente di fornire il video con un numero
maggiore di frame al secondo quando saranno disponibili connessioni dotate di
maggior ampiezza di banda?
Diagramma di attività
Affianca il caso d’uso fornendo una rappresentazione grafica del
flusso di interazioni in una determinata situazione
ent er password
and user ID
valid passwor ds/ ID
invalid passwor ds/ ID
select major f unct ion
prompt f or reent ry
ot her f unct ions
m ay also be
select ed
input t r ies r em ain
select surveillance
no input
t r ies r em ain
t hum bnail views
select a specif ic cam er a
select specif ic
camera - t humbnails
select camera icon
view camera out put
in labelled window
prompt f or
anot her view
exit t his f unct ion
see anot her cam er a
Diagramma Swimlane
Permette all’
all’analista di rappresentare il flusso di attività
attività descritte dal caso d’uso e allo
stesso tempo di indicare quale attore o classe analitica ha la responsabilita per l’azione
descritta da un rettangolo di
hom e owne r
c a me ra
i nt e rf a c e
enter password
and user ID
valid passwords/ ID
invalid
passwords/ ID
select major function
ot her f unct ions
may also be
prompt for reentry
select ed
input t ries
select surveillance
remain
no input
t r ies remain
t humbnail views
select a specif ic camer a
select specific
camera - thumbnails
select camera icon
generate video
output
view camera output
in labelled window
prompt for
another view
exit t his
f unct ion
see
anot her
camera
Modellazione basata sulle
classi
• Identificare le classi analitiche
– Eseguire un’ “analisi grammaticale” sui casi
d’uso o sui primi documenti di descrizione del
sistema
• Identificare gli attributi
– idem
• Identificare le operazioni che definiscono il
comportamento di un oggetto
– Idem
• Modellazione CRC
Modello comportamentale
• Il modello comportamentale indica come il
software risponderà a stimoli o eventi esterni.
Per creare il modello l’analista deve eseguire i
seguenti passi:
• Valutare tutti i casi d’uso per comprendere la sequenza di
interazione all’interno del sistema
• Identificare gli eventi che determinano la sequenza di
interazioni e comprendere le relazioni esistenti fra questi
eventi e gli oggetti
• Costruire i diagrammi di stato e di sequenza
• Rivedere il modello comportamentale per verificarne la
precisione.
Diagramma di stato per la classe Pannello di
Controllo
t imer < lockedTime
t imer > lockedTime
locked
password = incorrect
& numberOfTries < maxTries
comparing
reading
numberOfTries > maxTries
key hit
password
ent ered
do: validat ePassword
password = correct
select ing
act ivat ion successful
Gli stati di un sistema
• stato—un insieme di circostanze
osservabili che caratterizzano il
comportamento di un sistema in un dato
momento (configurazione istantanea)
• Transizione di stato—passaggio da uno
stato ad un altro
• evento—un’occorrenza che provoca nel
sistema una forma di comportamento
che può essere predetto
• azione—processo che occorre come
conseguenza di fare una transizione
Modellazione comportamentale
• Fare una lista dei differenti stati del sistema (Come si
comporta il sistema?)
• Indicare come il sistema fa una transizione da uno
stato ad un altro (Come cambia stato?)
– indicare l’evento
– indicare l’azione
• Disegnare un diagramma di stato o di sequenza
Diagramma di sequenza
cont rol panel
homeowner
syst em
ready
A
sensors
sensors
syst em
reading
password ent ered
request lookup
comparing
result
password = correct
request act ivat ion
numberOfTries > maxTries
locked
A
t imer > lockedTime
select ing
act ivat ion successful
act ivat ion successful
Figure 8.27 Sequence diagram (part ial) f or Saf eHome securit y f unct ion
Passi di modellazione progettuale 1
1.
2.
3.
4.
5.
Esaminare il modello del dominio informativo per progettare i dati
Utilizzando il modello analitico, selezionare uno stile architettonico
appropriato per il software
Suddividere il modello analitico in sottosistemi progettuali e
allocare questi sottosistemi nell’architettura. Assicurarsi che ogni
sottosistema sia funzionalmente coeso. Progettare le interfacce
dei sottosistemi.
Creare l’insieme di classi e componenti del progetto. Tradurre
ogni descrizione di una classe analitica in una classe progettuale.
Controllare ogni classe progettuale rispetto a criteri progettuali;
considerare problemi di ereditarietà. Definire i metodi associati a
ciascuna classe progettuale. Revisione delle classi progettuali
Progettare ogni interfaccia necessaria per i sistemi o dispositivi
esterni.
Passi di modellazione progettuale 1
6.
7.
Progettare l’interfaccia utente. Specificare la sequenza
di attività sulla base degli scenari utente. Creare un
modello comportamentale dell’interfaccia.
Revisione del progetto dell’interfaccia.
Condurre la progettazione al livello delle componenti.
Specificare tutti gli algoritmi a un livello di astrazione
basso. Definire le strutture dati al livello dei
componenti.
Revisione di ciascun componente
Principi di modellazione progettuale
1. Il progetto deve essere una conseguenza diretta del
modello analitico
2. Considerare sempre l’architettura
3. Concentrarsi sul design dei dati
4. Le interfacce (esterne ed interne) devono essere
progettate con cura
5. I componenti devono esibire indipendenza
funzionale
6. I componenti non devono presentare accoppiamento
stretto
7. I modelli di design devono essere facilmente
comprensibili