Luca Cabibbo Analisi e Progettazione del Software Capitolo 7 marzo 2013 Buono, poco costoso, rapidamente. Puoi scegliere due di queste caratteristiche. Anonimo 1 *** AVVERTENZA *** I lucidi messi a disposizione sul sito del corso di Analisi e progettazione del software NON sostituiscono il libro di testo 2
Introduzione Il Modello dei casi d uso descrive requisiti funzionali UP prevede ulteriori elaborati per descrivere altre tipologie di requisiti Specifiche supplementari requisiti non funzionali e requisiti che non sono facilmente descritti dai casi d uso Glossario raccoglie termini e definizioni importanti usati nel progetto Regole di dominio (regole di business) regole e politiche Visione descrive il sistema da realizzare dal punto di vista delle parti interessate, in termini dei loro bisogni chiave e di caratteristiche funzionale sintesi dei requisiti fondamentali desiderati base per i requisiti tecnici più dettagliati 3 7.1 Livello di completezza degli esempi Gli esempi illustrati sono parziali 4
7.2 Livello di approfondimento Livello di approfondimento dei requisiti non funzionali basso durante l ideazione Visione e Specifiche supplementari costituiscono una prima approssimazione via via più dettagliato durante l elaborazione 5 7.3 Sito web del progetto per i requisiti Ciascun progetto dovrebbe avere un sito web ad esempio, gestito con RUP o con un Wiki sicuramente i requisiti sono sul sito web 6
7.4 NextGen: Specifiche supplementari Specifiche supplementari Sistema POS NextGen Introduzione - Questo documento descrive tutti i requisiti del sistema POS NextGen che non sono descritti nei casi d uso. Funzionalità (funzionalità comuni a molti casi d uso) - logging e gestione degli errori - tutti gli errori sono registrati in memoria permanente - regole inseribili - il sistema consente l inserimento di regole di business personalizzate in diversi punti dei casi d uso - sicurezza - l uso del sistema richiede l autenticazione dell utente 7 NextGen: Specifiche supplementari Usabilità - fattori umani - monitor grande, testo visibile da un metro - evitare colori associati a forme comuni di daltonismo - errori segnalati sia sullo schermo che mediante segnali acustici Affidabilità - ripristinabilità - in caso di problemi nell accesso a servizi remoti, cercare di risolvere il problema con una soluzione locale (ad es., store&forward) per essere in grado di completare la vendita - da approfondire Prestazioni - le vendite devono essere completate rapidamente - il collo di bottiglia sono i servizi di autorizzazione esterni si vuole una risposta entro un minuto il 90% delle volte 8
NextGen: Specifiche supplementari Sostenibilità - adattabilità - i diversi clienti del sistema hanno bisogno di regole di business personalizzate nei casi d uso vanno definiti dei punti d inserimento di regole di business - configurabilità - configurabilità del sistema in rete - consentire soluzioni thin/thick client - consentire configurazioni 2-tier/N-tier Vincoli di implementazione - NextGen insiste nell uso di tecnologie Java favoriscono la portabilità Componenti acquistati - calcolatori di imposte bisogna supportarne vari tipi Componenti open source - si raccomanda l uso di tecnologie Java open source ad es., JLog, 9 NextGen: Specifiche supplementari Interfacce - hardware e interfacce significative - monitor touch screen, lettori di codici a barre, stampanti ricevute, lettore di carte di credito/bancomat, lettore di firme (non nella versione 1) - interfacce software - c è bisogno di interfacciarsi con vari sistemi esterni, con interfacce diversificate Regole di business (vedi anche il documento apposito) - per i pagamenti con carta credito è richiesta la firma - regole per le imposte: - regole per gli sconti (ai clienti, sulle vendite, dei prodotti): - esempi: 10
NextGen: Specifiche supplementari Aspetti legali - per legge, applicare tutte le regole sulle imposte notare che possono cambiare frequentemente Informazioni sul dominio di interesse - determinazione del prezzo: - gestione dei pagamenti con carta di credito e bancomat: - imposte sulle vendite: - codici identificativi degli articoli: UPC, EAN, SKU, codici a barre: 11 7.5 Specifiche supplementari Le Specifiche supplementari hanno lo scopo di raccogliere altri requisiti, informazioni e vincoli che non possono essere facilmente descritti nei casi d uso o nel glossario talvolta consolida anche i requisiti (non funzionali) già scritti nelle sezioni dei requisiti speciali dei casi d uso può contenere requisiti FURPS+ tra cui, attributi di qualità vincoli regole di dominio informazioni sul dominio di interesse può contenere requisiti funzionali, in termini di caratteristiche nei casi in cui è difficile pensare alle funzionalità in termini di casi d uso 12
Attributi di qualità I requisiti non funzionali sono anche chiamati attributi (o requisiti) di qualità, o -ilità sicurezza, prestazioni, scalabilità, affidabilità, disponibilità, usabilità, modificabilità, verificabilità, configurabilità,... due tipi di qualità osservabili durante l esecuzione non osservabili durante l esecuzione la parola qualità non indica necessariamente una qualità elevata alcuni requisiti sono in contrasto, e bisogna spesso cercare dei compromessi l analisi architetturale si focalizza proprio sugli attributi di qualità l analisi e la progettazione dell architettura dipendono in larga misura dall identificazione e dalla risoluzione degli attributi di qualità nel contesto dei requisiti funzionali 13 Vincoli, regole e informazioni di dominio Vincoli non comportamento, ma requisiti di carattere restrittivo sull implementazione, ma anche sull ambiente di sviluppo Le regole di dominio (o regole di business) ad es., leggi fiscali, regolamenti dell organizzazione, leggi fisiche Informazioni sul dominio di interesse per comprendere il contesto dei requisiti ad es., articoli, libri, siti web 14
7.8 NextGen: Glossario Glossario Sistema POS NextGen articolo - un prodotto o un servizio in vendita autorizzazione di pagamento - validazione da parte di un servizio esterno di autorizzazione ai pagamenti, che effettuerà o garantirà il pagamento al venditore richiesta di autorizzazione di pagamento - un insieme di elementi inviato, in forma elettronica e sotto forma di stringa, a un servizio di autorizzazione - elementi: ID del negozio, numero di conto del cliente, importo, data e ora UPC - Universal Product Code - un codice numerico di 12 cifre che identifica un prodotto (codice a barre); vedi http://www.uc-council.org 15 7.9 Glossario Il Glossario è una lista dei termini significativi e della loro definizione per stabilire un glossario comune (basato sui termini del business) per comunicare in modo non ambiguo durante la fase di elaborazione, il glossario viene usato anche come dizionario dei dati, per la rappresentazione dei metadati (tecnici) 16
7.10 NextGen: Regole di business (dominio) Regole di business Sistema POS NextGen Regola 1 - per i pagamenti con carta di credito è richiesta la firma - modificabilità:... - sorgente: è la politica di quasi tutte le compagnie di autorizzazione di credito Regola 2 - regole fiscali sulle imposte: le vendite richiedono il pagamento di imposte; vedi leggi e regolamenti governative per i dettagli - modificabilità: alta - sorgente: leggi Regola 3 - lo storno dei pagamenti con carta di credito può essere effettuato solo come credito sulla carta di credito del cliente, non in contanti -... 17 7.11 Regole di dominio Le regole di dominio sono regole che impongono dei modi di operare ad es., leggi giuridiche, regolamenti dell organizzazione, leggi fisiche ad es., il regolamento del Monopoly chiamate anche regole di business (se il caso) utili per motivare o chiarificare dei casi d uso 18
7.6 NextGen: Visione Visione Sistema POS NextGen Introduzione - si vuole realizzare un applicazione point-of-sale (POS) di prossima generazione, tollerante ai guasti, supporto flessibile di regole di business diversificate e variabili, supporto per vari tipi di terminali, integrabile con sistemi esterni prodotti da terzi, Posizionamento - opportunità di business - enunciato del problema - i sistemi POS esistenti sono poco flessibili e poco tolleranti ai guasti - enunciato del posizionamento del prodotto... 19 NextGen: Visione Descrizione delle parti interessate - utenti - altre parti interessate - obiettivi e problemi chiave delle parti interessate - obiettivi degli utenti - ambiente Descrizione generale del prodotto - contesto di uso - riepilogo dei vantaggi - costo e e determinazione del prezzo - 20
NextGen: Visione Riepilogo delle caratteristiche del sistema - acquisizione delle vendite - autorizzazioni ai pagamenti (carte di credito, bancomat, assegni) - e vincoli - 21 NextGen: Visione Diagramma di contesto 22
7.7 Visione La Visione descrive il sistema da realizzare dal punto di vista delle parti interessate bisogni chiave e principali caratteristiche funzionale contiene una sintesi dei requisiti fondamentali desiderati, e costituisce la base per i requisiti tecnici più dettagliati può contenere enunciato del problema stiamo risolvendo lo stesso problema? il problema giusto? obiettivi e problemi chiave delle parti interessate caratteristiche del sistema requisiti funzionali altri requisiti 23 7.12 Requisiti evolutivi nei metodi iterativi Disciplina Modellazione del business Requisiti Elaborato Modello di dominio Ideaz. (I1) Elab. (E1..En) Modello dei casi d'uso s r Visione s r Specifiche supplementari s r s Costr. (C1..Cn) Trans. (T1..T2) Glossario s r Modello di progetto s r Progettazione Documento dell'architettura software Modello dei dati s r s Implementazione Modello di implementazione s r r Gestione del progetto Piano di sviluppo software s r r r Test Modello di test s r Infrastruttura Scenario di sviluppo s r 24
UP: Influenza tra elaborati 25