Analisi dei requisiti
Nell'ambito dell'ingegneria dei requisiti, l'analisi dei requisiti è un'attività preliminare allo sviluppo (o alla modifica) di un sistema software, il cui scopo è quello di definire le funzionalità che il nuovo prodotto (o il prodotto modificato) deve offrire, ovvero i requisiti che devono essere soddisfatti dal software sviluppato.[1] L'analisi dei requisiti è una fase presente essenzialmente in tutti i modelli di ciclo di vita del software, pur con diverse enfasi e diverse connotazioni.
Descrizione
modificaNel tradizionale modello a cascata, l'analisi dei requisiti è la prima fase del processo di sviluppo, e deve concludersi con la stesura di una dettagliata specifica dei requisiti che descrive le funzionalità del nuovo software nella loro interezza; tale specifica guida le fasi successive di sviluppo, che complessivamente sono volte a realizzare quanto previsto da tale specifica.[2]
L'analisi dei requisiti avviene normalmente come negoziazione fra individui legati allo sviluppo (analisti) e i clienti, oppure (nel caso di pacchetti software pensati per la grande distribuzione) fra analisti e responsabili del marketing. Tale dialogo è tutt'altro che semplice: gli analisti possono avere difficoltà a comprendere il linguaggio e il contesto culturale del cliente, e viceversa; inoltre lo stesso cliente potrebbe aver difficoltà a mettere a fuoco i propri reali bisogni e di conseguenza le richieste o le proposte da mettere sul tavolo della discussione.
Proprio a causa di queste difficoltà, i modelli di ciclo di vita del software moderni hanno abbandonato l'assunzione che sia possibile identificare i requisiti di un sistema software a priori, e tendono a privilegiare approcci iterativi in cui i requisiti vengono esplicitati gradualmente, per esempio coinvolgendo l'utente nella prova di prototipi e rilasci parziali del sistema in corso di sviluppo.
Il documento principale prodotto dall'analisi dei requisiti è la specifica dei requisiti; se la metodologia e il modello di ciclo di vita del software utilizzati lo prevedono, essa può addirittura portare già alla stesura del manuale d'uso del prodotto da sviluppare. Una metodologia standard non specifica di un dominio è la definizione dei requisiti Furps. Un linguaggio molto utilizzato per la visualizzazione dei requisiti software è UML (Unified Modeling Language). L'analisi dei requisiti è spesso accompagnata da altre attività di analisi come l'analisi del dominio o l'analisi dei costi e benefici.
Note
modifica- ^ Trung Hung, Requirements analysis
- ^ (EN) Steven J. Zeil, Software Development: The Waterfall model, su cs.odu.edu. URL consultato l'11 novembre 2022 (archiviato dall'url originale il 5 gennaio 2015).
Altri progetti
modifica- Wikimedia Commons contiene immagini o altri file su analisi dei requisiti