1. TEST
Ingegneria del Software a.a. 2007-2008
Corso di Laurea: informatica e tecnologie per la produzione del software
1
2. Sommario
N.B. Laddove alcune sezioni non siano previste e/o richieste indicare
esplicitamente la non applicabilità della sezione (ad esempio con l’etichetta
“NON APPLICABILE”)
1.2 Report “Analisi del tipo di test”
Componente/ Tipo Operazione Numero Tipo Test
Classe Component Ciclomati
e/Classe co
Amministratore Sorgente Amministratore() 0-1+2=1 funzionale
Amministratore(ID,Use
rname,Password)
Amministratore(Usern
ame,Passowrd)
setID(ID)
setUsername(Usernam
e)
setPassword(Password)
getID()
getUsername()
getPassword()
Aula Sorgente Aula() 0-1+2=1 Funzionale
Aula(ID,Nome,Piano,Ca
pienza,Locazione,Tipo
logia)
Aula(Nome,Piano,Loca
zione,Tipologia,Capie
nza)
setID(ID)
setCapienza(Capienza)
setLocazione(Locazion
e)
. 2
30. Classe:BusinessDelegate
Operazione Visualizzazionegenerale(Object[] contenuto,ArrayList<String>
listaAule,Date giorno)
Codice:
GestorePrenotazione temp=new GestorePrenotazione();
GestoreAule temp2=new GestoreAule(); A
GestoreDocente temp3=new GestoreDocente();
int[] IDAule=new int[listaaule.size()];
for(int i=0; i<listaaule.size();i++){ B
IDAule[i]= temp2.prelevaIDAula(listaaule.get(i));C
}
for(int j=0;j<IDAule.length;j++){ D
Time orarioattuale=new Time(8, 30, 0); E
Time orariofinale = new Time((orarioattuale.getHours()+1), 30, 0);
for(int h=0;h<10;h++){ F
if(temp.verificapresenzaprenotazione(IDAule[j],orarioattuale,orarioG
finale,giorno)){
if(temp.verificaPrenotazioneDocente(temp3.prelievoIDDocente(u
sernamev,passwordv),IDAule[j],orarioattuale,orariofinale,gior H
no))
contenuto[h][j+1]="Prenotato*";
else
contenuto[h][j+1]="Prenotato"; I
}
else
contenuto[h][j+1]="Libero"; L
if(h==4){ M
orarioattuale.setHours(14);
N
orariofinale.setHours(15);
}
else{
orarioattuale.setHours(orariofinale.getHours()); O
orariofinale.setHours(orarioattuale.getHours()+1);}
} P
Q
}
return contenuto;R
}
Grafo
A
B
. 30
E
D
R H N
G C
P
F
IM O
L Q
31. Numero Degli Archi:21
Numero dei Nodi:16
Numero Ciclomatico:N°Archi-N°Nodi+2=21-16+2=7
2.1.1 Identificazione percorsi linearmente indipendenti
Percorsi:
P1:A,B,C,D,E,F,G,H,M,N,P,Q,R
. 31
32. (Maggior Numero di Punti di decisione con scelta in H-N)
P2:A,B,C,D,E,F,G,H,M,O,P,Q,R
(Maggior Numero di Punti di decisione con scelta in H-O)
P3:A,B,C,D,E,F,G,I,M,N,P,Q,R
(Maggior Numero di Punti di decisione con scelta in I-N)
P4: A,B,C,D,E,F,G,I,M,O,P,Q,R
(Maggior Numero di Punti di decisione con scelta in I-O)
P5:A,B,C,D,E,F,L,M,N,P,Q
(diversa scelta rispetto al punto di decisione F-N)
P6: A,B,C,D,E,F,L,M,O,P,Q
(diversa scelta rispetto al punto di decisione F-O)
P7:A,B,D,R
(diversa scelta rispetto al punto di decisione B)
2.1.2 Progettazione casi di test
Modalità:assegnazione agli input valori tali da attivare tutti i percorsi
linearmente indipendenti.
I percorsi sono attraversati in base ai seguenti valori di input:
• Listaaule.size()==0 (nodo B)
o Attiva P7, quando è vero
o Attiva P1,P2,P3,P4,P5,P6 quando è falso
• Temp.verificapresenzaprenotazione(IdAule[j],orario attuale,orario
finale,giorno)==true(nodo F)
o Attiva P1,P2,P3,P4 quando è vero
o Attiva P5,P6 quando è falso
• Temp.verificaprenotazioneDocente(IDDocente,IDAule[j],orario Attuale,orario
Finale,Giorno)==true (nodo G)
o Attiva P1,P2 quando è vero
o Attiva P3,P4 quando è falso
• h==4 (nodo M)
o Attiva P1,P3,P5 quando è vero
. 32
33. o Attiva P2,P4,P6 quando è falso
Le variabili da cui dipendono le attivazioni
sono(h,temp.verificaPrenotazioneDocente(IDDocente,IDaule[j],orario
attuale,orario Finale,giorno),
Temp.verificapresenzaprenotazione(IdAule[j],orario attuale,orario
finale,giorno), ListaAule.size())
V1:attivazione P1
(<>4,vero,vero,<>0)
V2:attivazione P2
(4,vero,vero,<>0)
V3:attivazione P3
(<>4,vero,falso,<>0)
V4:attivazione P4
(4,vero,falso,<>0)
V5:attivazione P5
(<>4,falso,falso,<>0)
V6:attivazione P6
(4,falso,falso,<>0)
V7:attivazione P7
(0,true,true,0)
2.1.3 Piano di Test
Id TC. Descrizio Dipendenze Stato del Input Valore Valore Impatto
ne Sistema Atteso Ottenuto
#1 Compilazio Nessuna DB V7 Matrice Matrice Nessuno
ne della presente vuota Vuota
matrice che
notifica le
Prenotazion
i con
Mancanza
Di Aule nel
DB.
#2 Compilazio Nessuna DB V5 Matrice Matrice Nessuno
ne della presente completata completata
matrice che con valori con valori
notifica le “Libero” in “Libero”in
. 33
34. prenotazion ogni sua ogni sua
i con component component
presenza di e nella e nella
Aule nel DB fascia fascia
e mancanza orari orari
di 8.30-13.3 8.30-13.3
prenotazion 0 0
i e Orario
Compreso
tra le
8.30-13.30
.
#3 Compilazio Nessuna DB V6 Matrice Matrice Nessuna
ne della presente completata completata
matrice che con valori con valori
notifica le “Libero “Libero”
prenotazion nella nella
i con fascia fascia
presenza di orari orari
Aule nel DB 14.30-19. 14.30-19.
e mancanza 30 30
di
prenotazion
i e orario
compreso
tra le
14.30-19.3
0
#4 Compilazio Nessuna DB V3 Matrice Matrice Nessuna
ne della completata completata
presente
matrice che con valori con valori
notifica le “Prenotato” “Prenotato”
prenotazion nella nella
i con fascia fascia
presenza di orari orari
Aule nel DB 8.30-13.3 8.30-13.3
e presenza 0 0
di
prenotazion
i non del
docente
loggato e
orario
compreso
tra le
8.30-13.30
.
#5 Compilazio nessuna DB V4 Matrice Matrice Nessuna
ne della presente completata completata
matrice che con valore con valore
notifica le “Prenotato” “Prenotato”
prenotazion nella nella
i con fascia fascia
presenza di orari orari
Aule nel DB 14.30-19. 14.30-19.
. 34
35. e presenza 30 30
di
prenotazion
i non del
docente
loggato e
orario
compreso
tra le
14.30-19.3
0.
#6 Compilazio Nessuna DB V1 Matrice Matrice nessuna
ne della Presente completata completata
matrice che con valore con valore
notifica le “Prenotato “Prenotato
prenotazion *” nella *” nella
i con fascia fascia
presenza di orari orari
Aule nel DB 8.30-13.3 8.30-13.3
e presenza 0 0
di
prenotazion
i del
docente
loggato e
orario
compreso
tra le
8.30-13.30
.
#7 Compilazio nessuna DB V2 Matrice Matrice nessuna
ne della Presente completata completata
matrice che con valore con valore
notifica le “Prenotato “Prenotato
prenotazion *” nella *” nella
i con fascia fascia
presenza di orari orari
Aule nel DB 14.30-19. 14.30-19.
e presenza 30 30
di
prenotazion
i del
docente
loggato e
orario
compreso
tra le
14.30-19.3
0
Classe:InterfacciaGestionePrenotazione
Metodo:Interfaccia Gestione PrenotazioneTablePanel()
Codice:
ArrayList<String> listaaule=FrontController.listaAule();
A
. 35
36. Object[][] contenuto;
String[] nomecolonne;
if(listaaule.size()!=0){
nomecolonne=new String[(listaaule.size()+1)];
contenuto=new Object[10][(listaaule.size()+1)]; B
}
else{
nomecolonne=new String[2];
contenuto=new Object[10][2]; C
}
nomecolonne[0]="Orari"; D
if(listaaule.size()!=0){
for(int i=0;i<listaaule.size();i++){ E
nomecolonne[i+1]=listaaule.get(i); F
}
}
else
G
nomecolonne[1]="";
contenuto[0][0]="8.30-9.30";
contenuto[1][0]="9.30-10.30";
contenuto[2][0]="10.30-11.30";
contenuto[3][0]="11.30-12.30";
contenuto[4][0]="12.30-13.30"; H
contenuto[5][0]="14.30-15.30";
contenuto[6][0]="15.30-16.30";
contenuto[7][0]="16.30-17.30";
contenuto[8][0]="17.30-18.30";
contenuto[9][0]="18.30-19.30";
if(listaaule.size()!=0)
contenuto=FrontController.visualizzazioneGenerale(contenuto,listaa I
ule,giorno);
tabellaprenotazioni=new DefaultTableModel();
tabellaprenotazioni.setDataVector(contenuto,nomecolonne);
JTable prenotazioniGenerali=new JTable(tabellaprenotazioni); L
prenotazioniGenerali.disable();
if(listaaule.size()!=0){
prenotazioniGenerali.enable(); M
for(int i=0; i<listaaule.size();i++){
prenotazioniGenerali.getColumn(listaaule.get(i)).setCellRende
rer(new ButtonRenderer()); N
prenotazioniGenerali.getColumn(listaaule.get(i)).setCellEdito
r(new ButtonEditor(new JCheckBox()));
}
}
if(giorno.before(giornoOdierno)) O
P
prenotazioniGenerali.enable(false);
JScrollPane scrollpane=new JScrollPane(prenotazioniGenerali);
prenotazioniGenerali.setFillsViewportHeight(true); Q
add(scrollpane);
}
Grafo:
A
. 36
B
NP
F
E
M
I LD
HO
Q C
G
37. Numero Archi:21
Numero Nodi:15
Numero Ciclomatico:21-15+2=8
2.1.1 Identificazione percorsi linearmente indipendenti
Percorsi:
P1:A,B,D,E,F,H,I,L,M,N,O,P,Q
(Maggior Numero di Punti Di decisione)
. 37
38. P2: A,B,D,E,F,H,I,L,M,N,O,Q
(diversa scelta nel punto di decisione O)
P3:A,C,D,G,H,L,O,P,Q
(diversa scelta nel punto di decisione A)
P4: A,C,D,G,H,L,O,Q
(diversa scelta nel punto di decisione A-O)
2.1.2 Progettazione casi di test
Modalità:assegnazione agli input valori tali da attivare tutti i percorsi
linearmente indipendenti.
I percorsi sono attraversati in base ai seguenti valori di input:
• Listaaule.size()!=0
o Attiva P1,P2 ,quando è vero
o Attiva P3,P4 ,quando è falso
• Giorno.before(giornoOdierno)
o Attiva P1,P3 quando è vero
o Attiva P2,P4 quando è falso
Le variabili da cui dipendono le attivazioni
sono(ListaAule.size(),giorno.before(giornoOdierno))
V1:attivazione P1
(<>0,vero)
V2:attivazione P2
(<>0,falso)
V3:attivazione P3
(0,vero)
V4:attivazione P4
(0,falso)
2.1.3 Piano di Test
. 38
39. Id TC. Descrizio Dipendenze Stato del Input Valore Valore Impatto
ne Sistema Atteso Ottenuto
#1 Creazione Nessuna DB V2 Interfaccia Interfaccia Nessuno
Interfaccia presente creata con creata con
di visualizzaz visualizzaz
visualizzazi ione della ione della
one della situazione situazione
situazione delle aule. delle aule.
delle aule Con
Con
in data tabella
tabella
odierna o attiva.
attiva.
successiva.
Aule
presenti nel
sistema.
#2 Creazione Nessuna DB V1 Interfaccia Interfaccia Nessuno
Interfaccia presente creata con creata con
di visualizzaz visualizzaz
visualizzazi ione della ione della
one della situazione situazione
situazione delle aule. delle aule.
delle aule Con Con
in data tabella tabella
precedente disattiva. disattiva.
a quella
odierna.
Aule
presenti nel
sistema
#3 Creazione Nessuna DB V3 Interfaccia Interfaccia Nessuna
Interfaccia presente creata con creata con
di visualizzaz visualizzaz
visualizzazi ione di ione di
one della tabella tabella
situazione vuota e vuota e
delle aule attiva. attiva.
in data
successiva
o odierna.
Aule non
presenti nel
sistema
#4 Creazione Nessuna DB V4 Interfaccia Interfaccia Nessuna
Interfaccia creata con creata con
presente
di visualizzaz visualizzaz
visualizzazi ione di ione di
one della tabella tabella
situazione vuota e vuota e
delle aule disattiva. disattiva.
in data
precedente
a quella
odierna.
. 39
40. Aule non
presenti nel
sistema
2.2 Test funzionale
Funzioni:CRUD(Create,Read,Update,Delete)
Vincoli definiti per l’entità Amministratore:
• CodiceFiscale:stringa alfanumerica di lunghezza massima 16;
• Username:stringa di caratteri di lunghezza massima 20;
• Password:stringa di caratteri di lunghezza massima 20;
. 40
41. 2.2.1 Identificazione classi di equivalenza
Dati Classi di Equivalenza
CE VALIDE CE NON VALIDE
Codice Fiscale CE 1 Lunghezza CE 2 Lunghezza
Stringa <=16 Stringa >16
Username CE 3 Lunghezza CE 4 Lunghezza
Stringa <=20 Stringa >20
Password CE 5 Lunghezza CE 6 Lunghezza
Stringa <=20 Stringa >20
2.2.2 Progettazione dei Test
Dati TC1 TC2 TC3 TC4
Codice LTMGNZ86T21 LTMGNZ86T2 LTMGNZ86T2 LTMGNZ86T21
Fiscale L109J 1L109JM 1L109J L109J
Username Boom2112 Boom2112 IgnazioAltoma Boom2112
re21121986
Password baubau baubau baubau IgnazioAltoma
re21121986
Classi CE 1 ,CE 3 ,CE 5 CE 2 ,CE 3 ,CE 5 CE 1 ,CE 4 ,CE 5 CE 1 ,CE 3 ,CE 6
coperte
2.2.3 Piano dei Test
Id TC. Descrizione Dip. Stato del Input Valore Valore Impatti
Sis. Atteso Ottenuto
#1 Inserimento Nessuna Amministr Dati Inserime Inserimento #2,#3,#4,
Corretto dei atore non Presenti nto di un di un nuovo #5
dati di un presente nel TC1 nuovo amministrat
amministratore Amminist ore
non presente ratore
#2 Inserimento #1 Amministr Dati Messaggi Messaggio Nessuno
. 41
42. corretto dei atore presenti o di di notifica
dati di un presente nel TC1 notifica di
amministratore di amministrat
presente amminist ore già
ratore presente
già
presente
#3 Inserimento #1 Amministr Dati Messaggi Messaggio Nessuno
dati di un atore presenti o di di notifica
amministratore presente nel TC2 notifica di
con lunghezza di Amministra
codice Amminist tore già
Fiscale>lunghe ratore presente
zza massima già
presente
#4 Inserimento #1 Amministr Dati Messaggi Messaggio Nessuno
dati di un atore presenti o di di notifica
amministratore presente nel TC3 notifica di
con lunghezza di amministrat
username>lung Amminist ore già
hezza massima ratore presente
presente nel sistema
nel
sistema
#5 Inserimento #1 Amministr Dati Messaggi Messaggio nessuno
dati di un atore presenti o di di notifica
amministratore presente in TC4 notifica di
con lunghezza nel di Amministra
password>lung sistema Amminist tore
hezza massima ratore presente
presente nel sistema
nel
sistema
#6 Inserimento Nessuna Amministr Dati Impossib Impossibilit Nessuno
dati di un atore non prensenti ilità di à di
amministratore presente in TC2 inserire inserire
non presente stringhe stringhe
con lunghezza che che ecceda
Codice ecceda la la
Fiscale>lunghe lunghezz lunghezza
zza Massima a massima di
massima codice
stringa fiscale
eccessiva
.
#7 Inserimento nessuna Amministr Dati Impossib Impossibilit Nessuno
dati di un atore non presenti ilità di à di
amministratore presente in TC3 inserire inserire
non presente stringhe stringhe
con lunghezza che che ecceda
username>lung ecceda la la
hezza Massima lunghezz lunghezza
a massima
massima della
. 42
43. della stringa.
stringa
#8 Inserimento nessuna Amministr Dati Impossib Impossibilit Nessuno
dati di un atore non presenti ilità di à di
amministratore presente in TC4 inserire inserire
non presente stringhe stringhe
con lunghezza che che ecceda
password>lung ecceda la la
hezza Massima lunghezz lunghezza
a massima
massima della
della stringa.
stringa
#9 Modifica dati nessuna Amministr Dati Messaggi Messaggio Nessuno
Amministratore atore non presenti o di di notifica
con vecchi dati presente in TC1 notifica di non
corrispondenti nel di non rilevazioni
a un sistema. rilevazio dei dati
amministratore ni dei dell’ammini
non presente dati stratore.
nel sistema dell’amm
inistrator
e.
#10 Modifica dati nessuno Amministr Dati Modifica Modifica Nessuno
amministratore atore presenti dei dati dei dati
con vecchi dati presente in TC1 dell’amm dell’ammini
corrispondenti nel inistrator stratore
a un sistema e trovato trovato con
amministratore con i i nuovi dati
. nuovi
dati
#11 Eliminazione di nessuno Amministr Dati Messaggi Messaggio Nessuno
un atore non presenti o di di notifica
Amministratore presente in TC1 notifica di
non presente nel di mancanza
nel sistema sistema mancanz dell’ammini
a stratore.
dell’amm
inistrator
e.
#12 Eliminazione di Nessuno Amministr Dati Eliminazi Eliminazion Nessuno
un atore presenti one e
amministratore presente in TC1 Amminist Amministra
presente nel nel ratore tore dal
sistema sistema dal sistema
sistema
#13 Modifica dati Nessuno Amministr Dati Messaggi Messaggio Nessuno
amministratore atore presenti o di di notifica
con vecchi dati presente in TC3 notifica di
e nel di amministrat
username>lung sistema amminist ore non
hezza massima ratore rilevato
non
. 43
44. rilevato.
#14 Modifica dati Nessuno Amministr Dati Messaggi Messaggio Nessuno
Amministratore atore presenti o di di notifica
con vecchi dati presente in TC4 notifica di
e nel di amministrat
password>lung sistema amminist ore non
hezza massima ratore rilevato
non
rilevato.
#15 Eliminazione Nessuno Amministr Dati Messaggi Messaggio Nessuno
Dati atore presenti o di di notifica
amministratore presente in TC3 notifica che di
con nel di amministrat
username>lung sistema amminist ore non
hezza massima ratore rilevato
non
rilevato.
#16 Eliminazione Nessuno Amministr Dati Messaggi Messaggio Nessuno
dati atore presenti o di di notifica
Amministratore presente in TC4 notifica che di
con nel di amministrat
password>lung sistema amminist ore non
hezza massima ratore rilevato.
non
rilevato.
#17 Inserimento #1 Amministr Dati Messaggi Messaggio Nessuno
dati di un atore non presenti o di di notifica
amministratore presente nel TC1 notifica di campo
con campo nel con di campo vuoto
codice Fiscale sistema codice vuoto
vuoto fiscale
vuoto
#18 Inserimento #1 Amministr Dati Messaggi Messaggio Nessuno
dati di un atore non presenti o di di notifica
amministratore presente nel TC1 notifica di campo
con campo nel con di campo vuoto
username sistema username vuoto
vuoto vuoto
#19 Inserimento #1 Amministr Dati Messaggi Messaggio Nessuno
dati di un atore non presenti o di di notifica
amministratore presente nel TC1 notifica di campo
con campo nel con di campo vuoto
password sistema password vuoto
vuoto vuota
. 44
45. Funzioni: CRUD(Create,Read, Update, Delete)
Vincoli definiti per l’entità Prenotazione:
• Giorno,Data in formato giorno/mese/anno;
• Note,stringa di caratteri con lunghezza massima 65.535
• Ora inizio, orario in formato ore:minuti:secondi
• Ora finale,orario in formato ore:minuti:secondi
2.2.1 Identificazione classi di equivalenza
Dati Classi di Equivalenza
CE VALIDE CE NON VALIDE
Giorno CE 1 Data in CE 2 Data non in
formato gg- formato gg-
MM-aaaa MM-aaaa
Note CE 3 Lunghezza CE 4 Lunghezza
Stringa Stringa
<65535 >65535
Ora inizio CE 5 Orario in CE 6 Orario non in
formato formato
hh:mm:ss hh:mm:ss
Ora fine CE 7 Orario in CE 8 Orario non in
formato formato
hh:mm:ss hh:mm:ss
2.2.2 Progettazione dei Test
Dati TC1 TC2 TC3 TC4
Giorno 01-01-2009 2009-01-01 01-01-2009 01-01-2009
Note Ingegneria del Ingegneria del Inserimento Ingegneria del
SW SW stringa con
. 45
46. numero di SW
caratteri
>65.535
Ora inizio 08:30:00 08:30:00 08:30:00 30:30:00
Ora fine 09:30:00 09:30:00 09:30:00 09:30:00
Classi CE 1 ,CE 3 ,CE 5 ,CE 7 CE 2 ,CE 3 ,CE 5 ,CE CE 1 ,CE 4 ,CE 5 ,CE CE 1 ,CE 3 ,CE 6 ,CE
coperte 7 7 7
Dati TC5
Giorno 01-01-2009
Note Ingegneria del
SW
Ora inizio 08:30:00
Ora fine 30:30:00
Classi CE 1 ,CE 3 ,CE 5 ,CE 8
coperte
2.2.3 Piano dei Test
Id TC. Descrizione Dip. Stato del Input Valore Valore Impatti
Sis. Atteso Ottenuto
#1 Inserimento Nessuna Prenotazion Dati Inserime Inserimento #2,#3,#4,
nuova e non presenti in nto prenotazion #5,#6
prenotazione presente TC1 Prenotazi e.
con one.
prenotazione
non presente
nel sistema
#2 Inserimento di #1 Prenotazion Dati Messaggi Impossibilit Nessuna
una e presente presenti in o di à di
prenotazione TC1 notifica verificarsi
esistente di della
prenotazi sitauzione
one a causa
presente della natura
del codice
#3 Inserimento di #1 Prenotazion Dati Messaggi Impossibilit Nessuna
una e presente presenti in o di à di
prenotazione TC2 notifica verificarsi
esistente con di della
giorno fuori prenotazi sitauzione
formato. one a causa
presente della natura
. 46
47. del codice
#4 Inserimento di #1 Prenotazion Dati Messaggi Impossibilit nessuna
una e presente presenti in o di à di
prenotazione TC4 notifica verificarsi
con ora inizio di della
fuori formato prenotazi sitauzione
one a causa
presente della natura
del codice
#5 Inserimento di #1 Prenotazion Dati Messaggi Impossibilit Nessuna
una e presente presenti in o di à di
prenotazione TC5 notifica verificarsi
con ora fine di della
fuori formato prenotazi sitauzione
one a causa
presente. della natura
del codice
#6 Inserimento di #1 Prenotazion Dati Messaggi Impossibilit Nessuna
prenotazione e presente presenti in o di à di
con note TC3 notifica effettuare
>lunghezza di la
massima prenotazi prenotazion
one e.
presente
#7 Modifica di una Nessuna Prenotazion DatiPresen Modifica Modifica nessuna
prenotazione e Esistente ti in TC1 della della
esistente. prenotazi prenotazion
one e Esistente
Esistene
#8 Modifica di una Nessuna Prenotazion Dati Messaggi Impossibilit nessuna
prenotazione e non Presenti in o di à di
non esistene esistente TC1 notifica verificarsi
di della
impossib sitauzione
ilità di a causa
effettuar della natura
e la del codice
prenotazi
one
#9 Modifica di una Nessuna Prenotazion Dati Messaggi Impossibilit nessuna
prenotazione e Presente Presenti in o di à di
esistene TC2 notifica verificarsi
inserendo un di giorno della
giorno fuori in sitauzione
fomato formato a causa
errato della natura
del codice
#10 Modifica di una Nessuna Prenotazion Dati Messaggi Impossibilit nessuna
prenotazione e esistente Presenti in o di à di
esistente TC4 notifica verificarsi
inserendo un di orario della
orario di inizio inizio in sitauzione
fuori formato formato a causa
. 47