Esercizi sui Function Point

Transcript

Esercizi sui Function Point
Ingegneria del Software – Esercizi su Function Point
Es. 4 - 11 Marzo 98
Si consideri l’applicazione Gestione Pazienti di un ospedale.
L'organizzazione dei dati è rappresentata dal seguente diagramma
ER:
Applicazione Gestione Pazienti
Codice Sanitario
Nome
Paziente
(1,n)
Esami
refertati
(n,n)
Data
Reparto
Esami da
effettuare
Esito
(1,n)
Indirizzo
Data
(1,n)
Laboratorio
Esame
Tipo
Applicazione Gestione Laboratori
Le linee tratteggiate indicano i confini dell'applicazione Gestione
Pazienti, che si deve contare, e dell'applicazione Gestione
Laboratori.
Pagina 1
L’applicazione Gestione Pazienti deve eseguire le seguenti
operazioni:
1
Gestione dei dati sui Pazienti
1.1 Iscrizione Paziente: inserisci i dati di un nuovo
paziente. I dati comprendono il numero di Codice
Sanitario, il Nome, l’Indirizzo e il Reparto in cui viene
ricoverato il paziente.
1.2 Interroga Pazienti: richiedi i dati di un paziente dato il
suo Nome o il suo numero di Codice Sanitario.
1.3 Elenca Pazienti per Reparto: mostra la lista di tutti i
Pazienti di un certo Reparto, stampandone il numero
totale alla fine.
2
Gestione degli Esami
2.1 Inserisci Esame da Effettuare: inserisci gli esami che un
Paziente deve effettuare. L’utente deve inserire il
Codice Sanitario del paziente, il Tipo di esame e la
Data dell'esame di laboratorio da effettuare.
2.2 Interroga Esami: richiedi l’elenco degli esami da
effettuare su un Paziente dato il suo Codice Sanitario;
3
Gestione dei Referti
3.1 Inserisci Referto: inserisce il referto di un esame di
laboratorio. L’utente inserirà il Tipo dell’esame, la Data
e il Referto (positivo o negativo).
3.2 Interroga Esami refertati: richiede i referti degli esami
effettuati da un Paziente, dato il suo numero di Codice
Sanitario, e stampa il numero totale di esami refertati.
Si richiede di identificare le funzioni di tipo dati e di tipo
transazione e di calcolare la complessità (in termini di DET e
Pagina 2
RET) delle funzioni di tipo dati e la complessità (in termini di
DET e FTR) delle funzioni di tipo transazione.
Si tenga presente che Esame è considerato come ILF per
l'Applicazione Gestione Laboratori.
Pagina 3
Soluzione es. 11 Marzo 98.
Regole di
identificazione ILF
1) Il gruppo di dati o
informazioni di
controllo è un
gruppo di dati
logico, o
identificabile
dall'utente, che
soddisfa determinati
requisiti utente.
2) Il gruppo di dati è
mantenuto all'interno
del confine
dell'applicazione.
3) Il gruppo di dati è
modificato, o
mantenuto,
attraverso un
processo elementare
dell'applicazione.
4) Il gruppo di dati
identificato non è
stato contato come
un EIF per
l'applicazione.
Entità e
relazioni
Paziente
Sì
Esami da
effettuare
Sì
Esami
refertati
Sì
Sì
Sì
No
Sì, dal
processo 1.1
Iscrizione
Paziente.
Sì, dal
processo
2.1
Inserisci
Esame da
effettuare
Sì
Sì, dal
processo
3.1 Inserisci
Referto
Sì
No
Pagina 4
Regole di
identificazione EIF
1) Il gruppo di dati o
informazioni di
controllo è un gruppo di
dati logico, o
identificabile dall'utente,
che soddisfa determinati
requisiti utente.
2) Il gruppo di dati è
referenziato
dall'applicazione che si
sta misurando ed è ad
essa esterno.
3) Il gruppo di dati non
è mantenuto
dall'applicazione che si
sta misurando.
4) Il gruppo di dati è
contato come un ILF per
almeno un'altra
applicazione.
5) Il gruppo di dati
identificato non è stato
contato come un ILF per
l'applicazione.
Entità e
relazioni
Tipo Esame
Sì
Sì
Sì
Sì
Sì
Pagina 5
RET:
ILF o EIF
Paziente
Esami da effettuare
Esami refertati
DET
ILF o EIF
Paziente
Cod. Sanit.
Nome
Indirizzo
Reparto
Totale
Esami da
effettuare
Data
Codice
Sanitario
Tipo
Totale
Esami refertati
Data
Referto
Codice
Sanitario
Tipo
RET
1
1
1
Campo
Chiave esterna? Conta
riconoscibile
Conta 1 DET
implementazion
dall’utente e non
e come un DET:
ricorsivo? Conta
1 DET
Sì
Sì
Sì
Sì
4
No
No
No
No
No
No
No
No
Sì
No
No
Sì
No
No
No
1
Sì
2
No
Sì
Sì
No
No
No
Sì
No
No
No
No
Sì
No
Pagina 6
Totale
2
2
Esame
Tipo
Laboratorio
Totale
Sì
Sì
2
No
No
No
No
Pagina 7
Regole di
identificazione EI
Processi
Iscrizione
Paziente
1) I dati sono
ricevuti dall’esterno
del confine
dell’applicazione.
2) I dati in un ILF
sono mantenuti
attraverso un
processo elementare
dell'applicazione.
3) Il processo è la
più piccola unità di
attività che è
significativa per
l'utente.
4) Il processo è
autonomo e lascia
l'applicazione che si
sta misurando in uno
stato di coerenza
funzionale.
5) E' applicabile una
delle seguenti due
regole:
i) il trattamento
logico è unico
rispetto ad altri EI,
ii) i dati identificati
sono diversi
rispetto ad altri EI.
Sì
Inserisci Inserisci
Esame da Referto
Effettuare
Sì
Sì
Sì
Sì
Sì
Sì
Sì
Sì
Sì
Sì
Sì
Sì
Sì
Sì
Sì
Sì
Sì
Pagina 8
Regole di
identificazione EO
1) Il processo invia
dati all’esterno del
confine
dell’applicazione.
2) I dati o le
informazioni di
controllo sono
inviati attraverso un
processo elementare
dell'applicazione.
3) Il processo è la
più piccola unità di
attività che è
significativa per
l'utente.
4) Il processo è
autonomo e lascia
l'applicazione che si
sta misurando in uno
stato di coerenza
funzionale.
5) E' applicabile una
delle seguenti due
regole:
i) il trattamento
logico è unico
rispetto ad altri
EO,
Processi
Elenca
Pazienti
per
Reparto
Sì
Interroga
Esami
Refertati
Sì
Sì
Sì
Sì
Sì
Sì
Sì
Sì
Sì
Pagina 9
ii) i dati identificati Sì
Sì
sono diversi
rispetto ad altri
EO.
Interroga Esami Refertati è un EO perché stampa un dato derivato
(totale esami refertati).
Pagina 10
Regole di
identificazione EQ
1) Una richiesta di
input entra nel
confine
dell’applicazione.
2) Un risultato di
output esce dal
confine
dell'applicazione.
3) Sono reperiti dei
dati.
4) I dati reperiti non
contengono dati
derivati.
5) Il processo è la
più piccola unità di
attività che è
significativa per
l'utente.
6) Il processo è
autonomo e lascia
l'applicazione che si
sta misurando in uno
stato di coerenza
funzionale.
7) L'elaborazione
non aggiorna alcun
ILF.
8) E' applicabile una
delle seguenti due
regole:
Processi
Interroga
Pazienti
Sì
Interroga
Esami
Sì
Sì
Sì
Sì
Sì
Sì
Sì
Sì
Sì
Sì
Sì
Sì
Sì
Pagina 11
i) il trattamento
logico è unico
rispetto ad altri
EQ,
ii) i dati identificati
sono diversi
rispetto ad altri
EQ.
Sì
Sì
Sì
Sì
Pagina 12
Calcolo degli FTR e DET delle funzionalià di tipo transazioni:
PROCESSO
EI:
Iscrizione Paziente
Inserisci Esame da
Effettuare
Inserisci Referto
FTR
DET
1
4
3 (verifica se il 3
paziente esiste in
Paziente e se il tipo
di esame esiste in
Esame)
3 (verifica se il 4
paziente esiste in
Paziente e se il tipo
di esame esiste in
Esame)
EO:
Elenca Pazienti per 1
4+1
Reparto
Interroga
Esami 2 (verifica se il 4+1
Refertati
paziente esiste in
Paziente)
EQ:
Interroga
Pazienti 0
1
(lato input)
Interroga
Pazienti 1
4
(lato output)
Interroga Esami (lato 0
1
input)
Interroga Esami (lato 1
3
output)
Pagina 13
Es. 4 - 17 Ottobre 97
Si consideri l’applicazione Gestione Conti Corrente di una banca.
L'organizzazione dei dati è rappresentata dal seguente diagramma
ER:
Applicazione Gestione Clienti
Nome
Cliente
Indirizzo
Codice fiscale
(1,n)
E’ titolare
di
Data apertura
(1,1)
Numero
Filiale
Conto
(0,n)
Saldo Ultimo Mese
Effettuata
su
(1,1)
Transazione
Numero progressivo
Importo
Data
Valuta
Causale
Applicazione Gestione Conti Corrente
Le linee tratteggiate indicano i confini dell'applicazione Gestione
Conti Corrente, che si deve contare, e dell'applicazione Gestione
Clienti.
Pagina 14
L’applicazione Gestione Conti Corrente deve eseguire le seguenti
operazioni:
1
Gestione dei dati sui Conti Corrente
1.1 Inserisci Conto: inserisci i dati di un nuovo conto. I dati
comprendono il Numero, la Filiale, il Nome del Titolare
e la Data di Apertura. Il Nome del Titolare deve essere
presnete nell’applicazione Gestione Clienti.
1.2 Interroga Conto: richiedi i dati di un conto dato il suo
Numero.
1.3 Elenca Conti: mostra la lista di tutti i conti.
2
Gestione dei dati sulle Transazioni
2.1 Inserisci Transazione: inserisci i dati di una nuova
transazione. I dati comprendono il Numero del Conto,
il Numero Progressivo, l’Importo, la Data, la Valuta e
la Causale.
2.2 Interroga Transazione: richiedi i dati di tutte le
transazioni effettuate in un dato giorno su un dato conto
corrente.
2.3 Stampa Estratto Conto: mostra la lista di tutte le
transazioni compiute nel mese precedente su un dato
conto, stampando alla fine il saldo totale.
Si richiede di identificare le funzioni di tipo dati e di tipo
transazione e di calcolare la complessità delle funzioni di tipo
dati. Si tenga presente che Cliente è considerato come ILF per
l'Applicazione Gestione Clienti.
Pagina 15
Soluzione 17 Ottobre97:
Regole di conteggio
ILF
1) Il gruppo di dati o
informazioni di
controllo è un
gruppo di dati
logico, o
identificabile
dall'utente, che
soddisfa determinati
requisiti utente.
2) Il gruppo di dati è
mantenuto all'interno
del confine
dell'applicazione.
3) Il gruppo di dati è
modificato, o
mantenuto,
attraverso un
processo elementare
dell'applicazione.
4) Il gruppo di dati
identificato non è
stato contato come
un EIF per
l'applicazione.
Entità e
relazioni
Conto, E’
Titolare di
Sì
Transazio Cliente
ne,
Effettuta
su
Sì
Sì
Sì
Sì
Sì, dal
processo 1.1
Inserisci
Conto.
Sì, dal
No
processo
2.1
Inserisci
Transazio
ne.
Sì
No
Sì
No
Pagina 16
Regole di conteggio EIF
1) Il gruppo di dati o
informazioni di
controllo è un gruppo di
dati logico, o
identificabile dall'utente,
che soddisfa determinati
requisiti utente.
2) Il gruppo di dati è
referenziato
dall'applicazione che si
sta misurando ed è ad
essa esterno.
3) Il gruppo di dati non
è mantenuto
dall'applicazione che si
sta misurando.
4) Il gruppo di dati è
contato come un ILF per
almeno un'altra
applicazione.
5) Il gruppo di dati
identificato non è stato
contato come un ILF per
l'applicazione.
Entità e
relazioni
Cliente
Sì
Sì
Sì
Sì
Sì
Pagina 17
RET:
ILF o EIF
Conto, E’ titolare di
RET
2
Transazione,
Effettuta su
1
Cliente
1
DET
ILF o EIF
Conto, E’
titolare di
Numero
Filiale
Saldo Ultimo
Mese
Data Apertura
Nome_cliente
Totale
Transazione,
Effettuta su
Numero
Progressivo
Importo
Data
Valuta
2 RET perché
E’_titolare_di ha
un attributo
1 RET perché
Effettuata_su non
ha attributi
Campo
Chiave esterna? Conta
riconoscibile
Conta 1 DET
implementazion
dall'utente e non
e come un DET:
ricorsivo? Conta
1 DET
Sì
Sì
Sì
No
No
No
No
No
No
Sì
No
4
No
Sì
1
No
No
Sì
No
No
Sì
Sì
Sì
No
No
No
No
No
No
Pagina 18
Numer_conto No
Causale
Sì
Totale
5
Sì
No
1
No
No
Cliente
Nome
Indirizzo
Codice Fiscale
Totale
No
No
No
No
No
No
Sì
Sì
Sì
3
Pagina 19
Regole di conteggio EI Processi
Inserisci
Conto
1) I dati sono
Sì
ricevuti dall’esterno
del confine
dell’applicazione.
2) I dati in un ILF
Sì
sono mantenuti
attraverso un
processo elementare
dell'applicazione.
3) Il processo è la
Sì
più piccola unità di
attività che è
significativa per
l'utente.
4) Il processo è
Sì
autonomo e lascia
l'applicazione che si
sta misurando in uno
stato di coerenza
funzionale.
5) E' applicabile una
delle seguenti due
regole:
vi) il trattamento
Sì
logico è unico
rispetto ad altri EI,
vii)
i dati
Sì
identificati sono
diversi rispetto ad
altri EI.
Inserisci
Transazione
Sì
Sì
Sì
Sì
Sì
Sì
Pagina 20
Regole di conteggio
EO
1) Il processo invia
dati all’esterno del
confine
dell’applicazione.
2) I dati o le
informazioni di
controllo sono
inviati attraverso un
processo elementare
dell'applicazione.
3) Il processo è la
più piccola unità di
attività che è
significativa per
l'utente.
4) Il processo è
autonomo e lascia
l'applicazione che si
sta misurando in uno
stato di coerenza
funzionale.
5) E' applicabile una
delle seguenti due
regole:
vi) il trattamento
logico è unico
rispetto ad altri
EO,
Processi
Stampa
Estratto Conto
Sì
Sì
Sì
Sì
Sì
Pagina 21
vii)
i dati
Sì
identificati sono
diversi rispetto ad
altri EO.
Pagina 22
Regole di conteggio
EQ
1) Una richiesta di
input entra nel
confine
dell’applicazione.
2) Un risultato di
output esce dal
confine
dell'applicazione.
3) Sono reperiti dei
dati.
4) I dati reperiti non
contengono dati
derivati.
5) Il processo è la
più piccola unità di
attività che è
significativa per
l'utente.
6) Il processo è
autonomo e lascia
l'applicazione che si
sta misurando in uno
stato di coerenza
funzionale.
7) L'elaborazione
non aggiorna alcun
ILF.
8) E' applicabile una
delle seguenti due
regole:
Processi
Interroga
Conto
Sì
Elenca
Conti
Sì
Interroga
Transazione
Sì
Sì
Sì
Sì
Sì
Sì
Sì
Sì
Sì
Sì
Sì
Sì
Sì
Sì
Sì
Sì
Sì
Sì
Sì
Pagina 23
ix) il trattamento
logico è unico
rispetto ad altri
EQ,
x) i dati identificati
sono diversi
rispetto ad altri
EQ.
Sì
Sì
Sì
Sì
Sì
Sì
Stampa Estratto Conto è l’unico EO perché è l’unico che stampa
dei dati derivati (saldo del mese).
Pagina 24
Esercizio 4 - 11 Settembre 1997
Si consideri l’applicazione Gestione Biblioteca. L’organizzazione
dei dati è rappresentata dal seguente diagramma ER:
Applicazione Gestione Biblioteca
Nome
Autore
Data di Nascita
Data di Morte
(1,n)
Anno
Scritto da
(1,1)
Editore
Titolo
Libro
(0,1)
Prestito
Data
Durata
(0,n)
Nome
Lettore
Indirizzo
Applicazione Gestione Lettori
Le linee tratteggiate indicano i confini dell'applicazione Gestione
Biblioteca, che si deve contare, e dell'applicazione Gestione
Lettori.
Pagina 25
L’applicazione Gestione Biblioteca deve eseguire le seguenti
operazioni:
I
Gestione dei dati sugli autori
A Inserisci Autore: inserisci i dati di un nuovo autore. I
dati comprendono il Nome, la Data di Nascita e la Data
di Morte (nulla se vivente).
B Interroga Autori: richiedi i dati di un autore dato il suo
Nome.
C Elenca Autori: mostra la lista di tutti gli autori
stampando alla fine il numero totale degli autori.
II Gestione dei dati sui libri
A Inserisci Libro: inserisci i dati di un nuovo libro. I dati
comprendono il Titolo, Editore, Anno e il Nome
dell'autore
(che
deve
essere
già
presente
nell'applicazione).
B Interroga Biblioteca: richiedi i dati di un libro dato il
suo Titolo.
C Elenca Libri: mostra la lista di tutti i libri stampando
alla fine il numero totale di libri.
III Gestione dei prestiti.
A Inserisci Prestito: inserisci i dati riguardanti il prestito
di un libro ad un lettore. I dati comprendono il Titolo
del libro, il Nome del lettore, la Data di inizio prestito e
la Durata.
B Interroga Prestiti: chiedi quali prestiti sono stati fatti a
un certo lettore.
C Elenca Prestiti: mostra la lista di tutti i prestiti
stampando il Titolo del libro prestato, la Data, la Durata
e il Nome del lettore, senza stampare alla fine il numero
totale di prestiti.
Si richiede di identificare le funzioni di tipo dati e di tipo
transazione e di calcolare la loro complessità. Si tenga presente
che Lettore è considerato come ILF per l'Applicazione Gestione
Lettori.
Pagina 26
Soluzione:
Regole identificazione Entità e
ILF
relazioni
Libro,
Scritto da
1) Il gruppo di dati o Sì
informazioni di
controllo è un
gruppo di dati
logico, o
identificabile
dall'utente, che
soddisfa determinati
requisiti utente.
2) Il gruppo di dati è Sì
mantenuto all'interno
del confine
dell'applicazione.
3) Il gruppo di dati è Sì, dal
modificato, o
processo
mantenuto,
Inserisci
attraverso un
Libro.
processo elementare
dell'applicazione.
4) Il gruppo di dati Sì
identificato non è
stato contato come
un EIF per
l'applicazione.
Autore
Prestito
Lettore
Sì
Sì
Sì
Sì
Sì
No
Sì, dal
processo
Inserisci
Autore.
Sì,
processo
Inserisci
Prestito
No
Sì
Sì
No
Pagina 27
Regole identificazione EIF Entità e
relazioni
Lettore
1) Il gruppo di dati o
Sì
informazioni di
controllo è un gruppo di
dati logico, o
identificabile dall'utente,
che soddisfa determinati
requisiti utente.
2) Il gruppo di dati è
Sì
referenziato
dall'applicazione che si
sta misurando ed è ad
essa esterno.
3) Il gruppo di dati non Sì
è mantenuto
dall'applicazione che si
sta misurando.
4) Il gruppo di dati è
Sì
contato come un ILF per
almeno un'altra
applicazione.
5) Il gruppo di dati
Sì
identificato non è stato
contato come un ILF per
l'applicazione.
Pagina 28
RET:
ILF o EIF
Libro,
Scritto da
Autore
Prestito
Lettore
RET
2 (associazione con
attributo)
1
1
1
Pagina 29
DET
ILF o EIF
Libro, Scritto da
Titolo
Editore
Anno
Nome_Autore
Totale
Campo
Chiave esterna? Conta
riconoscibile
Conta 1 DET
implementazion
dall’utente e non
e come un DET:
ricorsivo? Conta
1 DET
Sì
Sì
Sì
No
3
No
No
No
Sì
1
No
Sì
Sì
No
No
No
Sì
3
No
Prestito
Data
Durata
Titolo_Libro
Nome_Lettore
Totale
Sì
Sì
No
No
2
No
No
Sì
Sì
2
Lettore
Nome
Indirizzo
Totale
Sì
Sì
2
No
No
Autore
Nome
Data di
Nascita
Data di Morte
Totale
No
No
No
No
No
No
Pagina 30
Regole identificazione Processi
EI
Inserisci
Libro
1) I dati sono
Sì
ricevuti dall’esterno
del confine
dell’applicazione.
2) I dati in un ILF
Sì
sono mantenuti
attraverso un
processo elementare
dell'applicazione.
3) Il processo è la
Sì
più piccola unità di
attività che è
significativa per
l'utente.
4) Il processo è
Sì
autonomo e lascia
l'applicazione che si
sta misurando in uno
stato di coerenza
funzionale.
5) E' applicabile una
delle seguenti due
regole:
vi) il trattamento
Sì
logico è unico
rispetto ad altri EI,
vii)
i dati
Sì
identificati sono
diversi rispetto ad
altri EI.
Inserisci
Autore
Sì
Inserisci
Prestito
Sì
Sì
Sì
Sì
Sì
Sì
Sì
Sì
Sì
Sì
Sì
Pagina 31
Regole identificazione Processi
EO
Elenca Libri
1) Il processo invia Sì
dati all’esterno del
confine
dell’applicazione.
2) I dati o le
Sì
informazioni di
controllo sono
inviati attraverso un
processo elementare
dell'applicazione.
3) Il processo è la
Sì
più piccola unità di
attività che è
significativa per
l'utente.
4) Il processo è
Sì
autonomo e lascia
l'applicazione che si
sta misurando in uno
stato di coerenza
funzionale.
5) E' applicabile una
delle seguenti due
regole:
vi) il trattamento
Sì
logico è unico
rispetto ad altri
EO,
Elenca Autori
Sì
Sì
Sì
Sì
Sì
Pagina 32
vii)
i dati
Sì
identificati sono
diversi rispetto ad
altri EO.
Sì
Pagina 33
Regole identificazione Processi
EQ
Interroga
Libri
1) Una richiesta di Sì
input entra nel
confine
dell’applicazione.
2) Un risultato di
Sì
output esce dal
confine
dell'applicazione.
3) Sono reperiti dei Sì
dati.
4) I dati reperiti non Sì
contengono dati
derivati.
5) Il processo è la
Sì
più piccola unità di
attività che è
significativa per
l'utente.
6) Il processo è
Sì
autonomo e lascia
l'applicazione che si
sta misurando in uno
stato di coerenza
funzionale.
7) L'elaborazione
Sì
non aggiorna alcun
ILF.
8) E' applicabile una
delle seguenti due
regole:
Interroga Interroga Elenca
Autori
Prestiti Prestiti
Sì
Sì
Sì
Sì
Sì
Sì
Sì
Sì
Sì
Sì
Sì
Sì
Sì
Sì
Sì
Sì
Sì
Sì
Sì
Sì
Sì
Pagina 34
ix) il trattamento
logico è unico
rispetto ad altri
EQ,
x) i dati identificati
sono diversi
rispetto ad altri
EQ.
Sì
Sì
Sì
Sì
Sì
Sì
Sì
Sì
Elenca prestiti è un EQ perche' non genera alcun dato derivato.
Pagina 35
DET per EI (1 per ogni campo che etichetta un flusso entrante
dall’esterno dell’applicazione nel processo)
Inserisci
Libro
Libro, Scritto da
Titolo
Editore
Anno
Nome_Autore
Totale
Autore
Nome
Data di
Nascita
Data di Morte
Totale
Prestito
Data
Durata
Titolo_Libro
NomeLettore
Totale
Inserisci
Autore
Inserisci
Prestito
Sì
Sì
Sì
Sì
4
Sì
Sì
Sì
3
Sì
Sì
Sì
Sì
4
Pagina 36
FTR per EI (1 per ogni ILF mantenuto, 1 per ogni ILF o EIF
referenziato)
Inserisci
Libro
Libro, Scritto da Sì, mantenuto
Autore
Sì, referenziato
Prestito
Lettore
Totale
2
Inserisci
Autore
Inserisci Prestito
Sì, referenziato
Sì, mantenuto
1
Sì, mantenuto
Sì, referenziato
3
Pagina 37
DET per EO (1 per ogni campo che etichetta un flusso dal
processo verso l’esterno dell’applicazione)
Elenca Libri
Libro, Scritto da
Titolo
Editore
Anno
Nome_Autore
Totale_Libri
Totale
Autore
Nome
Data di
Nascita
Data di Morte
Totale_Autori
Totale
Elenca Autori
Sì
Sì
Sì
Sì
Sì
5
Sì
Sì
Sì
Sì
4
Pagina 38
FTR per EO (1 per ogni ILF o EIF referenziato)
Elenca Libri
Libro, Scritto da Sì
Autore
Sì
Prestito
Lettore
Totale
2
Elenca Autori
Sì
1
(tutti referenziati)
Pagina 39
DET per EQ (lato input: 1 per ogni campo che etichetta un flusso
entrante dall’esterno dell’applicazione nel processo)
Interroga Interroga
Biblioteca Autori
Interroga
Prestiti
Elenca
Prestiti
Sì
1
0
Libro, Scritto da
Titolo
Sì
Editore
Anno
Nome_Autore
Totale
1
Autore
Nome
Data di
Nascita
Data di Morte
Totale
Prestito
Data
Durata
Titolo_Libro
NomeLettore
Totale
Sì
1
Pagina 40
FTR per EQ (lato input: 1 per ogni ILF che ha almeno un campo
contato come DET lato input)
Interroga
Libri
Libro, Scritto da
Sì
Autore
Prestito
Lettore
Totale
1
Interroga
Autori
Interroga
Prestiti
Elenca
Prestiti
Sì
Sì
1
1
0
(tutti referenziati)
Pagina 41
DET per EQ (lato output: 1 per ogni campo che etichetta un flusso
dal processo verso l’esterno dell’applicazione)
Interroga Interroga
Biblioteca Autori
Libro, Scritto da
Titolo
Editore
Anno
Nome_Autore
Totale
Autore
Nome
Data di
Nascita
Data di Morte
Totale
Prestito
Data
Durata
Titolo_Libro
NomeLettore
Totale
Interroga
Prestiti
Elenca
Prestiti
Sì
Sì
Sì
Sì
4
Sì
Sì
Sì
Sì
4
Sì
Sì
Sì
Sì
4
Sì
Sì
Sì
3
(si conta anche il DET usato come campo di selezione in ingresso)
Pagina 42
FTR per EQ (lato output: 1 per ogni ILF o EIF referenziato)
Interroga Interroga
Biblioteca Autori
Libro, Scritto da Sì
Autore
Sì
Sì
Prestito
Lettore
Totale
2
1
Interroga
Prestiti
Sì
Elenca
Prestiti
Sì
Sì
Sì
3
Sì
Sì
3
Pagina 43
Esercizio n. 4 - 6 Giugno 1997
Si consideri l’applicazione Gestione Professori per la gestione
delle informazioni riguardanti i professori e i corsi di una
Università. L'organizzazione dei dati è rappresentata dal seguente
diagramma ER:
Applicazioni Gestione Studenti
Studenti
Matricola
Età
Anno di corso
Media
(1,n)
Esame
Superato
Voto
(1,n)
Istituto
Codice
Corso
(1,1)
Tenuto
da
(1,n)
Professore
Anzianità
Nome
Applicazione Gestione Professori
Le linee più marcate indicano i confini dell'applicazione Gestione
Professori, che si deve contare, e dell'applicazione Gestione
Studenti.
Pagina 44
L’applicazione Gestione Professori deve eseguire le seguenti
operazioni:
1 Gestione dei dati sui professori
1.1 Inserisci Professore: inserisci i dati di un nuovo
professore (Nome e Anzianità).
1.2 Interroga Professori: richiedi i dati di un professore dato
il suo Nome.
1.3 Elenca Professori: mostra la lista di tutti i professori
stampando alla fine il numero totale dei professori.
2 Gestione dei dati sui corsi
2.1 Inserisci Corso: inserisci i dati di un nuovo corso. I dati
comprendono il Codice, l'Istituto e il nome del
professore che tiene il corso.
2.2 Interroga Corsi: richiedi i dati di un corso dato il suo
Codice. I dati comprendono il Codice, l'Istituto e il
nome del professore.
2.3 Elenca Corsi: mostra la lista di tutti i corsi stampando
alla fine il numero totale dei corsi. I dati comprendono
il Codice, l'Istituto e il Nome_Professore.
3 Gestione degli esami superati.
3.1 Inserisci Esame Superato: inserisci un nuovo esame
superato. I dati comprendono il Codice_Corso, la
Matricola dello studente e il Voto.
3.2 Interroga Esami Superati: richiedi i dati di un esame
superato dato il suo codice. I dati comprendono il
Codice_Corso, la Matricola_Studente e il Voto.
3.3 Elenca Esami Superati: mostra la lista di tutti gli esami
superati stampando alla fine il numero totale di esami.
Si richiede di identificare le funzioni di tipo dati e di tipo
transazione e di calcolare la complessità delle funzioni di tipo
dati.
Pagina 45
Soluzione es. 4:
Regole
di Entità
e
identificazione ILF
relazioni
Professore
Corso,
Tenuto
da
1) Il gruppo di dati o Sì
Sì
informazioni
di
controllo
è
un
gruppo
di
dati
logico,
o
identificabile
dall'utente,
che
soddisfa determinati
requisiti utente.
2) Il gruppo di dati è Sì
Sì
mantenuto all'interno
del
confine
dell'applicazione.
3) Il gruppo di dati è Sì,
dal Sì,
dal
modificato,
o processo 1.1 processo
mantenuto,
Inserisci
2.1
attraverso
un Professore.
Inserisci
processo elementare
Corso.
dell'applicazione.
4) Il gruppo di dati Sì
Sì
identificato non è
stato contato come
un
EIF
per
l'applicazione.
Esame
Studente
Superato
Sì
Sì
Sì
No
Sì,
No
processo
3.1
Inserisci
Esame
Superato
Sì
No
Pagina 46
Regole di identificazione Entità
EIF
relazioni
Studente
1) Il gruppo di dati o Sì
informazioni
di
controllo è un gruppo di
dati
logico,
o
identificabile dall'utente,
che soddisfa determinati
requisiti utente.
2) Il gruppo di dati è Sì
referenziato
dall'applicazione che si
sta misurando ed è ad
essa esterno.
3) Il gruppo di dati non Sì
è
mantenuto
dall'applicazione che si
sta misurando.
4) Il gruppo di dati è Sì
contato come un ILF per
almeno
un'altra
applicazione.
5) Il gruppo di dati Sì
identificato non è stato
contato come un ILF per
l'applicazione.
e
Pagina 47
RET:
ILF o EIF
Professore
Corso, Tenuto da
Esame Superato
Studenti
RET
1
1
1
1
Pagina 48
DET
ILF o EIF
Professore
Nome
Anzianità
Totale
Corso, Tenuto da
Codice
Istituto
Nome_Professor
e
Totale
Esame Superato
Voto
Codice_corso
Matricola_stude
nte
Totale
Studenti
Matricola
Eta`
Anno_corso
Media
Totale
Campo
Chiave
Conta
riconoscibile esterna?
implementadall’utente e Conta 1 DET zione come
non
un DET:
ricorsivo?
Conta 1 DET
Sì
Sì
2
No
No
No
No
Sì
Sì
No
No
No
Sì
No
No
No
2
1
Sì
No
No
No
Sì
Sì
1
2
Sì
Sì
Sì
Sì
4
No
No
No
No
No
No
No
No
No
No
No
Pagina 49
Regole
identificazione EI
di Processi
Inserisci
Inserisci
Professore Corso
1) I
dati
sono
ricevuti dall’esterno
del
confine
dell’applicazione.
2) I dati in un ILF
sono
mantenuti
attraverso
un
processo elementare
dell'applicazione.
3) Il processo è la
più piccola unità di
attività
che
è
significativa
per
l'utente.
4) Il processo è
autonomo e lascia
l'applicazione che si
sta misurando in uno
stato di coerenza
funzionale.
5) E' applicabile una
delle seguenti due
regole:
vi) il
trattamento
logico è unico
rispetto ad altri EI,
vii)
i
dati
identificati sono
diversi rispetto ad
altri EI.
Esercizi FP
Sì
Sì
Inserisci
Esame
Superato
Sì
Sì
Sì
Sì
Sì
Sì
Sì
Sì
Sì
Sì
Sì
Sì
Sì
Sì
Sì
Sì
50
Regole di identificazione EO
1) Il processo invia dati
all’esterno
del
confine
dell’applicazione.
2) I dati o le informazioni
di controllo sono inviati
attraverso un
processo
elementare
dell'applicazione.
3) Il processo è la più
piccola unità di attività che
è significativa per l'utente.
4) Il processo è autonomo e
lascia l'applicazione che si
sta misurando in uno stato
di coerenza funzionale.
5) E' applicabile una delle
seguenti due regole:
vi) il trattamento logico è
unico rispetto ad altri EO,
vii)
i dati identificati
sono diversi rispetto ad
altri EO.
Esercizi FP
Processi
Elenca
Elenca
Professori Corsi
Sì
Sì
Elenca
Esami
Superati
Sì
Sì
Sì
Sì
Sì
Sì
Sì
Sì
Sì
Sì
Sì
Sì
Sì
Sì
Sì
Sì
51
Regole di identificazione Processi
EQ
Interroga Interroga
Professori Corsi
1) Una richiesta di input
entra
nel
confine
dell’applicazione.
2) Un risultato di output
esce
dal
confine
dell'applicazione.
3) Sono reperiti dei dati.
4) I dati reperiti non
contengono dati derivati.
5) Il processo è la più
piccola unità di attività
che è significativa per
l'utente.
6) Il
processo
è
autonomo
e
lascia
l'applicazione che si sta
misurando in uno stato di
coerenza funzionale.
7) L'elaborazione
non
aggiorna alcun ILF.
8) E' applicabile una
delle
seguenti
due
regole:
ix) il trattamento logico è
unico rispetto ad altri
EO,
x) i dati identificati sono
diversi rispetto ad altri
EO.
Esercizi FP
Sì
Sì
Interroga
Esami
Superati
Sì
Sì
Sì
Sì
Sì
Sì
Sì
Sì
Sì
Sì
Sì
Sì
Sì
Sì
Sì
Sì
Sì
Sì
Sì
Sì
Sì
Sì
Sì
Sì
Sì
52
DET per EI (1 per ogni campo che etichetta un flusso entrante
dall’esterno dell’applicazione nel processo)
Inserisci
Inserisci
Inserisci Esame
Corso
Professore
Superato
Corso, Tenuto
da
Codice
Sì
Istituto
Sì
Nome_Profess Sì
ore
Totale
3
Professore
Nome
Anzianita`
Totale
Esame Superato
Codice Corso
Matricola
Voto
Totale
Esercizi FP
Sì
Sì
2
Sì
Sì
Sì
3
53
FTR per EI (1 per ogni ILF mantenuto, 1 per ogni ILF o EIF
referenziato)
Inserisci
Inserisci
Inserisci Esame
Corso
Professore
Superato
Corso, Tenuto Sì, mantenuto
Sì, referenziato
da
Professore
Sì, referenziato Sì, mantenuto
Esame Superato
Sì, mantenuto
Studenti
Sì, referenziato
Totale
2
1
3
Esercizi FP
54
DET per EO (1 per ogni campo che etichetta un flusso dal
processo verso l’esterno dell’applicazione)
Elenca
Elenca
Elenca
Corsi
Professori Esami
Superati
Corso, Tenuto
da
Codice
Sì
Istituto
Sì
Nome_Profess Sì
ore
Totale Corsi Sì
Totale
4
Professore
Nome
Anzianita`
Totale
Professori
Totale
Esame Superato
Codice Corso
Matricola
Voto
Totale Esami
Totale
Esercizi FP
Sì
Sì
Sì
3
Sì
Sì
Sì
Sì
4
55
FTR per EO (1 per ogni ILF o EIF referenziato)
Elenca Corsi Elenca
Elenca Esami
Professori
Superati
Corso, Tenuto Sì
Sì
da
Professore
Sì
Sì
Esame
Sì
Superato
Studenti
Sì
Totale
2
1
3
Esercizi FP
56
DET per EQ (lato input: 1 per ogni campo che etichetta un flusso
entrante dall’esterno dell’applicazione nel processo)
Interroga Interroga Interroga
Corsi
Professori Esami
Superati
Corso, Tenuto
da
Codice
Sì
Sì
Istituto
Nome_Profess
ore
Totale
1
Professore
Nome
Anzianita`
Totale
Esame Superato
Codice Corso
Matricola
Voto
Totale
Esercizi FP
Sì
1
(Sì)
1
57
FTR per EQ (1 per ogni ILF che ha almeno un campo
contato come DET lato input)
Interroga Interroga Interroga
Corsi
Professori Esami
Superati
Corso, Tenuto Sì
Sì
da
Professore
Sì
Esame
(Sì)
Superato
Studenti
Totale
1
1
1
Esercizi FP
58
DET per EQ (lato output: 1 per ogni campo che etichetta un
flusso dal processo verso l’esterno dell’applicazione)
Interroga Interroga Interroga
Corsi
Professori Esami
Superati
Corso, Tenuto da
Codice
Sì
Sì
Istituto
Sì
Nome_Professore Sì
Totale
3
Professore
Nome
Anzianita`
Totale
Esame Superato
Codice Corso
Matricola
Voto
Totale
Esercizi FP
Sì
Sì
2
(Sì)
Sì
Sì
3
59
FTR per EQ (lato output: 1 per ogni ILF o EIF referenziato)
Interroga Interroga Interroga
Corsi
Professori Esami
Superati
Corso, Tenuto Sì
Sì
da
Professore
Sì
Sì
Esame
Sì
Superato
Studenti
Sì
Totale
2
1
3
Esercizi FP
60
Esercizio n. 4 - 27 Giugno 1997
Si consideri l’applicazione Gestione Deputati per la gestione delle
informazioni riguardanti i deputati. L'organizzazione dei dati è
rappresentata dal seguente diagramma ER:
Applicazioni Gesitone Deputati
Nome
Deputato
Cognome
Residenza
(1,1)
Numero
tessera
Iscritto
(1,n)
Data di
iscrizione
Sede
Nome
Partito
(1,n)
Presidenza
(1,1)
Commissione
Parlamentare
Frequenza
Nome
Applicazione Gestione Commissioni Parlamentari
Le linee tratteggiate indicano i confini dell'applicazione Gestione
Deputati, che si deve contare, e dell'applicazione Gestione
Commissioni Parlamentari.
Esercizi FP
61
L’applicazione Gestione Deputati deve eseguire le seguenti
operazioni:
1
Gestione dei dati sui deputati
1.1 Inserisci Deputato: inserisci i dati di un nuovo deputato
(Nome, Cognome, Residenza, Numero di Tessera del
partito a cui è iscritto, Data di iscrizione e Nome del
partito a cui è iscritto).
1.2 Cerca Deputato: richiedi i dati di un deputato dato il
suo Nome.
1.3 Elenca Deputati: mostra la lista di tutti i deputati
stampando alla fine il numero totale dei deputati.
2
Gestione dei dati sui partiti
2.1 Inserisci Partito: inserisci i dati di un nuovo partito. I
dati comprendono il Nome e la Sede.
2.2 Cerca Partito: richiedi i dati di un partito dato il suo
Nome.
2.3 Elenca Partiti: mostra la lista di tutti i partiti stampando
alla fine il numero totale dei partiti.
3
Gestione delle presidenze delle commissioni.
3.1 Inserisci Presidenza: inserisci i dati riguardanti la
presidenza di una commissione da parte di un partito. I
dati comprendono il Nome del partito e il Nome della
commissione.
3.2 Interroga Presidenze: chiedi quale partito presiede una
commissione e con quale frequenza si riunisce la
commissione dato il nome della commissione.
3.3 Elenca Presidenze: mostra la lista di tutte le presidenze
(senza stampare alla fine il numero totale di
presidenze).
Si richiede di identificare le funzioni di tipo dati e di tipo
transazione e di calcolare la complessità delle funzioni di tipo
dati.
Esercizi FP
62
Soluzione es. 4:
Regole di
Entità e
identificazione relazioni
ILF
Deputato,
Iscritto
1) Il gruppo Sì
di dati o
informazion
i di
controllo è
un gruppo
di dati
logico, o
identificabil
e dall'utente,
che soddisfa
determinati
requisiti
utente.
2) Il gruppo Sì
di dati è
mantenuto
all'interno
del confine
dell'applicaz
ione.
Esercizi FP
Partito
Sì
Presidenza Commissio
ne
Sì
Sì
Sì
Sì
No
63
3) Il gruppo
di dati è
modificato,
o
mantenuto,
attraverso
un processo
elementare
dell'applicaz
ione.
4) Il gruppo
di dati
identificato
non è stato
contato
come un
EIF per
l'applicazion
e.
Sì, dal
processo
1.1
Inserisci
Deputato.
Sì, dal
processo
2.1
Inserisci
Partito.
Sì,
No
processo
3.1
Inserisci
Presidenza
Sì
Sì
Sì
Esercizi FP
No
64
Regole di identificazione
EIF
1) Il gruppo di dati o
informazioni di
controllo è un gruppo di
dati logico, o
identificabile dall'utente,
che soddisfa determinati
requisiti utente.
2) Il gruppo di dati è
referenziato
dall'applicazione che si
sta misurando ed è ad
essa esterno.
3) Il gruppo di dati non
è mantenuto
dall'applicazione che si
sta misurando.
4) Il gruppo di dati è
contato come un ILF per
almeno un'altra
applicazione.
5) Il gruppo di dati
identificato non è stato
contato come un ILF per
l'applicazione.
Esercizi FP
Entità e
relazioni
Commissione
Sì
Sì
Sì
Sì
Sì
65
RET:
ILF o EIF
Deputato,
Iscritto
Partito
Presidenza
Commissione
Esercizi FP
RET
2 (associazione con
attributi)
1
1
1
66
DET
ILF o EIF
Campo
Chiave
Conta
riconoscibile esterna?
implementazio
dall’utente e
Conta 1 DET ne come un
non ricorsivo?
DET:
Conta 1 DET
Deputato, Iscritto
Nome
Cognome
Residenza
Numero_tessera
Data_di_iscrizione
Nome_Partito
Totale
Sì
Sì
Sì
Sì
Sì
No
5
No
No
No
No
No
Sì
1
No
No
No
No
No
No
Partito
Nome
Sede
Totale
Sì
Sì
2
No
No
No
No
Sì
Sì
2
No
No
No
No
No
No
Presidenza
Nome_commissione No
Nome_partito
No
Totale
Commissione
Nome
Frequenza
Totale
Esercizi FP
Sì
Sì
2
67
Regole di
identificazione EI
1) I dati sono
ricevuti dall’esterno
del confine
dell’applicazione.
2) I dati in un ILF
sono mantenuti
attraverso un
processo elementare
dell'applicazione.
3) Il processo è la
più piccola unità di
attività che è
significativa per
l'utente.
4) Il processo è
autonomo e lascia
l'applicazione che si
sta misurando in uno
stato di coerenza
funzionale.
5) E' applicabile una
delle seguenti due
regole:
vi) il trattamento
logico è unico
rispetto ad altri EI,
vii)
i dati
identificati sono
diversi rispetto ad
altri EI.
Esercizi FP
Processi
Inserisci
Deputato
Sì
Inserisci
Partito
Sì
Inserisci
Presidenza
Sì
Sì
Sì
Sì
Sì
Sì
Sì
Sì
Sì
Sì
Sì
Sì
Sì
Sì
Sì
Sì
68
Regole di
identificazione EO
1) Il processo invia
dati all’esterno del
confine
dell’applicazione.
2) I dati o le
informazioni di
controllo sono
inviati attraverso un
processo elementare
dell'applicazione.
3) Il processo è la
più piccola unità di
attività che è
significativa per
l'utente.
4) Il processo è
autonomo e lascia
l'applicazione che si
sta misurando in uno
stato di coerenza
funzionale.
5) E' applicabile una
delle seguenti due
regole:
vi) il trattamento
logico è unico
rispetto ad altri
EO,
Esercizi FP
Processi
Elenca
Deputati
Sì
Elenca
Partiti
Sì
Sì
Sì
Sì
Sì
Sì
Sì
Sì
Sì
69
vii)
i dati
Sì
identificati sono
diversi rispetto ad
altri EO.
Esercizi FP
Sì
70
Regole di
identificazione EQ
Processi
Cerca
Cerca
Deputati Partiti
1) Una richiesta di
input entra nel
confine
dell’applicazione.
2) Un risultato di
output esce dal
confine
dell'applicazione.
3) Sono reperiti dei
dati.
4) I dati reperiti non
contengono dati
derivati.
5) Il processo è la
più piccola unità di
attività che è
significativa per
l'utente.
6) Il processo è
autonomo e lascia
l'applicazione che si
sta misurando in uno
stato di coerenza
funzionale.
7) L'elaborazione
non aggiorna alcun
ILF.
8) E' applicabile una
delle seguenti due
regole:
Esercizi FP
Sì
Sì
Interroga
Presiden
ze
Sì
Sì
Sì
Sì
Sì
Sì
Sì
Sì
Sì
Sì
Sì
Sì
Sì
Sì
Sì
Sì
Sì
Sì
Sì
Sì
Sì
Sì
Sì
Sì
Sì
Elenca
Presiden
ze
Sì
71
ix) il trattamento
logico è unico
rispetto ad altri
EQ,
x) i dati identificati
sono diversi
rispetto ad altri
EQ.
Esercizi FP
Sì
Sì
Sì
Sì
Sì
Sì
Sì
Sì
72
DET per EI (1 per ogni campo che etichetta un flusso entrante
dall’esterno dell’applicazione nel processo)
Inserisci
Inserisci
Inserisci
Deputato Partito
Presidenza
Deputato, Iscritto
Nome
Sì
Cognome
Sì
Residenza
Sì
Numero_tessera
Sì
Data_di_iscrizione Sì
Nome_Partito
Sì
Totale
6
Partito
Nome
Sede
Totale
Presidenza
Nome_commissio
ne
Nome_partito
Totale
Esercizi FP
Sì
Sì
2
Sì
Sì
2
73
FTR per EI (1 per ogni ILF mantenuto, 1 per ogni ILF o EIF
referenziato)
Inserisci
Inserisci
Inserisci
Deputato
Partito
Presidenza
Deputato,
Sì, mantenuto
Iscritto
Partito
Sì,
Sì, mantenuto Sì,
referenziato
referenziato
Presidenza
Sì, mantenuto
Commissione
Sì,
referenziato
Totale
2
1
3
Esercizi FP
74
DET per EO (1 per ogni campo che etichetta un flusso dal
processo verso l’esterno dell’applicazione)
Elenca
Elenca
Deputati
Partiti
Deputato, Iscritto
Nome
Sì
Cognome
Sì
Residenza
Sì
Numero_tessera
Sì
Data_di_iscrizione Sì
Nome_Partito
Sì
Totale deputati
Sì
Totale
7
Partito
Nome
Sede
Totale partiti
Totale
Esercizi FP
Sì
Sì
Sì
3
75
FTR per EO (1 per ogni ILF o EIF referenziato)
Elenca
Elenca
Deputati
Partiti
Deputato,
Sì
Iscritto
Partito
Sì
Sì
Presidenza
Commissione
Totale
2
1
Esercizi FP
76
DET per EQ (lato input: 1 per ogni campo che etichetta un flusso
entrante dall’esterno dell’applicazione nel processo)
Cerca
Cerca
Interroga Elenca
Deputato Partito
Presiden Presiden
za
ze
Deputato, Iscritto
Nome
Sì
Cognome
Residenza
Numero_tessera
Data_di_iscrizione
Nome_Partito
Totale
1
Partito
Nome
Sede
Totale
Presidenza
Nome_commissio
ne
Nome_partito
Totale
Esercizi FP
Sì
1
Sì
1
0
77
FTR per EQ (lato input: 1 per ogni ILF che ha almeno un campo
contato come DET lato input)
Cerca
Cerca
Interroga Elenca
Deputato Partito
Presiden Presiden
za
ze
Deputato, Iscritto
Sì
Partito
Sì
Presidenza
Sì
Commissione
Totale
1
1
1
0
Esercizi FP
78
DET per EQ (lato output: 1 per ogni campo che etichetta un
flusso dal processo verso l’esterno dell’applicazione)
Cerca
Cerca
Interroga Elenca
Deputato Partito
Presiden Presiden
za
ze
Deputato, Iscritto
Nome
Sì
Cognome
Sì
Residenza
Sì
Numero_tessera
Sì
Data_di_iscrizione
Sì
Nome_Partito
Sì
Totale
6
Partito
Nome
Sede
Totale
Presidenza
Nome_commissione
Nome_partito
Totale
Commissione
Nome_commissione
Frequenza
Totale
Esercizi FP
Sì
Sì
2
Sì
Sì
Sì
Sì
2
Sì
3
79
FTR per EQ (lato output: 1 per ogni ILF o EIF referenziato)
Cerca
Cerca
Deputato Partito
Deputato, Iscritto
Partito
Presidenza
Commissione
Totale
Esercizi FP
Sì
Sì
Sì
2
1
Interroga Elenca
Presiden Presiden
za
ze
Sì
Sì
Sì
3
Sì
Sì
Sì
3
80