• Non ci sono risultati.

Analisi dei requisiti

N/A
N/A
Protected

Academic year: 2022

Condividi "Analisi dei requisiti"

Copied!
30
0
0

Testo completo

(1)

Analisi dei requisiti

Analisi dei requisiti

Anno accademico 2020/2021 Ingegneria del Software

Tullio Vardanega, tullio.vardanega@unipd.it

SWE, Corso di Laurea in Informatica, Università di Padova

1/30

(2)

Analisi dei requisiti

Acquisizione e fornitura

Il committente studia il problema e definisce le proprie attese sul prodotto

Le fissa in un capitolato d’appalto che determina i «requisiti utente»

Chi si candida a fornitore deve capire come corrispondere a quelle attese

Fissando le implicazione di interesse, di costo e di qualità: studio di fattibilità

Il progetto nasce quando committente e fornitore trovano un accordo contrattuale al riguardo

Che fissa gli obiettivi (analisi dei requisiti) e i costi del progetto

Il contratto finisce con la valutazione del committente sul prodotto

Collaudo, accettazione

SWE, Corso di Laurea in Informatica, Università di Padova

2/30

(3)

Analisi dei requisiti

Glossario

“Requisito” secondo il glossario IEEE

1. Capacità/ capability necessaria a un utente per risolvere un problema o raggiungere un obiettivo

 Visione dal lato del bisogno

2. Capacità/ capability che deve essere posseduta (o condizione che deve essere soddisfatta) da un

sistema per adempiere a un obbligo

 Visione dal lato della soluzione

3. Descrizione documentata di una capacità interpretata come in 1 o 2

SWE, Corso di Laurea in Informatica, Università di Padova

3/30

(4)

Analisi dei requisiti

Criticità

Cause di abbandono (Standish Group 1995)

Requisiti incompleti

Insufficiente coinvolgimento del cliente/utente

Attese irrealistiche

Scarsità di risorse

Volatilità di specifiche e requisiti

Insufficiente competenza del fornitore

SWE, Corso di Laurea in Informatica, Università di Padova

4/30

(5)

Analisi dei requisiti

Studio di fattibilità – 1

Valutare rischi, costi e benefici

Nell’ottica del cliente e del fornitore

Competenze richieste/disponibili, prospettive future, competizione

Studio basato su dati vari e spesso incerti

Definizione e valutazione di possibili scenari

Decidere se procedere

Con l’obiettivo di restare entro un costo massimo prefissato

Con le conoscenze immediatamente disponibili

E con un piano di formazione sostenibile

SWE, Corso di Laurea in Informatica, Università di Padova

5/30

(6)

Analisi dei requisiti

Studio di fattibilità – 2

Fattibilità tecnico-organizzativa

Strumenti e tecnologie per la realizzazione

Soluzioni algoritmiche e architetturali

Piattaforme idonee per l’esecuzione

Rapporto costi/benefici

Confronto tra il mercato attuale e quello futuro

Costo di produzione vs. redditività dell’investimento

Individuazione dei rischi

Complessità e incertezze

SWE, Corso di Laurea in Informatica, Università di Padova

6/30

(7)

Analisi dei requisiti

Studio di fattibilità – 3

Valutazione delle scadenze temporali

Risorse disponibili vs. risorse necessarie

Valutazione delle alternative

Scelte architetturali

Esempi: sistema centralizzato o distribuito; modello client-server; …

Strategie realizzative

“Make or buy”: riuso o sviluppo ex-novo

SWE, Corso di Laurea in Informatica, Università di Padova

7/30

(8)

Analisi dei requisiti

Sui requisiti e sull’analisi

I requisiti riflettono l’ambiente d’uso, nella sua evoluzione da senza a con il prodotto, non la sua realizzazione

Capire il «senza» per comprendere il «con», con terminologia coerente con il dominio d’uso

L’analisi riflette la struttura funzionale del prodotto

Lo scenario «Premere un pulsante scatena un calcolo che legge o scrive dati» va trattato come gerarchia, dall’esterno all’interno, non come flusso

Il punto di vista dell’analisi è sempre e solo quello del «lato utente»

Questa è la prospettiva dei diagrammi dei casi d’uso

Relazione tra «attore» e «sistema»: l’attore è chi o cosa possa fare richieste alla parte di prodotto alla quale è esposto (sistema)

SWE, Corso di Laurea in Informatica, Università di Padova

8/30

(9)

Analisi dei requisiti

Attività di analisi

Studio dei bisogni e delle fonti del dominio d’uso

Comprensione del problema dal lato dei bisogni

Approfondimenti tramite scenari d’uso / use case

Raggruppamento degli scenari per affinità

Per individuare possibili parti del sistema

Classificazione e tracciamento dei requisiti

In dialogo con il committente (e gli altri stakeholder )

SWE, Corso di Laurea in Informatica, Università di Padova

9/30

(10)

Analisi dei requisiti

Studio del dominio

Domande base

A quali bisogni risponde il prodotto atteso

Quali problematiche d’uso esso comporta

Acquisizione delle conoscenze

Documentazione e soluzioni preesistenti

Interviste agli utenti

Consolidamento del glossario

Raccoglie e definisce i termini chiave del dominio

Per interazione ordinata con il committente

Consolidato nel corso del progetto

SWE, Corso di Laurea in Informatica, Università di Padova

10/30

(11)

Analisi dei requisiti

Tecniche – 1

Dominio d’uso come fonte di requisiti impliciti

Comportamenti dell’utente e dell’ambiente d’uso

Interazione con il cliente / committente

Interviste

Generazione, analisi e discussione di scenari

Discussioni creative e collaborative (aka brainstorming )

Prototipazione

Interna (solo per il fornitore)

Esterna (per discussione con il cliente)

SWE, Corso di Laurea in Informatica, Università di Padova

11/30

Esito documentato in verbalicon

valore contrattuale

(12)

Analisi dei requisiti

Qualità dell’analisi – 1

La specifica dei requisiti deve essere

Priva di ambiguità (UNAMBIGOUS)

Corretta (CORRECT)

Completa (COMPLETE)

Verificabile (VERIFIABLE)

Consistente (CONSISTENT)

Modificabile (MODIFIABLE)

Tracciabile (TRACEABLE)

Ordinata per rilevanza (RANKED)

SWE, Corso di Laurea in Informatica, Università di Padova

12/30

IEEE 830-1998

Recommended Practice for

SW Requirements Specifications

(13)

Analisi dei requisiti

Qualità dell’analisi – 2

SWE, Corso di Laurea in Informatica, Università di Padova

13/30

(14)

Analisi dei requisiti

Tecniche – 2

Per avere quelle qualità conviene che i requisiti siano «a grana fine»

I requisiti utente spesso sono «a grana grossa»

Lo studio del problema li affina, suddividendoli, e ne aggiunge, ampliando la ricerca

È utile «sapere dove cercare»

La classificazione dei requisiti aiuta a farlo

Rispondendo alla domanda: che tipo di requisiti applicano al prodotto?

SWE, Corso di Laurea in Informatica, Università di Padova

14/30

(15)

Analisi dei requisiti

Classificazione dei requisiti – 1

Extra-functional requirement

M. Glinz,

On Non-Functional Requirements.

15thIEEE International Conference on Requirements Engineering.

October 2007, 21-26

SWE, Corso di Laurea in Informatica, Università di Padova

15/30

(16)

Analisi dei requisiti

Classificazione dei requisiti – 2

SWE, Corso di Laurea in Informatica, Università di Padova

16/30

Requisiti di vincolo

(17)

Analisi dei requisiti

Classificazione dei requisiti – 3

I requisiti hanno diversa rilevanza e utilità, che va negoziata e concordata con il committente

Obbligatori

Irrinunciabili per qualcuno degli stakeholder

Desiderabili

Non strettamente necessari ma a valore aggiunto riconoscibile

Opzionali

Relativamente utili oppure contrattabili più avanti nel progetto

Non devono essere tra loro contraddittori

SWE, Corso di Laurea in Informatica, Università di Padova

17/30

(18)

Analisi dei requisiti

Punto di arrivo

Culmine del progetto è il collaudo (validazione) del prodotto

In esso il fornitore dimostra che tutti i requisiti siano soddisfatti

La validazione concerne i requisiti di lato committente, ma i requisiti dello sviluppo sono molti di più

Il prodotto è efficace se soddisfa pienamente tutti i requisiti

Il fornitore assicura che i requisiti non esposti al collaudo siano anch’essi validati

Usando un processo di verifica incrementale, che non ne dimentica alcuno (tracciamento)

L’analisi deve facilitare la verifica dei requisiti

Chi fissa un requisito deve immaginare come verificarne il soddisfacimento

Facendo attenzione al costo e complessità di verifica

SWE, Corso di Laurea in Informatica, Università di Padova

18/30

(19)

Analisi dei requisiti

Glossario

Verifica

Accertare che l’esecuzione di attività non introduca errori

Did I build the system right?

Attenzione rivolta al way of working

Rispetto delle regole, convenzioni e procedure vigenti nell’attuazione dei processi

Validazione

Accertare che il prodotto corrisponda alle attese

Did I build the right system?

Attenzione rivolta al prodotto finale

Piano di qualifica

Dire come svolgeremo le attività di V&V nel progetto

Metodi, tecniche, procedure, strumenti e tempi

SWE, Corso di Laurea in Informatica, Università di Padova

19/30

V & V = Qualifica

(20)

Analisi dei requisiti

Tracciamento dei requisiti

SWE, Corso di Laurea in Informatica, Università di Padova

20/30

Requisito Progettazione

Codice Validazione

Verifica

soddisfa

realizza

conferma accerta

assicura abilita

(21)

Analisi dei requisiti

Esempio di tracciamento

SWE, Corso di Laurea in Informatica, Università di Padova

21/30

Necessità: tutti i requisiti in AR soddisfano un particolare bisogno Sufficienza: tutti i bisogni rilevati nelle fonti sono requisiti in AR

• ……

• ……

• ……

• ……

• ……

Capitolato d’appalto Dominio

Bisogni impliciti (derivati)

Fonti

• ……

• ……

• ……

• ……

• ……

Documento AR Capitolato d’appalto

Dominio

Bisogni impliciti (derivati)

Fonti

Bisogni espliciti

(22)

Analisi dei requisiti

Confine tra analisi e design – 1

SWE, Corso di Laurea in Informatica, Università di Padova

22/30

Soluzione del problema

Analisi

Design

Enunciazione del problema

Requisiti del problema

Massimo approfondimento del problema

Sintesi della soluzione scelta

(23)

Analisi dei requisiti

Confine tra analisi e design – 2

Partition requirements

Identify sub-systems

Assign requirements to sub-systems

Specify sub-system functionality

Define sub-system interfaces

©Ian Sommerville 2004 Software Engineering, 7th edition

Analisi Progettazione

SWE, Corso di Laurea in Informatica, Università di Padova

23/30

(24)

Analisi dei requisiti

Processi di supporto all’analisi

Documentazione

Per raccogliere i risultati dello studio di fattibilità

Per specificare i requisiti

Verifica

Gestione e manutenzione dei prodotti

Tracciamento dei requisiti

Essenziale per il controllo sistematico di conformità

Gestione di versione e configurazione

I prodotti dell’analisi non sono monoliti e possono subire variazioni

Gestione dei cambiamenti

Cambiare i requisiti ha implicazioni delicate e va fatto con metodo e procdure

SWE, Corso di Laurea in Informatica, Università di Padova

24/30

(25)

Analisi dei requisiti

Documentazione dell’analisi – 1

La documentazione in linguaggio naturale genera rischi di ambiguità interpretativa

Servono norme redazionali per evitare espressioni ambigue

Glossario per garantire terminologia consistente

L’uso di metodi (semi-)formali aiuta a ridurre gli errori di interpretazione

Diagrammi e formule (UML) invece di testo e disegni in stile libero

SWE, Corso di Laurea in Informatica, Università di Padova

25/30

(26)

Analisi dei requisiti

Documentazione dell’analisi – 2

SWE, Corso di Laurea in Informatica, Università di Padova

26/30

ISO/IEC/IEEE 29148:2018

System and software engineering – Life cycle processes –

Requirements engineering Example outline of

Software Requirements Specification

(27)

Analisi dei requisiti

Documentazione dell’analisi – 3

Ricercare chiarezza espressiva

L’uso del linguaggio naturale rende difficile coniugare chiarezza con facilità di lettura

Ricercare chiarezza strutturale

Separazione tra requisiti funzionali e non-funzionali

Classificazione precisa, uniforme e accurata

Ricercare atomicità e aggregazione

Requisiti elementari

Correlazioni chiare ed esplicite

SWE, Corso di Laurea in Informatica, Università di Padova

27/30

(28)

Analisi dei requisiti

Verifica dell’analisi

Eseguita su un documento organizzato

Non ripete il lavoro di analisi, ma si accerta che esso sia stato svolto in modo conforme alle attese

Tramite walkthrough

Lettura a largo spettro

Oppure ispezione

Lettura mirata e strutturata

Accertando necessità e sufficienza dei requisiti specificati

Esaminando la matrice delle dipendenze (documentazione di tracciamento)

SWE, Corso di Laurea in Informatica, Università di Padova

28/30

(29)

Analisi dei requisiti

Stati di progresso per SEMAT – 1

Conceived

Il committente è identificato e gli stakeholder vedono sufficienti opportunità per il progetto

Bounded

I bisogni macro sono chiari, i meccanismi di gestione dei requisiti (configurazione e

cambiamento) sono fissati

Coherent

I requisiti sono classificati e quelli essenziali (obbligatori) sono chiari e ben definiti

SWE, Corso di Laurea in Informatica, Università di Padova

29/30

(30)

Analisi dei requisiti

Stati di progresso per SEMAT – 2

Acceptable

I requisiti fissati definiscono un sistema soddisfacente per gli stakeholder

Addressed

Il prodotto soddisfa i principali requisiti al punto da poter meritare rilascio e uso

Fulfilled

Il prodotto soddisfa abbastanza requisiti da meritare la piena approvazione degli

stakeholder

SWE, Corso di Laurea in Informatica, Università di Padova

30/30

Riferimenti

Documenti correlati

Anche l’ipotesi di contiguità del file è inutile in quanto gli i-node contengono gli indici che puntano in sequenza a TUTTI i blocchi di dati di un file a prescindere che questi

Fissare un massimo numero di iterazioni, N ≤ N max (`e di solito considerato un fallimento - legato a ragioni di

Molti problemi fisici, ingegneristici ed economici vengono descritti da modelli matematici di vario tipo: equazioni.. algebriche, equazioni differenziali, autovalori ed

In base alle informazioni disponibili su WEB, il sistema consente di trasferire denaro dal proprio conto PayPal ad un altro utente tramite un SMS; in pratica è necessario inviare

 La specifica dei requisiti aggiunge dettagli alla definizione dei requisiti; comunque deve essere consistente con essa.  Di solito anche la specifica è scritta in linguaggio

Relay service va a nascondere i dettagli legati alla locazione del servizio andan- do così a proteggere lo stesso da potenziali attacchi, inoltre l’utilizzo di Windows Azure

• Scrivere subito nome e cognome e matricola sul foglio risposte e preparare il libretto sul banco per il controllo.. • Tempo

In particolare si occupa di fornire i dati relativi a tutti i contenuti xAPI che devono essere riprodotti dall’applicazione, di gestire le richieste di download e rimozione di