Progetto Agenda appuntamenti (ile zip)


Salve a tutti! Piccolo favore: io devo preparare il progetto per l'esame di Laboratorio di Programmazione 2 (nome più corto no, maledetti loro) e questo deve seguire le seguenti regole.
Io ho deciso di fare il progetto per un'agenda appuntamenti (quello da fare lo vedete sotto).
Ora. Il progetto è in parte fatto, devo solo risolvere alcuni piccoli problemini (Ma per questo Ho già chiesto aiuto negli altri post) e finire alcune cose, ma in linea di massima è questo.
Ora, volevo chiedervi.....Secondo voi, sto procedendo nel verso giusto, ho dimenticato di fare qualcosa di importante, è impostato bene?
Insomma, mi piacerebbe sapere cosa ne pensate, se è semplice, se per un esame può andare bene...queste cose qui insomma!
Il progetto è allegato a questo post non è neanche tanto pesante e non vi costa nulla scaricarlo, su forza, consigliatemi e ditemi vi prego!
:disperata:
Dimenticavo! Per far partire il programma basta far partire il file Index.java che si trova nella cartella presentation

Tanto so che nessuno darà uno sguardo

Requisiti generali del progetto:

Il progetto, scelto tra una lista di progetti proposti dal docente (la lista con la relativa
descrizione dei requisiti sarà pubblicata sul sito del corso) o su una tematica
concordata con il docente, dovrà rispettare i seguenti requisiti generali:
? Interfaccia utente grafica che soddisfi i requisiti minimi di usabilità presentati nel
corso
? Robusta architettura ad oggetti – oggetti ben definiti, interfacce razionali,
incapsulamento dati e metodi efficace, uso efficace delle librerie di classi, etc.
? Architettura a 3 livelli: Presentation Layer, Business Layer e Data Layer – i livelli
devono essere ben separati e con interfacce chiare.
? Utilizzo di opportune strutture dati per la memorizzazione dei dati durante
l’esecuzione (esplicitare nella relazione le motivazioni della scelta fatta)
? Gestione della scrittura/lettura da file – memorizzazione persistente dei dati in
files

Traccia No. 1 Agenda Appuntamenti
Progettare ed implementare un agenda di appuntamenti che permetta le seguenti
operazioni:
- Inserimento ordinato (temporale) di un appuntamento (data, ora, oggetto, luogo
etc…)
- Ricerca di un appuntamento (chiave di ricerca dell’ordinamento) e visualizzazione
della informazione dell’appuntamento
- Cancellazione di un appuntamento
- Visualizzazione ordinata (per settimana, per mese, per anno) dell’agenda
- Salva agenda su file
- Leggi agenda da file
- Implementare i metodi Ricerca e Cancellazione su diverse chiave di ricerca e su
intervalli temporali impostati dall’utente. Visualizzare i risultati
Definire ed implementare opportune regole di funzionamento del sistema (business rules)