Capitolo 3. Progettazione

Sommario

L'interfaccia grafica
Vista statica del sistema
Gestore Docente
Gestore Studente
Gestore Liste
Lista Esame
Informazioni Lista
Scheduler
Vista dinamica del sistema
Diagramma di Sequenza "Crea Lista"
Diagramma di Sequenza e "Cancella Lista"
Diagramma di Sequenza "Chiusura Lista"
Diagramma di Sequenza "Iscrizione Esame"

Durante la progettazione vengono definite tutte le funzionalità del sistema software e come queste devono essere implementate. Come base di questa attività c'è tutto il lavoro svolto nella fase di analisi più altre conoscenze aggiuntive facenti parte dello spazio delle soluzioni. Ricordiamo che il modello di progettazione si basa sul modello di analisi, c'è una dipendenza di "origine". Al momento di iniziare l'attività di progettazione, abbiamo deciso di "fissare" il modello di analisi e ne abbiamo effettuato una copia, successivamente l'abbiamo trasformata, ampliandola, nel modello di progettazione. Eravamo consapevoli che applicando tale metodo avremmo tenuto i due modelli non allineati, ma abbiamo preferito seguire questa strategia in quanto permette di evidenziare meglio le differenze presenti tra i due.

Tutte le classi importate dal progetto della Zuppiroli(classi comuni) sono state evidenziate in un altro colore nei diagrammi presenti nel modello.

L'interfaccia grafica

Progettare un'interfaccia grafica efficiente e che risponda ai requisiti dell'utente è un compito molto difficile; non avendo una preparazione adeguata in fatto di progettazione di GUI abbiamo preferito seguire una linea minimalista, ma efficace per il nostro scopo. Gli utenti utilizzatori del sistema, siano essi studenti o docenti, avranno una semplice interfaccia a bottoni, ognuno del quale si occupa di una funzione primaria. Un docente avrà un interfaccia con 4 pulsanti: "Crea Lista", "Cancella Lista", "Modifica Lista", "Stampa Iscritti Lista". Mentre uno studente avrà un'interfaccia a 3 pulsanti: "Iscrizione Esame", "Iscrizioni Effettuate", "Cancellazione Iscrizione".

Abbiamo previsto l'esistenza di una classe astratta, che si occupa di definire alcune funzionalità di base previste in entrambe le GUI, quali l'aspetto generale, il comportamento al passaggio del mouse, inoltre, fornisce un contratto che le classi derivate devono rispettare. La classe astratta "InterfacciaGrafica" in particolare definisce i metodi per effettuare il login, per visualizzare a video una lista di esami ed inoltre si occupa di gestire il comportamento del mouse al momento della selezione di una lista presente a video. Le due classi specializzate, una per docente e l'altra per lo studente si occupano di specificare tale comportamento.

Figura 3.1. Interfaccia Grafica

Interfaccia Grafica