-
1
REQUISITI
(secondo IEEE <- associazioni ingegneri americana)
- 1) Funzionalità per utente per raggiungere obiettivo o risolvere un problema
-
2) Condizione/funzionalità presente nel prodotto per soddisfare contratto o standard o legge,...
- Cose che programmatore deve aggiungere non per sua volontà, ma per diverse esigenze
- 3) Documentazione funzionalità descritte al punto 1) e 2)
-
2
Piramide dei requisiti
-
1)
- Requisiti di business
-
2)
- Requisiti degli utenti
- Ci si riferisce a direzione e altri utenti finali per capire loro esigenze
-
3)
- Requisiti del software
-
4
Approcci metodologici
-
top down
-
generico -> specifico
- - Approccio più usato
- Utile quando si ha ESPERIENZA (<- in questo modo difficile dimenticarsi qualche macro area)
-
bottom up
-
specifico -> generico
- - Utile quando si fa REVERSE-ENGINEERING (<- quando si prende esempio da un progetto già finito, quando si copia)
- Prima si guardano funzionalità specifiche poi quadro più ampio
-
5
Granularità
-
Non tutti i requisiti vengono documentati con stesso livello di dettaglio
-
grana grossa
- Requisiti semplici
-
grana sottile
- Requisiti complessi
-
6
Tipologia requisiti
-
requisiti funzionali
- Funzioni svolte da sistema
-
requisiti non funzionali
-
Proprietà e vincoli sistema
- Es.
Vincolo delle pagine web di caricarsi entro 5 sec per evitare che utente cambi pagina
-
3
Processo Ingegneria Requisiti
-
FASE 1 -> INDIVIDUARE
- FASE 1 -> INDIVIDUARE
- Identifica stakeholder
- Recupero di tutta la documentazione
Es:
Potrebbe esserci una Intranet aziendale dove trovare le info utili
-
FASE 2 -> ANALIZZARE
- - Identificare scopo prodotto
- Capire interazione prodotto con utente
- DARE PRIORITA' AI REQUISITI
'-> necessaria NEGOZIAZIONE <- priorità cliente potrebbero non coincidere con quelle del programmatore!
Vanno spiegate a cliente le vere priorità progetto
-
FASE 3 -> SPECIFICARE
- - Dividere requisiti funzionali e non funzionali
- Capire caratteristiche qualitative e VINCOLI
-
FASE 4 -> VALIDARE
- - Capire se a cliente va bene lavoro svolto
- NEI VARI MODELLI QUESTA E' LA FASE DI FEEDBACK
(-> 1) 2) e 3) invece appartengono alla fase di Comunicazione)
- E' un CICLO perchè di solito non si finisce in un colpo solo
Se nella fase 4) cliente vuole apportare modifiche, si ricomincia il ciclo
- Cosa gli utenti potranno fare con il prodotto
-
Cosa gli sviluppatori devono costruire
- - Livello con più lavoro da fare
- Richiesto LINGUAGGIO TECNICO (a differenza livello 1) e 2))
-
Perchè è stato avviato il progetto
- Progetti commissionati per:
- Risparmiare
- Guadagnare di più