29.05.2013 Views

Metodologie e strumenti dell'Ingegneria dei Requisiti ... - MobiLab

Metodologie e strumenti dell'Ingegneria dei Requisiti ... - MobiLab

Metodologie e strumenti dell'Ingegneria dei Requisiti ... - MobiLab

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

Capitolo 1<br />

1. I requisiti<br />

Il termine "requisito" ha una natura controversa 2 , che viene chiarita da Alan Mark Davis, uno<br />

<strong>dei</strong> maggiori esperti di ingegneria <strong>dei</strong> requisiti, come segue:<br />

" Se una compagnia vuole dare in appalto un grande progetto di sviluppo software, deve<br />

definire i requisiti in modo abbastanza astratto da non predefinire alcuna soluzione. I requisiti<br />

devono essere scritti in modo che diversi appaltatori possano fare le offerte proponendo vari metodi<br />

per soddisfare le necessità del cliente. Quando l'appalto è stato assegnato, l'appaltatore deve<br />

scrivere per il cliente una definizione del sistema molto dettagliata, in modo che il cliente possa<br />

capire e verificare cosa il software farà. Entrambi questi documenti possono essere chiamati<br />

documenti <strong>dei</strong> requisiti del sistema " [1].<br />

La prima distinzione proposta da Davis è, dunque, quella tra requisiti utente 3 , che<br />

rappresentano l'entità (bisogni/necessità dello stakeholder 4 ) ad un alto livello di astrazione ed i<br />

requisiti di sistema 5 (cosa farà il sistema ed i vincoli operativi),nche ne offrono una descrizione al<br />

un livello di maggior dettaglio.<br />

Sebbene la distinzione tra i "ruoli" utente-sistema possa sembrare chiara, alcune volte non è<br />

semplice attuare una separazione netta tra i due livelli descrittivi, così da cadere in errore in questa<br />

fase del processo di sviluppo.<br />

Una seconda classificazione <strong>dei</strong> requisiti, ancora una volta proposta da A.M. Davis, si basa<br />

sulla pratica del triage 6 : secondo questo approccio, la priorità del requisito rappresenta uno <strong>dei</strong><br />

presupposti per stipulare un contratto tra gli stakeholder, che stabiliranno quali requisiti debbano<br />

essere soddisfatti ed entro quali limiti di tempo e di costo.<br />

Per meglio comprendere questo principio, potremmo immaginare di operare con un progetto<br />

ipotetico dotato di risorse illimitate: in tal caso, pur essendo pronti a soddisfare tutte le esigenze<br />

degli stakeholder coinvolti, sarebbe opportuno valutare gli aspetti che siano in grado di apportare<br />

una maggiore soddisfazione e che diverrebbero prioritari.<br />

2 In alcuni casi, un requisito è una formulazione astratta e di alto livello di un servizio che il sistema dovrebbe fornire,<br />

oppure un vincolo di sistema; in altri casi, un requisito è visto come una definizione formale e dettagliata di una<br />

funzione del sistema.<br />

3 <strong>Requisiti</strong> utente: rappresentano i bisogni/necessità degli stakeholder<br />

4 Stakeholder: Un individuo, un gruppo di persone, un'organizzazione, o altra entità direttamente o indirettamente<br />

interessata al sistema.<br />

5 <strong>Requisiti</strong> di sistema: definiscono le funzioni, i servizi ed i vincoli operativi del sistema in modo dettagliato. Il<br />

documento <strong>dei</strong> requisiti ad essi relativo, noto come Documento <strong>dei</strong> <strong>Requisiti</strong> di Sistema (o Functional Requirements<br />

Specification) , dovrebbe essere preciso nel descrivere accuratamente cosa debba essere implementato. Esso può<br />

essere parte del contratto tra l'acquirente e lo sviluppatore.<br />

6 Triage: Questo termine, adoperato in campo medico, consiste nel distinguere le urgenze nei pronto soccorso, così da<br />

garantire l'intervento tempestivo ai casi inidcati come urgenti.<br />

10

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!