Raccolta e analisi dei requisiti
Per effettuare la stesura dell’SRS bisogna effettuare la raccolta dei requisiti e la loro analisi, fasi che rientrano nel requirements engineering, che possiamo ricondurre a 4 attività:
- Raccolta dei requisiti
- Analisi dei requisiti
- Stesura SRS
- Verifica e approvazione
Le prime due fasi possono essere raggruppate in un’unica detta fase di esplorazione. Tuttavia questa raccolta di requisiti può avvenire attraverso tre metodi:
- Greenfield
engineering:
- Sviluppo parte da 0
- Fonte requisiti è azienda committente
- Comparazione e ricerca di software già esistenti che potrebbero semplificare il lavoro o evitare di farlo ex-novo.
- Re-engineering:
- Riprogettazione del software
- Estensione funzionalità software
- Durante la realizzazione si può valutare la necessità di migrazione di alcune funzionalità sul nuovo software.
- Interface
engineering:
- Impossibilità di eliminare il vecchio software
- Cercare di adeguare quindi la GUI
- Necessaria la raccolta di nuovi requisiti, poiché il sistema legacy rimane intoccato ma variano solo le interfacce.
Sistema legacy: è un sistema informatico, un’applicazione o un componente obsoleto, che continua ad essere usato poiché l’utente (di solito un’organizzazione) non intende o non può rimpiazzarlo.
La fase di esplorazione
Chiamata elicitation o discovery, ovvero la fase in cui i requisiti vengono “scoperti”, poiché spesso sono difficili da individuare.
- Primo passo è esaminare le richieste del committente, ovvero il principale referente.
- Secondo passo: definizione stakeholdered il loro engagement (coinvolgimento) nel progetto.
Gli ingegneri del software devono perciò saper coinvolgere il più possibile tutti gli stakeholder che indirettamente o direttamente parteciperanno alla realizzazione/utilizzo del software finale, mediante l’ascolto di dipendenti e azienda.
E’ necessario quindi conoscere tutti i punti di vista (view point) dei possibili utilizzatorie stakeholder per individuare al meglio i requisiti per la realizzazione. La raccolta dei requisiti dagli stakeholder viene chiamata requirements elicitation.
Tecniche di esplorazione
- Interviste individuali
- Focus group
- Osservazioni sul campo
- Questionari
- Analisi della concorrenza e best practises
- Scenari e casi d’uso
- Etc.
| Strumenti | Obiettivi | Vantaggi | Svantaggi |
| Interviste individuali | Esplorare determinati aspetti del problema e determinati punti di vista. | L’intervistatore può controllare il corso dell’intervista, orientandola verso quei temi sui quali l’intervistato è in grado di fornire i contributi più utili. | Richiedono molto tempo. Gli intervistati potrebbero evitare di esprimersi con franchezza su alcuni aspetti delicati. |
| Focus group | Mettere a fuoco un determinato argomento, sul quale possono esserci diversi punti di vista. | Fanno
emergere le aree di consenso e di conflitto. Possono far emergere soluzioni condivise dal gruppo. | La
loro conduzione richiede esperienza. Possono emergere figure dominanti che monopolizzano la discussione. |
| Osservazioni sul campo | Comprendere il contesto delle attività dell’utente. | Permettono
di ottenere una consapevolezza sull’uso reale del prodotto che le altre tecniche non danno. | Possono essere difficili da effettuare e richiedere molto tempo e risorse. |
| Suggerimenti spontanei degli utenti | Individuare specifiche necessità di miglioramento di un prodotto. | Hanno bassi costi di raccolta. Possono essere molto specifici. | Hanno normalmente carattere episodico. |
| Questionari | Rispondere a domande specifiche. | Si possono raggiungere molte persone con poco sforzo. | Vanno
progettati con grande accuratezza, in caso contrario le risposte potrebbero
risultare poco informative. Il tasso di risposta può essere basso. |
| Analisi della concorrenza e delle best practices | Individuare le soluzioni migliori adottate nel settore di interesse. | Evitare di reinventare la ruota” e ottenere vantaggio competitivo. | L’analisi di solito è costosa (tempo e risorse). |
| Scenari e casi d’uso | Descrivere
ogni singola operazione che il sistema deve effettuare. | Sono poi utilizzati in fase di collaudo per verificare le funzionalità del sistema. | Gli intervistati spesso non sono in grado di descrivere le criticità. |
Riepilogo

Problemi della fase di esplorazione
La fase di esplorazione è estremamente delicata, in quanto spesso presenta notevoli difficoltà, chepossono essere suddivise in 4 tipologie:
- Problemi di ambito: difficoltà nel trovare il livello di dettaglio e ciò potrebbecomportare a valutazioni dannose.
- Problemi di comprensione: data dal linguaggio che usa lo stakeholder, a volte troppotecnico e dai budget che propone proposti troppo elevati.
- Problemi di conflitto: es. descrizioni fornite da stakeholder sono diverse, ma avolte stanno a significare lo stesso requisito, bisogna quindi cercare diattuare una mediazione per soddisfare le richieste.
- Problemi di volatilità:
- Legati a eventi esterni: evoluzione tecnologica, mercati.
- Legati a eventi interni: strategie dimercato, vendite societarie.