Paola Magillo, Univestita' di Genova,
Corso di Programmazione II per SMID, a.a. 2009-2010.
Laboratorio 07:
ESERCIZI SUL CASO DI STUDIO DATA BASE ABBONAMENTI - PARTE I
In questi esercizi vediamo alcune delle classi che fanno parte
dell'applicazione Java usata poi per l'esame
(vedere lezione 12).
1) Scaricare il materiale
Prendere le classi:
Oppure prenderle tutte insieme in formato .zip:
Mettere tutti questi file in una directory.
Prendere anche il data base di esempio, directory Pippo, che viene
qui fornito in formato .zip:
E decomprimerlo mettendo il file risultante nella stessa directory.
2) Generare la documentazione
Generare con javadoc la documentazione di tutte queste classi.
Basta metterle tutte nella directory corrente e poi lanciare
javadoc *.java.
Visualizzare la documentazione. Basta cliccare per aprirlo sul file
principale di quelli generati da javadoc, che si chiama index.html
(si trova nella directory corrente).
4) Esercizio facile
Scrivere una classe che ha un main nel quale:
- crea una persona,
- crea un abbonamento,
- costruisce con questi un abbonato,
- lo scrive su un file,
- lo rilegge dal file
- e lo scrive su standard output.
(per la lettura/scrittura usare la classe LeggiScriviAbbonati).
5) Esercizio medio
Per provare come funziona la ricerca nel data base, scrivere un
main (nella classe DataBase o in una nuova classe separata)
che esegue le seguenti operazioni:
-
Crea un data base caricandolo dalla directory Pippo
-
Carica tutto il contenuto del data base (chiamare la funzione "carica"
con criterio di ricerca che non specifica nulla, quest'ultimo e'
quello che risulta dal costruttore della classe Criterio).
-
Scorre l'array dei risultati e li stampa tutti su standard output
(usare la classe LeggiScriviAbbonati, ricorcarsi di separare
in qualche modo le stampe dei vari attributi, es. scrivendo
"Abbonato n.X su Y abbonati presenti:", con X=numero d'ordine
di questo abbonato e Y=numero abbonati.
Provare poi a modificare impostando nel criterio qualche campo,
per es. la durata o la categoria di abbonamento.
6) Esercizio serio su utente abbonato
Scrivere un main per la classe UtenteAbbonato, che esegua le
seguenti operazioni (ved. anche dispense,
lezione 12):
-
Guarda quanti parametri ci sono sulla command line (basta
guardare args.length)
-
Se non e' esattamente uno, esce mostrando messaggio di errore.
-
Se e' uno, lo usa come nome della directory contenente il data base,
carica le informazioni del data base (basta costruire un
UtenteAbbonato passando il nome dir come parametro).
-
Chiede da standard input cognome, nome, anno di nascita e password
da usare per accedere al database, e li memorizza in apposite variabili.
-
Chiede accesso al data base (la funzione apposita
carica anche i dati dell'abbonato se stesso).
-
Stampa su standard output tale abbonato.
-
Chiede da standard input nuovo email e lo memorizza.
-
Cambia email dell'abbonato.
-
Salva nel data base l'abbonato cosi' modificato.
7) Esercizio serio su utente gestore
Scrivere un main per la classe UtenteGestore, che esegua le
seguenti operazioni (ved. anche dispense,
lezione 12):
-
Guarda quanti parametri ci sono sulla command line (basta
guardare args.length)
-
Se non e' esattamente uno, esce mostrando messaggio di errore.
-
Se e' uno, lo usa come nome della directory contenente il data base,
carica le informazioni del data base (basta costruire un
UtenteGestore passando il nome dir come parametro).
-
Crea un nuovo abbonato e lo salva.
-
Crea un criterio di ricerca e ne imposta alcuni campi (a piacere,
potete poi provare a variare)
-
Effettua una ricerca nel data base con quel criterio.
-
Stampa su standard output tutti gli abbonati trovati.