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