Giuseppe Santucci Qualità nella Produzione del Software Esercitazione su Revisione del contratto (Contract review) & Piani di sviluppo e qualità (Development and quality plans) EX_01.1 Esercitazione revisione bozza di proposta Due fasi: * 1) revisione della bozza di proposta (proposal draft review), ovvero revisione PREVENTIVA della proposta da mostrare al cliente 2) revisione della bozza di contratto (contract draft review), ovvero revisione della proposta modificata dopo l'interazione con il cliente Facciamo riferimento al progetto di esempio GoldWEB 1. Qualcuno ha contattato il cliente ed ha raccolto i requisiti 2. Sulla base di quanto raccolto ha prodotto dei documenti (bozza di proposta) 3. La bozza di proposta contiene i requisiti utente e due piani requisiti utente, nel seguito r_1 requisiti funzionali, nel seguito r_2 un piano di sviluppo un piano qualità Scopo della revisione della bozza di proposta è quello di individuare inesattezze, ambiguità e mancanze nei requisiti e nei piani (ci concentriamo sui primi due documenti usando la checklist di Galin) EX_01.2
Revisione della bozza di proposta (1) Utilizziamo la checklist di Galin 1. I requisiti utente sono stati chiarificati e documentati 1.1 Requisiti funzionali 1.2 Ambiente operativo (hw, sistemi di comunicazione, sistema operativo, ecc..) 1.3 Interfaccia con altri applicativi 1.4 Prestazioni del sistema (numero di utenti e condizioni d'uso) 1.5 Affidabilità 1.6 Usabilità (tempo di apprendimento, ed altro) 1.7 Numero di installazioni e locazione delle stesse 1.8 Condizioni di garanzia 1.9 Manutenzione 1.10 Condizioni accessorie (team di progetto, certificazioni, ecc.) EX_01.3 Mancano i requisiti sui fornitori!!! è una lista predefinita cablata nel sistema o una lista espandibile? Nel secondo caso, da chi e come? si o no? vago ovvero? ovvero? Fallimenti? Artigiano non disponibile? EX_01.4
Requisito ignorato valori di stato? ovvero? unità di misura? cos'è il calo di lavorazione? Che ruoli hanno? Manca il dettaglio dei casi d uso Dove sono gestite le password e che funzionalità sono richieste? EX_01.5 requisiti funzionali EX_01.6
ID è generato dal sistema o a mano? Differenza tra ID e numero busta? E gli artigiani precedenti? ID è generato dal sistema o a mano? Perchè due volte operazione? Calo e calo effettivo? EX_01.7 Ovvero ragione sociale? Come si collega con operazione? Nome e ragione sociale coincidono? Ovvero ragione sociale? Non sarà dipendente? Nome e ragione sociale coincidono? E la partita IVA indicata nelle specifiche? unità di misura? una volta per tutte? su che scala (giornoata, mezza, ora, ecc.) EX_01.8
Non sarà dipendente? Come si collega con la specializzazione? Prezzo al minuto o a prestazione?? generato dal sistema o a mano? Formati? Cosa significa? A cosa serve il turno? Identificativo e titolo? EX_01.9 Identificativo? Come? Non ci sono collegamenti.. EX_01.10
1.1 Requisiti funzionali (formato testuale) Ambiguità, incompletezze, ecc. 1. r_1, pag. 4, sezione 3.1, "specializzazione degli artigiani" è una lista predefinita cablata nel sistema o una lista espandibile? Nel secondo caso, da chi? 2. r_1, pag. 4, sezione 3.2, punto 4 e 5 "giorni predeterminati/fissati". Sono fissi cablati nel sistema o sono modificabili? Nel secondo caso, da chi? 3. r_1, pag. 4, sezione 3.2, punto 9 "tipo della lavorazione". Sono tipi fissi cablati nel sistema o sono modificabili?nel secondo caso, da chi? Che rapporto hanno con le specializzazioni degli artigiani? 4. r_1, pag. 5, punto 10, ultimo item: ", da un giorno all'altro. Cosa significa? 5. r_1, pag. 5, punto 11, ultimo item: "calo di lavorazione". Cosa significa? Che rapporto ha con il monte oro (r_2, sez 3.2, punto 6)? Come si misura? 6. r_2, pag. 4, sezione 3.1, punto 1 "ID busta/numero della busta". Sono realmente da inserire o devono essere generati dal sistema? Che differenza c e tra i due? 7. r_2, pag. 4, sezione 3.1, punto 4 "Id della lavorazione". Da inserire o generare? Come si collega operazione con il tipo della lavorazione e specializzazione? Calo e calo effettivo? 8. r_2, pag 6, sezione 3.4 cliente o dipendente? 9. r_2, pag. 7, sezione 3.4, punto 3 "La lavorazione che sa eseguire". Come si collega con i punti 3 e 7? Prezzo al minuto o a prestazione? 10. r_2, pag. 4, sezione 3.6, punto 1 "Foto". Formati? Come viene memorizzata? 11.... EX_01.11 1.2 Ambiente operativo Specifiche sull'hw e sw? L'hw è già presente? S.O.? http o protocolli ad hoc? Web server? DBMS? Richieste sull'architettura? (CGI, servlet, J2EE,...) Rete locale? Firewall? Sicurezza? EX_01.12
1.3 Interfaccia con altri applicativi 1. Esiste già qualche applicazione funzionante? 2. Dati? 3.... EX_01.13 1.4 Prestazioni del sistema Requisiti di qualità - vincoli sui tempi di risposta, numero di connessioni, dimensioni dei dati? 1.5 Affidabilità - backup - recovery, % di tempo di funzionamento, ecc.? - Procedure di riavvio automatico? - Server dedicato? 1.6 Usabilità - corsi per il personale? - vincoli (interni/esterni) sulla interfaccia HTML? -... EX_01.14
Altro 1.7 Numero di installazioni e locazione delle stesse - un solo server? -client? 1.8 Condizioni di garanzia - PROPOSTA: interventi gratuiti di manutenzione correttiva per il primo anno dopo il test di accettazione e poi al costo di 1.9 Manutenzione - PROPOSTA: manutenzione evolutiva al costo di... 1.10 Condizioni accessorie - referente per i requisiti dell'azienda? -... EX_01.15 Revisione della bozza di proposta (2) Utilizziamo la checklist di Galin 3. Aspetti formali della relazione con il cliente 3.1 Comitato di controllo 3.2 Lista della documentazione che verrà consegnata al cliente 3.3 Responsabilità del cliente per quanto riguarda la disponibilità a fornire dati e risposte 3.4 Indicazioni delle fasi che richiedono approvazione e procedure di approvazione 3.5 Partecipazione dell'utente alle varie revisioni e test 3.6 Procedure per la gestione delle richieste di cambiamento 3.7 Criteri per la chiusura del progetto 3.8 Procedure e costi per la gestione delle non conformità durante e dopo la garanzia 3.9 Premi per la consegna anticipata / penalità per la consegna ritardata 3.10 Condizioni per l'annullamento del progetto da parte del committente 1.11&12 Manutenzione EX_01.16
Relazioni formali con il cliente 3.1 Comitato di controllo - l'avanzamento del lavoro verrà controllato e coordinato da X del laboratorio ed Y della software house. E previsto un incontro almeno ogni 2 settimane 3.2 Lista della documentazione che verrà consegnata al cliente - requisiti utente - schema architetturale e della base di dati -GANTT - manuale utente - documentazione sw e procedure di installazione 3.3 Responsabilità del cliente per quanto riguarda la disponibilità a fornire dati e risposte - durante la fase di progetto di dettaglio (vedi GANTT) che durerà X giorni è richiesta la disponibilità di una persona in grado di chiarire TUTTI gli aspetti del processo lavorativo e che abbia l'autorità di prendere decisioni EX_01.17 Aspetti formali della relazione con il cliente 3.4 Indicazioni delle fasi che richiedono approvazione e procedure di approvazione - contratto (revisione) - prototipo della interfaccia utente (test utente: funzionalità ed usabilità) - test di accettazione (test utente: funzionalità, documentazione e prestazioni) 3.5 Partecipazione dell'utente alle varie revisioni e test - revisione del contratto: persona coinvolta nel comitato di controllo - prototipo e test di accettazione: persona che fornisce i requisiti 3.6 Procedure per la gestione delle richieste di cambiamento - entro tre giorni dalla revisione del prototipo gratis - con costo Y a giorno uomo durante il primo anno - con costo Z>Y dopo 3.7 Criteri per la chiusura del progetto - il test di accettazione ha permesso la esecuzione di un insieme di test funzionali e di qualità predefiniti che: - si sono svolti senza errori - con prestazioni conformi alle richieste - in modo coerente con la documentazione EX_01.18
Aspetti formali della relazione con il cliente 3.8 Procedure e costi per la gestione delle non conformità durante e dopo la garanzia - con costo 0 durante il primo anno - con costo K dopo 3.9 Premi per la consegna anticipata / penalità per la consegna ritardata - non applicabile 3.10 Condizioni per l'annullamento del progetto da parte del committente - pagamento dell' earned value *1.25 accertato nell'ultima riunione del comitato di controllo 1.11&12 Manutenzione - nulla in piu' di quanto specificato prima EX_01.19