Modifiche recenti - Cerca:

Categorie

Pagine utente

Winzipedia

Uso dell'wiki

modifica il menu

AnalisiESpecificaDeiRequisiti

IngegneriaDelSoftware.AnalisiESpecificaDeiRequisiti Versioni

Nascondi le modifiche minori - Mostra le modifiche

07/08/2006 ore 18:38 CEST di 81.211.241.69 -
Modificata la linea 13: da:
dei requisiti un processo complicato ed ostico in quanto alla realizzazione
a:
dei requisiti un processo complicato ed ostico in quanto alla realizzazione
Modificate le linee 24-25: da:
#'''Avvio''': la prima fase durante la quale si da origine . Scopo di questa fase quello di definire una solida conoscenza del problema, delle persone che desiderano una soluzione, della natura della soluzione desiderata e delle comunicazioni e collaborazioni preliminari fra il cliente e lo sviluppatore.
#'''Deduzione''': In questa fase vengono identificati una serie di problemi che aiutano a comprendere la deduzione dei requisiti difficile da realizzare per:
a:
#'''Avvio''': la prima fase durante la quale si da origine . Scopo di questa fase quello di definire una solida conoscenza del problema, delle persone che desiderano una soluzione, della natura della soluzione desiderata e delle comunicazioni e collaborazioni preliminari fra il cliente e lo sviluppatore.
#'''Deduzione''': In questa fase vengono identificati una serie di problemi che aiutano a comprendere la deduzione dei requisiti difficile da realizzare per:
Modificate le linee 30-31: da:
#'''Negoziazione dei requisiti''': Molto spesso i clienti richiedono di quanto possa essere ottenuto, in base alle risorse disponibili. Inoltre relativamente comune che i clienti propongano requisiti in conflitto con altri. Scopo quello di riconciliare questi conflitti tramite un processo di negoziazione. I clienti valuteranno i requisiti e ne discuteranno le . Dovranno poi essere analizzati i rischi associati a ciascun requisito.
a:
#'''Negoziazione dei requisiti''': Molto spesso i clienti richiedono di quanto possa essere ottenuto, in base alle risorse disponibili. Inoltre relativamente comune che i clienti propongano requisiti in conflitto con altri. Scopo quello di riconciliare questi conflitti tramite un processo di negoziazione. I clienti valuteranno i requisiti e ne discuteranno le . Dovranno poi essere analizzati i rischi associati a ciascun requisito.
Modificata la linea 33: da:
* non esiste una spiegazione del sono state prese determinate scelte, questo portare ad avere un software di ottima ma non quello che serve
a:
* non esiste una spiegazione del sono state prese determinate scelte, questo portare ad avere un software di ottima ma non quello che serve
Modificata la linea 43: da:
* Requisiti obbligatori, irrinunciabili per il cliente.
a:
* Requisiti obbligatori, irrinunciabili per il cliente.
Modificata la linea 71: da:
dei requisiti basata su processi di comunicazione tra progettisti,
a:
dei requisiti basata su processi di comunicazione tra progettisti,
Modificata la linea 74: da:
rigorosi e leggibili da utenti di diversa formazione. un documento
a:
rigorosi e leggibili da utenti di diversa formazione. un documento
Modificata la linea 87: da:
il sistema preesistente, se . buona regola anche effettuare degli
a:
il sistema preesistente, se . buona regola anche effettuare degli
Modificata la linea 103: da:
Presenta un elenco di caratteristiche, ognuna delle quali dotata di un codice
a:
Presenta un elenco di caratteristiche, ognuna delle quali dotata di un codice
Modificate le linee 116-117: da:
funzionamento del sistema. Un attore un elemento che comunica con il
sistema o il prodotto e che esterno al sistema stesso. Quindi un attore e un
a:
funzionamento del sistema. Un attore un elemento che comunica con il
sistema o il prodotto e che esterno al sistema stesso. Quindi un attore e un
Modificata la linea 121: da:
dei requisiti evolutiva, nella prima iterazione
a:
dei requisiti evolutiva, nella prima iterazione
Modificata la linea 125: da:
Uno scenario di utilizzo un insieme di informazioni che descrivono, dal
a:
Uno scenario di utilizzo un insieme di informazioni che descrivono, dal
Modificate le linee 134-136: da:
La definizione di scenari e casi utile quando difficile creare un
modello che simula la . Inoltre a volte lo scenario non ben definito,
ad esempio quando il prodotto destinato al mercato. Questo implica una
a:
La definizione di scenari e casi utile quando difficile creare un
modello che simula la . Inoltre a volte lo scenario non ben definito,
ad esempio quando il prodotto destinato al mercato. Questo implica una
Modificata la linea 139: da:
Il modello per analizzare un problema quello che fornisce una maggiore
a:
Il modello per analizzare un problema quello che fornisce una maggiore
Modificata la linea 153: da:
Sviluppando un prodotto non possibile scegliere una forma linguistica
a:
Sviluppando un prodotto non possibile scegliere una forma linguistica
Modificata la linea 158: da:
Non possibile inoltre definire linguaggi formali migliori di quelli informali
a:
Non possibile inoltre definire linguaggi formali migliori di quelli informali
Modificata la linea 165: da:
dei requisiti un documento, la specifica, che un oggetto
a:
dei requisiti un documento, la specifica, che un oggetto
Modificata la linea 187: da:
Il problema del riuso della conoscenza consiste nel fatto in cui una volta che un prodotto stato creato, magari partendo da zero, inevitabilmente
a:
Il problema del riuso della conoscenza consiste nel fatto in cui una volta che un prodotto stato creato, magari partendo da zero, inevitabilmente
Modificata la linea 196: da:
non solo ) quello dei pattern.
a:
non solo ) quello dei pattern.
Modificate le linee 198-199: da:
Il pattern uno schema che segue per risolvere un problema.
Non uno schema particolare relativo ad un certo problema, ma
a:
Il pattern uno schema che segue per risolvere un problema.
Non uno schema particolare relativo ad un certo problema, ma
Modificata la linea 230: da:
, integrare e far interagire in maniera corretta i requisiti
a:
, integrare e far interagire in maniera corretta i requisiti
Modificata la linea 272: da:
* Aspetti cognitivi ( documento requisiti un modello di una parte della )
a:
* Aspetti cognitivi ( documento requisiti un modello di una parte della )
Modificata la linea 276: da:
* Aspetto sociale (documento dei requisiti espressione di un sistema sociale)
a:
* Aspetto sociale (documento dei requisiti espressione di un sistema sociale)
Modificate le linee 279-280: da:
della specifica che si realizzata, assicurandosi di che il prodotto finale in grado di svolgere.
In ogni caso necessario gestire requisiti che contengono inconsistenze ed evolvono nel tempo
a:
della specifica che si realizzata, assicurandosi di che il prodotto finale in grado di svolgere.
In ogni caso necessario gestire requisiti che contengono inconsistenze ed evolvono nel tempo
Modificata la linea 290: da:
esso stesso motore del cambiamento, gestire il cambiamento una
a:
esso stesso motore del cambiamento, gestire il cambiamento una
Modificata la linea 295: da:
* Adattarsi ai cambiamenti aziendale, delle tecnologie e degli obiettivi per cui il prodotto stato creato.
a:
* Adattarsi ai cambiamenti aziendale, delle tecnologie e degli obiettivi per cui il prodotto stato creato.
Modificate le linee 297-298: da:
* Basare la progettazione su che stabile per garantire una certa efficienza.
La progettazione il cuore del mestiere. Non esiste una vera tecnica che
a:
* Basare la progettazione su che stabile per garantire una certa efficienza.
La progettazione il cuore del mestiere. Non esiste una vera tecnica che
Modificate le linee 2-3: da:
'''Autori:''' [[Profiles.Alberto|Alberto Taiocchi]]\\
a:
'''Autori:''' [[Profiles.Alberto|Alberto Taiocchi]]
Aggiunte le linee 1-300:
! Analisi e specifica dei requisiti
'''Autori:''' [[Profiles.Alberto|Alberto Taiocchi]]\\

->'''Sommario'''


!! Significato, motivazioni, processi






concorrono diverse parti interessate (responsabili, utilizzatori, progettisti,





ricopre un ambito non solo tecnico, ma anche sociologico, di comunicazione

viene scomposta in diverse fasi.



** Problemi di ampiezza, limiti del sistema mal definiti oppure il cliente specifica dettagli tecnici futili che possono confondere gli obiettivi del sistema







* le specifiche possono essere incomplete, vaghe e contradditorie
* incertezza generale rigurdante i requisiti





Si deve essere comunque pronti a gestire requisiti contenenti inconsistenze. Tali requisiti verranno ulteriormente dettagliati nelle fasi successive.
Durante la fase di negoziazione vengono distinti tre classi di requisiti:

* Requisiti desiderabili, non necessari ma utili.
* Requisiti opzionali, relativamente utili oppure contrattabili in seguito.
!!!! Specifiche
Terminata la fase di negoziazione si otteranno una serie di documenti contenenti un elenco di funzioni e caratteristiche che il prodotto deve possedere.

Esistono due tipi di specifiche, le ''specifiche funzionali'' indicanti il motivo per cui viene realizzato il prodotto (che cosa deve fare il prodotto software) e le ''specifiche non funzionali'' descritte nella normativa 9126.




* Efficienza, indica il tempo di esecuzione, in relazione ai vincoli di tempo, dovuta ad una sincronizzazione di tutto il sistema.



!!!! Convalida

Esamina le specifiche per garantirsi che tutti i requisiti software siano stati affermati in modo non ambiguo, che siano state rilevate e corrette tutte le incoerenze, le omissioni e gli errori e che i prodotti finali siano conformi agli standard definiti per il processo, il progetto e il prodotto.
!!!! Gestione dei requisiti

!!! Modellazione e analisi


esistono vari approcci alla modellazione. Ad esempio si possono usare modelli
basati sui dati (E-R), oppure modelli che studiano il comportamento
dinamico di un sistema. In base al tipo di modellazione decisa si adotteranno
diversi linguaggi (linguaggi naturali, naturali-strutturati, semiformali,
formali).

responsabili, utenti e esperti. Per poter permettere una comunicazione
fluente si necessita di documentazione, linguaggi di specifica che siano espressivi,


uno standard di documentazione e seguire la vita dei requisiti (e i loro


!! Tecniche e linguaggi
!!! Tecniche di estrazione dei requisiti
I requisiti non sempre sono deducibili da documenti, che spiegano o cercano
di spiegare il problema, creati dal cliente. Bisogna assolutamente far luce
sugli aspetti in ombra. Ci sono diverse tecniche per farlo, come interviste al
cliente (strutturate o meno per argomenti, in modo da pilotare il cliente a

questionari scritti mirati, osservando possibili utenti futuri del sistema e studiando

incontri periodici tra clienti e sviluppatori per fare il punto della situazione e
rilevare eventuali percorsi errati intrapresi dal progetto. Il risultato di tutto

ordine di completezza:
* elenco strutturato dei requisiti



Questi tre punti affrontano il problema con approcci diversi, ma hanno
delle caratteristiche comuni:
* presenza di schemi
* identificazione di ogni requisito
* distinzione tra requisiti funzionali e non funzionali

!!! Elenco strutturato dei requisiti

univoco che la identifica, un titolo ed una descrizione della funzione svolta








varie persone (o dispositivi) che utilizzeranno il sistema o il prodotto nel
contesto della funzione e il comportamento che deve essere descritto. Gli
attori rappresentano i ruoli che le persone o i dispositivi giocano durante il







iterazione tutti gli attori principali e identificare gli attori secondari a mano
a mano che aumenta la conoscenza del sistema.


che uno scenario sia un racconto in cui un utente o un commerciale

vengono utilizzate per uno scopo definito e decorano il racconto con informazioni
aggiuntive utili dal punto di vista del mercato come ad esempio


viene descritto in italiano, diagrammi di flusso dati, reti di Petri. . .






completezza. Si possono utilizzare diversi tipi di modelli:
* Concettuali, non richiedono competenze informatiche e di solito sono utilizzati in modelli di business, realizzati da persone con grande conoscenza del dominio applicativo.


!!! Forme linguistiche

* Stili di specifica (formalismo)
** Informali, linguaggio libero, come se fosse un libro.
** Semi formali, linguaggio con sintassi definita solo in modo parziale.
** Formali, linguaggio con sintassi e semantica predefinite.

** Operazionali, descrivono il comportamento desiderato di un prodotto.



particolari situazioni (Esempio: Schema E-R per strutturare dei dati, non
una macchina a stati finiti). Il documento dei requisiti cosi prodotto, la


e viceversa. Bisogna essere coscenti del fatto che ci sono diverse persone
coinvolte nel lavoro, con diversi punti di vista e dalle diverse competenze
tecniche. Bisogna mirare al formalismo delle tecniche linguistiche garantendo

coinvolte.
!!! Documentazione

materiale, per esempio un documento di word, un file. Tutte le informazione

disordinato, ma seguendo uno schema preciso, comprensibile, facile da leggere,

anche una serie di attributi ausiliari utili per gestire revisioni future del
documento. Un documento per questi scopi normalmente ha un indice di questo tipo:
# Storia delle revisioni
# Introduzione
# Scopo
# Definizioni, abbreviazioni, sigle
# Riferimenti
# Contesto di riferimento
# Situazione attuale
# Limiti della situazione attuale
# Obiettivi
# Requisiti funzionali
# Requisiti non funzionali
# Profili utenti
# Allegati
!! Modellazione e riuso della conoscenza
!!! Il problema

maturata negli sviluppatori lascia un segno nel loro bagaglio tecnico.
Questa conoscenza va riutilizzata per affrontare nuovi progetti, che potranno

Un prodotto software risulta quindi essere un insieme di conoscenze relative
ad un dominio applicativo, ad un processo, un businnes, ecc. che in
qualche modo va riutilizzato. Ci sono diverse tecniche moderne per riutilizzare
prodotti software, sviluppo di prodotti per integrazione con legacy e
cots, ecc. Un esempio efficace, utilizzato nella pratica ormai da tempo (e

!!! Pattern



problemi, per quanto abbiano domini applicativi diversi, hanno forme ricorrenti
di base uguali e quindi possono essere affrontati tutti utilizzando una
logica comune. Il cuore del concetto di riuso non risiede nello sfruttare la
tecnologia precedente, ma nel capire il mercato e i processi dei clienti, in
modo da scoprire la forma ricorrente su cui si basa il funzionamento.
!!! Analisi del dominio applicativo
Per capire quale sia la forma ricorrente dietro un processo bisogna capirne
il dominio applicativo. Per farlo, si deve raccogliere una serie di dati dello
specifico settore. Dobbiamo identificare le caratteristiche, i requisiti ,le architetture
comuni.
Raccogliere una collezione di modelli che descrivono i processi di business
dello specifico settore di interesse:
* Modelli del contesto
* Modelli di flusso di dati
* Modelli di dati
* Modelli ad oggetti
* Scenari
* Dizionario dei termini


* Caratterizzazione del dominio delle caratteristiche

!! Relazioni con le altre fasi
!!! Requisiti di sistema e requisiti software
I requisiti di sistema e i requisiti software rappresentano la descrizione delle
caratteristiche che un software e i componenti del sistema devono avere per
poter interagire tra di loro, formando un sistema completo e funzionante.

altrettanto diversa, che devono interagire tra di loro. Bisogna definire allora

del sistema con tale organizzazione.
!!! Relazioni con la progettazione



si segue uno schema che prevede la progettazione architetturale del sistema,

vita alla progettazione di dettaglio. Questo passo viene fatto per diversi
motivi. Serve per stimare la dimensione di un progetto e poter cos`ı stabile





punti


** Valutare le scelte, costi, rischi e benefici
* Identificazione dei requisiti

** Obiettivi
** Specifiche generali
* Scelte e alternative architetturali
** Architettura di sistema
** Make or buy
* Servizi
** Avvio
** Formazione
** Manutenzione
* Pianificazione di massima e tempi
** Rischi
** Costi
** Benefici
** Competitors
** Eventuale realizzazione di componenti critici o prototipali
!!! Validazione
La fase di validazione ha lo scopo principale di accertarsi che il lavoro svolto
fino ad ora sia corretto. Validare un documento significa provare che si
comporti come dovrebbe. Questo implica che ci sia un oggetto con la relativa

per motivi quali:


** Teorie scientifiche non possono essere provate corrette attraverso le osservazioni, esse possono essere solo falsificate (Popper)
** Le osservazioni non sono neutre (libere da valori) ma si muovono lungo punti di vista dominanti (Kuhn)





Ci sono diversi metodi per accrescere la fiducia nei confronti di un prodotto:


* Creare corrispondenza tra i desideri delle parti interessate, analizzando il tutto con utenti, clienti, sviluppatori ed esperti del dominio applicativo.
* Simulare il prodotto finale (anche con dei prototipi) per valutare con mano.
* Negoziare contrasti interni di viste a proposito di qualsiasi aspetto che produce incongruenze tra i modi diversi di vedere il prodotto finale o alcune delle sue caratteristiche.
!!! Evoluzione

quelli che hanno saputo adattarsi hai cambiamenti. Un software di successo


pensare al cambiamento. Per cambiamenti si intende una serie di aspetti
fondamentali:


* Garantire una specializzazione sufficiente, evitando di generalizzare troppo, cosi come specializzare troppo.


viene applicata, ma esistono una serie di strumenti messi a disposizione
Modifica - Versioni - Stampa - Modifiche recenti - Cerca
Ultima modifica il 07/08/2006 ore 18:38 CEST