Università di Bergamo Facoltà di Ingegneria INGEGNERIA DEL SOFTWARE Paolo Salvaneschi A3_4 V2.2 Analisi dei Requisiti e Specifica Relazioni con le altre fasi Il contenuto del documento è liberamente utilizzabile dagli studenti, per studio personale e per supporto a lezioni universitarie. Ogni altro uso è riservato, e deve essere preventivamente autorizzato dall autore. Sono graditi commenti o suggerimenti per il miglioramento del materiale
INDICE Requisiti di sistema e Requisiti software Relazioni con la progettazione Studio di fattibilità Validazione Evoluzione A3 - Requisiti Paolo Salvaneschi 2
Requisiti di sistema e Requisiti software Requisiti di sistema Reti Componenti esistenti (legacy) Elaboratori Servizi Software Ad hoc Prodotti software (COTS) Procedure organizzative A3 - Requisiti Paolo Salvaneschi 3
Requisiti di sistema e Requisiti software 1. Requisiti di sistema 2. Architettura di sistema (definizione dei sottosistemi componenti) 3. Allocazione dei requisiti ai componenti 4. Requisiti software A3 - Requisiti Paolo Salvaneschi 4
Relazioni con la progettazione Idealmente Solo per sistemi piccoli Di norma Requisiti e Specifica Progetto Requisiti e Specifica Requisiti e Specifica Requisiti e Specifica Requisiti e Specifica Progetto Progetto Progetto Progetto A3 - Requisiti Paolo Salvaneschi 5
Relazioni con la progettazione Requisiti Generali Progetto Architetturale Requisiti di dettaglio dei componenti Progetto di dettaglio A3 - Requisiti Paolo Salvaneschi 6
Relazioni con la progettazione Motivazioni L analisi generale dei requisiti è fermata ad un definito livello considerato sufficiente per stipulare un contratto L analisi è vincolata da aspetti tecnici (architettura, componenti esistenti, ) Il dettaglio non è applicato egualmente a tutti i componenti (criticità dei componenti, tempi di consegna, componenti esistenti) A3 - Requisiti Paolo Salvaneschi 7
Studio di fattibilità Lo studio di fattibilità precede il processo di sviluppo Include un processo di sviluppo in piccolo con lo scopo di Dimostrare la fattibilità Valutare le scelte Valutare i costi Valutare rischi e benefici A3 - Requisiti Paolo Salvaneschi 8
Studio di fattibilità Identificazione dei requisiti Contesto Obiettivi Specifiche generali Scelte e alternative architetturali Architettura di sistema Makeor buy Servizi Avvio Formazione Manutenzione A3 - Requisiti Paolo Salvaneschi 9
Studio di fattibilità Pianificazione di massima e tempi Rischi Costi Benefici Competitors Eventuale realizzazione di componenti critici o prototipali A3 - Requisiti Paolo Salvaneschi 10
Validazione Comportamenti desiderati dell oggetto Oggetto Prova che l oggetto possiede tutti e soli i comportamenti desiderati A3 - Requisiti Paolo Salvaneschi 11
Validazione? Analisi dei requisiti? A3 - Requisiti Paolo Salvaneschi 12
Validazione Completa, consistente? Specifica del programma Programma Prova? ON FORMALLY UNDECIDABLE PROPOSITIONS OF PRINCIPIA MATHEMATICA AND RELATED SYSTEMS by Kurt Gödel, Vienna 1931 A3 - Requisiti Paolo Salvaneschi 13
Validazione Aspetto sociale Il documento dei requisiti è espressione di un sistema sociale Ruoli diversi degli attori Es: Il dirigente, l impiegato utente Es: Il dirigente della produzione, il dirigente del controllo di gestione Interessi diversi Conoscenze diverse A3 - Requisiti Paolo Salvaneschi 14
Validazione In ogni caso è necessario gestire requisiti che contengono inconsistenze ed evolvono nel tempo Difficoltà Ragioni cognitive Ragioni sociali Validare = accrescere la propria fiducia (to depend on) nel documento dei requisiti A3 - Requisiti Paolo Salvaneschi 15
Validazione Metodi per accrescere la propria fiducia nel documento dei requisiti Coerenza interna Ispezione del documento Strutturazione Comprensibilità Ricerca di inconsistenze, incompletezze, definizioni vaghe, Verifica di proprietà A3 - Requisiti Paolo Salvaneschi 16
Validazione Metodi per accrescere la propria fiducia nel documento dei requisiti Corrispondenza con i desideri delle parti interessate Analisi congiunta con gli esperti, i clienti, gli utenti Simulazione Realizzazione e critica di prototipi Negoziazione dei conflitti A3 - Requisiti Paolo Salvaneschi 17
Evoluzione Correggere errori Risolvere inconsistenze Adattarsi ai cambiamenti dell organizzazione Adattarsi ai cambiamenti delle tecnologie Adattarsi ai cambiamenti degli obiettivi A3 - Requisiti Paolo Salvaneschi 18
Evoluzione I sistemi che hanno successo evolvono Un software di successo è esso stesso motore del cambiamento Ambiente Bisogni Realizzazione di un sistema Nuovo Ambiente Nuovi Bisogni A3 - Requisiti Paolo Salvaneschi 19
Evoluzione Gestire il cambiamento è un fondamentale attività dell analisi dei requisiti Sin dall inizio del progetto bisogna pensare al cambiamento A3 - Requisiti Paolo Salvaneschi 20
Evoluzione Euristiche Analisi del dominio applicativo sufficientemente larga Evitare la eccessiva specializzazione (e anche la eccessiva generalizzazione) Basare l analisi e la progettazione su ciò che è più stabile A3 - Requisiti Paolo Salvaneschi 21
Esempio Basare l analisi e la progettazione su ciò che è più stabile Sistema di inseguimento di pezzi su un laminatoio per tubi senza saldatura I sistema è basato su una collezione di funzioni di gestione I sistema è basato su un modello dell impianto Le funzioni di gestione possono cambiare nel tempo L impianto è modificato meno di frequente A3 - Requisiti Paolo Salvaneschi 22
Evoluzione Famiglie di prodotti Requisiti specifici dell applicazione, del cliente Requisiti di base A3 - Requisiti Paolo Salvaneschi 23