Sei sulla pagina 1di 54

Ingegneria del Software

(Ing.Informatica Nuovo Ord.)


Canale M-Z / A.A. 2005-06
Marco Cadoli
Universit di Roma La Sapienza
Dipartimento di Informatica e Sistemistica

TERZA PARTE
Analisi dei requisiti e definizione delle
specifiche
Sezione I: Concetti fondamentali
Versione definitiva
Ing. del SW: Terza parte Sez I

Marco Cadoli, Universit La Sapienza, nov 2005

TERZA PARTE

Analisi e specifica dei requisiti


I.
II.

Concetti fondamentali dellanalisi e specifica


dei requisiti
Complementi di UML

Ing. del SW: Terza parte Sez I

Marco Cadoli, Universit La Sapienza, nov 2005

I. Concetti fondamentali
I.1. Il concetto di specifica
I.2. Tipologie di linguaggi di specifica
I.3. Ingegneria dei requisiti

Ing. del SW: Terza parte Sez I

Marco Cadoli, Universit La Sapienza, nov 2005

I.1. Il concetto di specifica


Vari tipi di specifiche
Documenti di SRS
Approcci principali

Ing. del SW: Terza parte Sez I

Marco Cadoli, Universit La Sapienza, nov 2005

Vari tipi di specifiche


Dei requisiti (fra lo studio di fattibilit e la
progettazione):
Documenti che definiscono cosa deve fare il sistema
Accordo fra cliente e sviluppatore

Di progetto (durante la progettazione):


Documenti che definiscono i requisiti del progetto
Accordo fra i progettisti e gli implementatori

Di un modulo SW (durante la realizzazione):


Documento che definisce cosa deve fare un modulo SW
Accordo fra gli implementatori del modulo e i
programmatori che lo useranno
Ing. del SW: Terza parte Sez I

Marco Cadoli, Universit La Sapienza, nov 2005

Specifica dei requisiti


Scopi:
Definizione delle funzionalit, vincoli, prestazioni,
interfacce, e di qualsiasi altra caratteristica richiesta
dallutente
Redazione di un documento di Specifica dei Requisiti
SW (SRS Software Requirements Specification) che
sia completo, preciso, consistente, non ambiguo,
comprensibile sia al committente sia allo sviluppatore
(Tipicamente) Piano di test, struttura manuale utente

Ing. del SW: Terza parte Sez I

Marco Cadoli, Universit La Sapienza, nov 2005

Importanza di un documento di SRS


Costituisce il punto di convergenza dei punti di vista
del cliente, dellutente e dello sviluppatore
Fornisce il punto di riferimento per la convalida del
prodotto finale
un prerequisito per la qualit del SW
(errori nel SRS errori nel sistema)
Tipicamente, riduce i costi di sviluppo, in quanto
facilita la scoperta di difetti

Ing. del SW: Terza parte Sez I

Marco Cadoli, Universit La Sapienza, nov 2005

Approcci allanalisi e alla specifica dei


requisiti
Informale:

Uso del linguaggio naturale


Interviste col cliente e lutente finale
Uso di questionari
Non esiste modello del sistema

Basato su modelli concettuali:


Rappresentazioni del dominio e del sistema inserite nel
documento di SRS
Possono essere pi o meno formali

Basato sulla prototipazione


Ing. del SW: Terza parte Sez I

Marco Cadoli, Universit La Sapienza, nov 2005

Alcuni approcci basati su modelli


concettuali
Analisi strutturata:
Data Flow Diagrams (DFD), dizionario dei dati
Decomposizione delle funzioni
Linguaggi ad hoc per i dati (ad es. ER)

Analisi orientata agli oggetti:


Decomposizione in concetti del dominio applicativo
Linguaggi di modellazione (ad es. UML)

Ing. del SW: Terza parte Sez I

Marco Cadoli, Universit La Sapienza, nov 2005

I.2. Tipologie di linguaggi di specifica

Specifiche operazionali e descrittive


DFD
Automi a stati finiti
Reti di Petri
Specifiche formali, semiformali e informali

Ing. del SW: Terza parte Sez I

Marco Cadoli, Universit La Sapienza, nov 2005

10

Tipologie di linguaggi di specifica


I linguaggi di specifica possono essere classificati
rispetto a due coordinate indipendenti
1. Modello (stile) di specifica

descrittivo
operazionale

2. Semantica del linguaggio

specifiche informali
specifiche semiformali
specifiche formali

Ing. del SW: Terza parte Sez I

Marco Cadoli, Universit La Sapienza, nov 2005

11

Stili di specifica: operazionale


La specifica operazionale descrive il comportamento
desiderato per il sistema
Esempio (ordinamento di un vettore):
Sia A un vettore di n elementi.
Il risultato dellordinamento di A un vettore B di n
elementi in cui:
il primo elemento il minimo di A (se pi elementi di
A hanno lo stesso valore, ognuno di essi accettabile),
il secondo elemento il minimo nel vettore di n-1
elementi ottenuto da A eliminando il suo minimo
il terzo elemento e i successivi si definiscono allo
stesso modo, fino a quando vengono eliminati tutti gli
elementi di A
Ing. del SW: Terza parte Sez I

Marco Cadoli, Universit La Sapienza, nov 2005

12

Stili di specifica: descrittiva


La specifica operazionale descrive le propriet
desiderate in maniera puramente dichiarativa
Esempio (ordinamento di un vettore):
Sia A un vettore di n elementi.
Il risultato dellordinamento di A un vettore B di n
elementi tale che:
una permutazione di A
ordinato
(nel caso in cui il concetto di permutazione e di
ordinamento non fossero sufficientemente chiari,
andrebbero specificati con lo stesso stile)
Ing. del SW: Terza parte Sez I

Marco Cadoli, Universit La Sapienza, nov 2005

13

Considerazioni sugli stili di specifica


Con riferimento allesempio precedente, ognuno degli
stili (operazionale/descrittivo) suggerisce una maniera
differente di implementare lordinamento
Non comunque obbligatorio implementare
lordinamento in alcuna delle maniere (anche se lo
stile operazionale ne suggerisce fortemente una)
Le specifiche descrittive sono tipicamente pi astratte
di quelle operazionali
Le specifiche descrittive possono condurre ad
implementazioni meno efficienti di quelle operazionali

Ing. del SW: Terza parte Sez I

Marco Cadoli, Universit La Sapienza, nov 2005

14

Esempio di modello operazionale: DFD


I DFD (Data Flow Diagrams) sono notazioni molto usate
per specificare le funzioni di un sistema informativo
Hanno quattro elementi di base:
Funzioni

Gestione clienti

Flussi di dati

Depositi di informazioni

Acquisizione e produzione di dati

Ing. del SW: Terza parte Sez I

Info
CLIENTI
Operatore

Marco Cadoli, Universit La Sapienza, nov 2005

15

Esempio di diagramma DFD


Calcolo di: (a + b) * (c + a*d)

b
IN

d
c
Ing. del SW: Terza parte Sez I

OUT

+
Marco Cadoli, Universit La Sapienza, nov 2005

16

Altro esempio di diagramma DFD


Info
ARTICOLI
gestione
Fatture
Info
FATTURE

Operatore
gestione
Clienti

visualizzazione
e stampa fatture

Info
CLIENTI

Operatore

Ing. del SW: Terza parte Sez I

Marco Cadoli, Universit La Sapienza, nov 2005

17

Commenti sui diagrammi DFD


Un diagramma DFD pu essere raffinato, ad
esempio specificando meglio la funzione
Gestione fatture
La semantica dei simboli usati specificata
solamente dagli identificatori scelti
In alcuni casi (ad es., +) ci sufficiente, mentre
in altri necessaria una definizione pi precisa
(che non fa parte del DFD)

Ing. del SW: Terza parte Sez I

Marco Cadoli, Universit La Sapienza, nov 2005

18

Commenti sui diagrammi DFD (2)


A
B

E
D
F

Non vengono definiti aspetti relativi al controllo, ad esempio:


D ha bisogno di A, B e C per essere eseguita, o pu esserlo
quando presente almeno uno dei tre?
D produce output sia per E sia per F, o solo per uno dei
due?
Nel primo caso, D produce lo stesso output per E ed F?
Ing. del SW: Terza parte Sez I

Marco Cadoli, Universit La Sapienza, nov 2005

19

Commenti sui diagrammi DFD (3)


I diagrammi DFD sono un esempio di specifica
semiformale:
La sintassi definita in maniera precisa
La semantica non definita in maniera precisa

Ing. del SW: Terza parte Sez I

Marco Cadoli, Universit La Sapienza, nov 2005

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

Ing. del SW: Terza parte Sez I

Marco Cadoli, Universit La Sapienza, nov 2005

21

Un altro modello operazionale:


Automi a stati finiti
In un ASF si definiscono gli stati ammissibili del sistema,
gli ingressi ammissibili e le possibili transizioni:
S linsieme (finito e non vuoto) degli stati
I linsieme degli ingressi
d la funzione di transizione che calcola il nuovo
stato S X I S
Esempio: lampadina da tavolo (2 stati, 1 input)
Premi interruttore

On

Off
Premi interruttore

Ing. del SW: Terza parte Sez I

Marco Cadoli, Universit La Sapienza, nov 2005

22

Automi a stati finiti con output


Vengono definiti anche possibili segnali di
output
Grafo orientato : <S,I,U,d,t, s0>

S linsieme (finito e non vuoto) degli stati


I linsieme degli ingressi
U linsieme delle uscite
d la funzione di transizione che calcola il
nuovo stato S X I S
t la funzione che calcola luscita S X I U
s0 lo stato iniziale
Ing. del SW: Terza parte Sez I

Marco Cadoli, Universit La Sapienza, nov 2005

23

Esempio di ASF con output


Un apparecchio telefonico posto in un ufficio pu effettuare:
chiamate interne (numeri di almeno una cifra, la cui
prima cifra non 0), o
chiamate esterne (numeri di almeno due cifre, la cui
prima cifra 0 e la seconda non 0)
Quando:
si solleva il telefono, si ottiene un tono di centralino
interno;
si digita 0 come prima cifra, si ottiene un tono di
centralino esterno;
si raggiunge un numero telefonico esistente si ottiene un
segnale libero o occupato, a seconda dei casi
In ogni momento possibile riagganciare
Ing. del SW: Terza parte Sez I

Marco Cadoli, Universit La Sapienza, nov 2005

24

Esempio di ASF con output (2)

Nove stati:
1.
2.
3.
4.
5.
6.
7.
8.
9.

Telefono riagganciato (stato


iniziale)
Attesa prima cifra
Attesa prima cifra esterna
Attesa successiva cifra
interna
Attesa successiva cifra
esterna
Attesa collegamento
Conversazione impossibile
Telefono ricevente che
squilla
Dialogo

Ing. del SW: Terza parte Sez I

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.

tono centralino interno


tono centralino esterno
segnale occupato
segnale libero

Marco Cadoli, Universit La Sapienza, nov 2005

25

riaggancio/-

riaggancio/-

Telefono
riagganciato

sollevamento ricevitore/
tono centralino interno

riaggancio/-

Attesa
prima cifra

0/tono centralino esterno

Attesa
successiva cifra
interna

Attesa
prima cifra
esterna
1..9/-

riaggancio/-

raggiunto numero esistente/

Attesa
prossima cifra
esterna

0..9/-

raggiunto numero esistente/-

riaggancio/-

1..9/-

Conversazione
impossibile

Ing. del SW: Terza parte Sez I

riaggancio/-

0..9/riaggancio/-

Attesa
collegamento

riaggancio/-

telefono libero/
segnale libero
telefono occupato/
segnale occupato

Telefono
ricevente che
squilla

Dialogo
sollevamento ricevitore
chiamato/-

Marco Cadoli, Universit La Sapienza, nov 2005

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

Ing. del SW: Terza parte Sez I

Marco Cadoli, Universit La Sapienza, nov 2005

27

Commenti sugli ASF


Gli automi a stati finiti sono un esempio di specifica formale
(sintassi e semantica definite in maniera precisa)
Sono particolarmente adatti per la descrizione del flusso di
controllo (che manca nei DFD)
Gli ASF sono spesso usati per la specifica di insiemi di
stringhe (concetto di stato iniziale e finale)
Hanno come limite la finitezza della memoria
Non sono pratici se il numero di stati troppo grande
Sono adatti per la descrizione di sistemi sincroni e non
concorrenti (ad ogni istante di tempo lo stato globale del
sistema deve essere definito, e pu occorrere una sola
transizione)

Ing. del SW: Terza parte Sez I

Marco Cadoli, Universit La Sapienza, nov 2005

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

Ing. del SW: Terza parte Sez I

Marco Cadoli, Universit La Sapienza, nov 2005

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

Ing. del SW: Terza parte Sez I

Marco Cadoli, Universit La Sapienza, nov 2005

30

Esempio: studente che risolve esercizi


transizione
posto
Risolvere esercizio

Scrivere
soluzione

Libro a posto

Confrontare
soluzione.
Leggere
esercizio

Ing. del SW: Terza parte Sez I

Marco Cadoli, Universit La Sapienza, nov 2005

31

Stato: marcatura di posti

posto con
gettone

transizione
non abilitata

Risolvere
esercizio

Scrivere Libro a posto


soluzione
Confrontare
soluzione.
Leggere
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

Non determinismo nelle reti di Petri

In ogni istante, pu scattare una qualunque


delle transizioni abilitate
Nella rete non viene rappresentato:
quale transizione scatti
quando scatti

Evoluzione di una rete di Petri: sequenza


delle transizioni che scattano

Ing. del SW: Terza parte Sez I

Marco Cadoli, Universit La Sapienza, nov 2005

33

Due studenti, un libro


Studente
A: ha
risolto

Studente B: ha
scritto la soluzione

A potrebbe
scrivere la
soluzione
B potrebbe
confrontare la
soluzione
Ing. del SW: Terza parte Sez I

Marco Cadoli, Universit La Sapienza, nov 2005

34

Concorrenza e mutua esclusione

2 transizioni abilitate:

Non si impediscono a vicenda concorrenti (es., le due


dellesempio precedente)
Possono continuare in mutua esclusione in conflitto (es.,
le due risultanti dallo stato in cui scatta quella di sinistra)

Politica di scheduling: regola per lassegnazione di


risorse a transizioni in conflitto (esterna, non
rappresentata nella rete di Petri)
Politica unfair un processo in starvation (non ha
mai la risorsa necessaria)
Deadlock (stallo) nessuna transizione abilitata

Ing. del SW: Terza parte Sez I

Marco Cadoli, Universit La Sapienza, nov 2005

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.

Ing. del SW: Terza parte Sez I

Marco Cadoli, Universit La Sapienza, nov 2005

36

Esempio di modello descrittivo:


Modello Entit Relazione

Articolo

Cliente

1,N

1,N

desc
aliquota
costo
n.pezzi

1,N
1,1

Ing. del SW: Terza parte Sez I

Fattura

#fattura
data emissione
data pagamento

Marco Cadoli, Universit La Sapienza, nov 2005

37

Semantica dei linguaggi


Specifiche informali
Tipicamente, linguaggio naturale ( accessibile
al committente)

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

Marco Cadoli, Universit La Sapienza, nov 2005

38

Riassunto esempi linguaggi di


specifica
Semantica/
Stile

Semiformale Formale

Operazionale DFD

ASF, Reti di
Petri

Descritttivo

ER

Ing. del SW: Terza parte Sez I

Diagramma
classi UML

Marco Cadoli, Universit La Sapienza, nov 2005

39

I.3. Ingegneria dei requisiti


Ciclo di vita dei requisiti
Caratteristiche di un buon documento di SRS
Standard IEEE 830-1993 e struttura di un
documento di SRS

Ing. del SW: Terza parte Sez I

Marco Cadoli, Universit La Sapienza, nov 2005

40

Ciclo di vita dei requisiti


1.

Analisi del problema


Comprensione del problema, delle condizioni di risoluzione
e dei vincoli a partire da una definizione generale delle
necessit dei potenziali utenti.
Scopo: comprendere cosa deve fare il sistema software che
si vuole costruire.
2. Specifica dei requisiti
Trasformazione dei requisiti in un documento di specifiche
tecniche e funzionali caratterizzanti il sistema
3. Convalida delle specifiche
Revisione delle specifiche, effettuata anche con
lutente/committente.
Nota: tipicamente, non un ciclo di vita a cascata, ma iterativo
Ing. del SW: Terza parte Sez I

Marco Cadoli, Universit La Sapienza, nov 2005

41

Caratteristiche di un buon documento


di SRS
1. Non ambiguit
Ogni requisito ha una sola interpretazione
Esempio di frammento di specifica (di un word processor):
La selezione il processo di scelta di aree del documento su
cui si desidera agire, ad esempio la selezione di un testo
per renderlo nello stile italico.
Ambiguit: per area del documento si intende:

sequenza contigua di caratteri, oppure

unione di sequenze contigue di caratteri?

Ing. del SW: Terza parte Sez I

Marco Cadoli, Universit La Sapienza, nov 2005

42

Caratteristiche di un buon documento


di SRS (2)
2. Consistenza
Nessun requisito in contraddizione con gli altri
Esempio di frammento di specifica (di un word processor):
A. Il testo deve avere linee di uguale lunghezza, decisa
dallutente
B. Landata a capo pu avvenire solamente alla fine di
una parola
Inconsistenza: cosa deve avvenire se una parola pi
lunga della lunghezza specificata?
A la parola va spezzata
B la parola non va spezzata
Ing. del SW: Terza parte Sez I

Marco Cadoli, Universit La Sapienza, nov 2005

43

Caratteristiche di un buon documento


di SRS (3)
3. Completezza
Interna: ogni concetto introdotto deve essere definito.
Esempio: se non ci sono richieste, lascensore entra in uno
stato di attesa richiesta
La specifica deve definire il concetto di stato di attesa
richiesta ( glossario)
Rispetto ai requisiti: tutti i requisiti devono essere documentati.
Esempio: Se vogliamo che lascensore senza richieste vada al
piano terra ed apra le porte, dobbiamo affermarlo
esplicitamente
Nota: la completezza spesso ottenibile solo incrementalmente:

Sono necessari troppi dettagli


Alcuni requisiti emergono nel corso del lavoro

Ing. del SW: Terza parte Sez I

Marco Cadoli, Universit La Sapienza, nov 2005

44

4.

Caratteristiche di un buon documento


di SRS (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

Marco Cadoli, Universit La Sapienza, nov 2005

45

Caratteristiche di un buon documento


di SRS (5)
6. Classificazione per importanza
Ad esempio:

essenziale,
condizionale/non pregiudica laccettazione
opzionale

Aiuta i clienti a capire cosa per loro


veramente importante
Aiuta gli sviluppatori a compiere corrette
decisioni progettuali

Ing. del SW: Terza parte Sez I

Marco Cadoli, Universit La Sapienza, nov 2005

46

Caratteristiche di un buon documento


di SRS (6)
7. Modificabilit
La struttura e lo stile dellSRS sono tali da consentire
facili modifiche, preservando consistenza e
completezza.
Note:
Deve avere unorganizzazione coerente, con indice,
indice analitico, riferimenti incrociati
Un documento di SRS ridondante non si modifica
facilmente
Ogni requisito dovrebbe essere espresso
separatamente
Ing. del SW: Terza parte Sez I

Marco Cadoli, Universit La Sapienza, nov 2005

47

Caratteristiche di un buon documento


di SRS (7)
8. Tracciabilit
Chiarezza dellorigine di ciascun requisito.
Possibilit di referenza nello sviluppo futuro
Matrici di tracciabilit per la gestione dei requisiti
(ad es., funzionalit/requisiti)
Forward traceability: ogni requisito collegabile a
qualche elemento del progetto e del codice
Backward traceability: dal progetto e dal codice
possibile risalire al requisito corrispondente

Ing. del SW: Terza parte Sez I

Marco Cadoli, Universit La Sapienza, nov 2005

48

Struttura di un documento di SRS


Lo standard IEEE 830-1993 fornisce esempi della struttura di un
documento SRS:
Table of contents
1.Introduction
1.1. Purpose
1.2. Scope
1.3. Definitions, Acronyms, and Abbreviations
1.4. References
1.5. Overview
2.General Description
2.1. Product Perspective
2.2. Product Functions
2.3. User Characteristics
2.4. General Constraints
2.5. Assumptions and Dependencies
Ing. del SW: Terza parte Sez I

Marco Cadoli, Universit La Sapienza, nov 2005

49

Struttura di un documento di SRS (2)


3.Specific Requirements
3.1. External Interface Requirements
3.1.1. User Interfaces
3.1.2. Hardware Interfaces
3.1.3. Software Interfaces
3.1.4. Communications Interfaces
3.2. Functional Requirements / Objects
3.3. Performances Requirements
3.4. Logical database requirements
3.5. Design Constraints
3.5.1 Standard Compliance
3.5.2. Hardware Limitation

3.6. Attributes
3.6.1 Reliability

3.7. Other Requirements


4. Appendixes
Ing. del SW: Terza parte Sez I

Marco Cadoli, Universit La Sapienza, nov 2005

50

Struttura di un documento di SRS (3)


3.2. Class/Object
3.2.1. Class/Object 1
3.2.1.1. Attributes
3.2.1.1.1. Attribute 1.1

3.2.1.2. Functions (methods)


3.2.1.2.1 Functional requirement
1

3.2.1.3. Messages (received or sent)


3.2.2. Class/Object 2

Ing. del SW: Terza parte Sez I

Marco Cadoli, Universit La Sapienza, nov 2005

51

Soluzione esercizi parte 3, sezione 1

Ing. del SW: Terza parte Sez I

Marco Cadoli, Universit La Sapienza, nov 2005

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 del libro;


nome cittadino

Titolo
Titolo

Lista
argomenti

Prendi un
libro

Ricerca tramite
argomenti

Lista titoli che


si riferiscono
allargomento

Argomento

Ing. del SW: Terza parte Sez I

Lista libri
in prestito

Mostra titoli
Richiesta argomento
dal cittadino
Marco Cadoli, Universit La Sapienza, nov 2005

53

Soluzione esercizio 1 (2)


Scaffali

Libro

Prendi un
libro

Libro
Consegna libro

Lista
autori

Lista titoli

Scaffale e posizione
Autore

Trova posizione
di un libro

Titolo del libro;


nome cittadino

Titolo

Lista libri
in prestito

Titolo e autore
del libro;
nome cittadino
Richiesta libro
dal cittadino
Ing. del SW: Terza parte Sez I

Marco Cadoli, Universit La Sapienza, nov 2005

54