Programmazione II 2000/2001

Agenda elettronica

Volete realizzare un programma che rappresenti un'agenda elettronica personalizzata. Lo scopo fondamentale dell'agenda consiste nel ricordare all'utente appuntamenti e ricorrenze (compleanni, anniversari ecc.).

Chiamiamo con il termine appuntamento un evento che si verifica una sola volta, in una data e ora precise. Una ricorrenza è invece un evento periodico, che si verifica in un dato giorno della settimana, del mese o dell'anno; a una ricorrenza può essere o non essere associata un'ora precisa. Useremo il termine generico impegno per indicare un appuntamento o una ricorrenza.

Un impegno può avere associata una durata, cioè un numero di ore per cui durerà. Se così non è, l'impegno sarà considerato puntiforme (cioè di durata pari a zero). Un impegno può essere di vari tipi (p.es., di lavoro, personale, famigliare ecc.).

A ciascun impegno può essere associato un allarme, che scatta un certo numero di ore/giorni/settimane prima dell'impegno.

Formalizzate il problema in termini di classi ed ereditarietà, indicando quali classi utilizzereste per fornire una (parziale) soluzione e quali metodi e costruttori prevedete di realizzare per ciascuna classe.

Tentate di implementare una parte significativa del progetto in Java.


Paolo Boldi