PRIMO PROGETTO DI INTERFACCE - A.A. 2001-2002

PRIMO PROGETTO DI RECUPERO

CORSO DI INTERFACCE - A.A. 2001-2002

OBIETTIVO

Realizzare un'interfaccia per una applicazione che consente di effettuare ricerche in una base di dati di opere d'arte.

La base di dati consiste in un acollezione di elementi strutturati come terne (autore, titolo, descrizione) ciascuna corrispondente ad un'opera d'arte.

La ricerca e' effettuata immettendo una parola (singola!) da cercare e specificando su quale o quali campi campo va cercata (almeno uno fra autore, titolo e descrizione). Si sceglie inoltre un livello di precisione della ricerca, rappresentato da un numero intero non negativo:

La ricerca ritorna tutte le terne che hanno nel campo o nei campi specificati almeno una parola che, al livello di precisione specificato, corrisponde a quella cercata.

FUNZIONALITA' DELL'INTERFACCIA

L'interfaccia deve consentire le seguenti operazioni applicative:

oltre ovviamente alle funzioni standard (uscita ecc.), e a tutte quelle che ritenete opportune.

In ogni momento deve essere possibile svuotare la base di dati e caricare un nuovo contenuto da un altro file.

In ogni momento in cui la base di dati non e' vuota deve essere possibile effettuare una ricerca.

L'utente puo' decidere di guardare solo alcune delle terne risultanti dalla ricerca, non deve essere obbligato a vederle tutte prima di effettuare una nuova ricerca.

Per tutto il resto e' lasciata piena liberta' di scelta, purche' l'interfaccia risultante si comporti in modo ragionevole e prevedibile.

MATERIALE FORNITO

(1) Classi da usare

Sono fornite le classi

Sono contenutte nel file DBManager.java.

Queste classi costituiscono l'applicazione, VANNO USATE COME SONO e NON devono essere modificate!

La classe DBManager fornisce i seguenti metodi pubblici:

La classe DBSearchResult fornisce i seguenti metodi pubblici:

Per effettuare una ricerca si procede cosi':

(2) File di input

Il contenuto della base di dati e' specificato in un file di estensione ".db" con il seguente formato:

dove N e' il numero di terne. Notare che le tre frasi (autore, titolo, descrizione) che definiscono ciascuna terna sono delimitate da parentesi quadre.

Ne e' dato uno di esempio: prova.db (ricavato dalla documentazione presente sul sito degli Uffizi di Firenze).
Altri potete scriverli voi stessi.

RACCOMANDAZIONI

Questo e' un progetto di interfacce grafiche. Pertanto, sara' tenuto conto non solo del fatto che tutte le funzioni richieste siano presenti nell'interfaccia sviluppata, ma anche e di quanto facile e gradevole risulta l'uso dell'interfaccia stessa per l'utente.

MATERIALE DA CONSEGNARE

L'indirizzo di posta elettronica a cui spedire e' magillo@disi.unige.it. Indicare chiaramente nel messaggio il nome dei componenti del gruppo e l'elenco dei file inviati. NON reinviare i tre file dei filtri che fanno parte del materiale fornito.