Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
TERZA PARTE
Analisi dei requisiti e definizione delle
specifiche
Sezione I: Concetti fondamentali
Versione definitiva
Ing. del SW: Terza parte Sez I
TERZA PARTE
I. Concetti fondamentali
I.1. Il concetto di specifica
I.2. Tipologie di linguaggi di specifica
I.3. Ingegneria dei requisiti
10
descrittivo
operazionale
specifiche informali
specifiche semiformali
specifiche formali
11
12
13
14
Gestione clienti
Flussi di dati
Depositi di informazioni
Info
CLIENTI
Operatore
15
b
IN
d
c
Ing. del SW: Terza parte Sez I
OUT
+
Marco Cadoli, Universit La Sapienza, nov 2005
16
Operatore
gestione
Clienti
visualizzazione
e stampa fatture
Info
CLIENTI
Operatore
17
18
E
D
F
19
20
Esercizio 1
Una biblioteca pubblica eroga due servizi: prestito di
libri (comunicando titolo e autore) e ricerca di
titoli (comunicando argomento)
1. Tracciare il diagramma DFD del sistema
informativo della biblioteca
2. Tenendo conto che per prestare un libro occorre
prima cercarlo negli scaffali, raffinare il
diagramma ottenuto
21
On
Off
Premi interruttore
22
23
24
Nove stati:
1.
2.
3.
4.
5.
6.
7.
8.
9.
Sedici input:
1.
2.
3.
4.
5.
6.
sollevamento ricevitore
riaggancio
raggiunto numero esistente
telefono occupato
telefono libero
sollevamento ricevitore
chiamato
7..16
le dieci cifre 0..9
Quattro output:
1.
2.
3.
4.
25
riaggancio/-
riaggancio/-
Telefono
riagganciato
sollevamento ricevitore/
tono centralino interno
riaggancio/-
Attesa
prima cifra
Attesa
successiva cifra
interna
Attesa
prima cifra
esterna
1..9/-
riaggancio/-
Attesa
prossima cifra
esterna
0..9/-
riaggancio/-
1..9/-
Conversazione
impossibile
riaggancio/-
0..9/riaggancio/-
Attesa
collegamento
riaggancio/-
telefono libero/
segnale libero
telefono occupato/
segnale occupato
Telefono
ricevente che
squilla
Dialogo
sollevamento ricevitore
chiamato/-
26
Esercizio 2
Riprogettare lASF prendendo in considerazione che:
un numero telefonico esterno deve essere
composto di almeno tre cifre, e che
un numero telefonico interno deve essere
composto esattamente di due cifre
27
28
Esercizio 3
Progettare un ASF che riconosce una stringa avente
tutte le seguenti caratteristiche:
Contiene un numero pari di 0
Contiene un numero dispari di 1
Inizia con 1
Termina con 0
29
Reti di Petri:
Specifica operazionale di sistemi
asincroni
Reti di Petri formalismo per la specifica di sistemi
con attivit concorrenti e/o parallele.
Sono un esempio di specifica formale e operazionale
Rappresentazione grafica, intuitiva.
Posti: attivit
Transizioni: inizio/termine di attivit
Marcatura: stato delle attivit
30
Scrivere
soluzione
Libro a posto
Confrontare
soluzione.
Leggere
esercizio
31
posto con
gettone
transizione
non abilitata
Risolvere
esercizio
transizione abilitata
Ing. del SW: Terza parte Sez I
transizione
scattata
Risolvere esercizio
Scrivere
soluzione
Libro a posto
Confrontare
soluzione.
Leggere
esercizio
transizione abilitata
Marco Cadoli, Universit La Sapienza, nov 2005
32
33
Studente B: ha
scritto la soluzione
A potrebbe
scrivere la
soluzione
B potrebbe
confrontare la
soluzione
Ing. del SW: Terza parte Sez I
34
2 transizioni abilitate:
35
Esercizio 4
Con riferimento allultima rete di Petri:
Si pu verificare uno stallo?
Se ci non possibile, modificarla in maniera
tale che ammetta stalli, e specificare in quali casi
si possono verificare.
36
Articolo
Cliente
1,N
1,N
desc
aliquota
costo
n.pezzi
1,N
1,1
Fattura
#fattura
data emissione
data pagamento
37
Specifiche semiformali
Immediatamente comprensibili, ma ambigue
Notazioni grafiche accompagnate da linguaggio
naturale
Sono i modelli pi usati allo stato dellarte
Specifiche formali
Eliminazione ambiguit
Possibile verifica automatica di propriet
Ing. del SW: Terza parte Sez I
38
Semiformale Formale
Operazionale DFD
ASF, Reti di
Petri
Descritttivo
ER
Diagramma
classi UML
39
40
41
42
43
44
4.
Correttezza
Il documento rappresenta fedelmente le informazioni da
modellare
5. Verificabilit
possibile stabilire se il prodotto sw rispetta i requisiti
Richiede la non ambiguit dei requisiti.
Esempi di requisiti non verificabili:
tipicamente deve avvenire che ,
linterfaccia grafica deve essere di buona qualit.
Esempio di requisito verificabile:
Il programma deve produrre loutput entro 20 nel 60% dei
casi; deve produrre loutput entro 30 nel 100% dei casi
Nel caso di specifiche formali, alcune propriet sono
verificabili in modo rigoroso, per esempio la consistenza
Ing. del SW: Terza parte Sez I
45
essenziale,
condizionale/non pregiudica laccettazione
opzionale
46
47
48
49
3.6. Attributes
3.6.1 Reliability
50
51
52
Soluzione esercizio 1
Titolo e autore
del libro;
nome cittadino
Scaffali
Richiesta libro
dal cittadino
Consegna libro
Libro
Lista
autori
Lista titoli
Libro
Autore
Titolo
Titolo
Lista
argomenti
Prendi un
libro
Ricerca tramite
argomenti
Argomento
Lista libri
in prestito
Mostra titoli
Richiesta argomento
dal cittadino
Marco Cadoli, Universit La Sapienza, nov 2005
53
Libro
Prendi un
libro
Libro
Consegna libro
Lista
autori
Lista titoli
Scaffale e posizione
Autore
Trova posizione
di un libro
Titolo
Lista libri
in prestito
Titolo e autore
del libro;
nome cittadino
Richiesta libro
dal cittadino
Ing. del SW: Terza parte Sez I
54