Ingegneria Del Software Schedule, Progetto
Transcript of Ingegneria Del Software Schedule, Progetto
PPROGETTOROGETTO DIDI S SISTEMAISTEMAIngegneria del Software a.a. 2007-2008
Corso di Laurea: Informatica e TPS
Sommario
1. ARCHITETTURA....................................................................3
1.1. LIVELLI ARCHITETTURALI..................................................................3 1.2. DIAGRAMMA DELLE COMPONENTI......................................................3 1.3. DIAGRAMMA DI CONFIGURAZIONE.....................................................4 1.4. MODELLO DI DECISIONE...................................................................4
2. PROGETTO DI DETTAGLIO......................................................6
2.1. DIAGRAMMA DELLE CLASSI...............................................................6 2.2. SPECIFICHE DELLE CLASSI................................................................6 2.3. DIAGRAMMI DI SEQUENZA..............................................................43 2.4. MODELLO DI DECISIONE.................................................................43
3. PROGETTO DEI DATI...........................................................47
3.1. DATABASE.....................................................................................47 3.1.1. DIAGRAMMA DELLE DIPENDENZE DEI DATI...................................47 3.1.2. MODELLO DEL DATABASE...........................................................48 3.1.3. DETTAGLIO DEI DATI..................................................................49 3.2. FILE SYSTEM.................................................................................51 3.2.1. GRAMMATICHE FILE XML............................................................51 3.2.2. ALTRI FILE.................................................................................52
4. APPENDICE.......................................................................53
4.1. PATTERN UTILIZZATI......................................................................53 4.2. ALTRO...............................................................................................
54
2
1. A1. ARCHITETTURARCHITETTURA
1.1. Livelli Architetturali1.1. Livelli ArchitetturaliL’architettura del sistema in esame è costituito dai seguenti 3 livelli:
Livello di Presentazione: In questo livello vi sarà la gestione delle interfacce grafiche utente e della logica di navigazione dell'applicazione. E' in comunicazione con il livello di dominio sottostante.
Livello di Dominio:questo livello comprende la logica di business delle funzionalità di dominio. Ed è in diretta comunicazione sia con il livello superiore(livello di Presentazione) sia con il livello sottostante(livello delle sorgenti di dati).
Livello di Sorgente Dati:questo livello gestisce le componenti necessarie a interfacciare il sistema con il database; sono consentite operazioni quali: modifica, creazione, lettura e cancellazione. Comunica direttamente con il livello di dominio.
1.2. Diagramma delle Componenti1.2. Diagramma delle ComponentiIl diagramma delle componenti consente di individuare le componenti che costituiscono il sistema Schedule consentendone una buona modularizzazione, individuandone le interfacce.
Nel nostro diagramma possiamo individuare le componenti di DB Schedule e Gestione Interfacce che sono delle eccezioni rispetto alle linee di prodotto.
Descrizione delle componenti:
Gestore Interfacce:Gestisce le iterazioni dell’utente con le funzionalità del sistema.
Reportistica:Gestisce le funzionalità di reportistica quali stampa e produzione documenti HTML e PDF.
Modulo Consigliato:Gestisce le funzionalità di download del modulo consigliato in formato DOC.
Gestione Docente:Gestisce le funzionalità relative alla gestione del docente.
Gestione Insegnamenti:Gestisce le funzionalità relative alla gestione degli insegnamenti.
Gestione Programmi Didattici:Gestisce le funzionalità relative alla gestione dei Programmi Didattici.
Gestione Prenotazioni:Gestisce le funzionalità relative alla gestione delle prenotazioni.
Gestione Aule: Gestisce le funzionalità relative alla gestione delle aule.
Gestione Amministratore:Gestisce le funzionalità relative alla gestione dell’amministratore.
Gestione Ricevimento:Gestisce le funzionalità relative alla gestione degli orari di ricevimento.
DB Schedule:Gestisce le funzionalità di interfacciamento con il DB dello schedule.
1.3. Diagramma di Configurazione1.3. Diagramma di Configurazione
1.4. Modello di Decisione1.4. Modello di Decisione
Invarianti Varianti
C1 C2 C3 C4 C5 C6 C7 C8
DBSchedule
Gestione Amministratore
Gestione Aule
Gestione Docente
Gestione Insegnamenti
Gestione Programmi
Didattici
Gestione Ricevimento
Reportistica
Modulo Consigliato
Gestione Prenotazioni
Gestione Interfacce
2. P2. PROGETTOROGETTO DIDI D DETTAGLIOETTAGLIO
2.1. Diagramma delle Classi2.1. Diagramma delle ClassiIl diagramma delle classi con relativi metodi e attributi aggiunti possono essere visualizzati nel file diagram_14 della progettazione sotto la sezione “Livello di presentazione”,”Livello di Dominio”,”Livello di sorgente dati”.
2.2. Specifiche delle Classi2.2. Specifiche delle ClassiSono riportate qui di seguito le specifiche delle classi a livello di presentazione.
Nome Classe: Front Controller
Livello Architetturale: Presentazione
Istanzia: Tutte le interfacce
Metodi Pubblici: apriFinestraAutentificazioneUtente ()
apriFinestraEffettuaPrenotazione (Default tablemodel, int row, int column, Date giorno)
apriFinestraEliminaPrenotazione (Default tablemodel, int row, int column, Date giorno)
apriFinestraEliminazione ()
apriFinestraEsportaHTML (ArrayList<String> dati)
apriFinestraEsportaPDF(ArrayList<String> dati)
apriFinestraGestioneAmministratore ()
apriFinestraGestioneAule ()
apriFinestraGestioneDati ()
apriFinestraGestioneDatiPersonaliDocentePerAmministratore ()
apriFinestraGestioneDocente ()
apriFinestraGestioneInsegnamento ()
apriFinestraGestioneRicevimentoPerAmministratore ()
apriFinestraGestionePrenotazione ()
apriFinestraGestioneProgrammiDidattici ()
apriFinestraGestioneSistema ()
apriFinestraInserimentoDatiAula ()
apriFinestraInserimentoDatiPersonali ()
apriFinestraInserimentoNuovoUtente ()
apriFinestraInserimentoOrarioRicevimento (String nomeIns, String CDL)
apriFinestraInserimentoProgrammaDidattico ()
apriFinestraInserisciDatiInsegnamento ()
apriFinestraInsVecchiDati ()
apriFinestraModificaDatiAula (int idAula)
apriFinestraModificaOrarioRicevimento (String nomeIns, String CDL)
apriFinestraModificaDatiInsegnamento (String nomeIns, String CDL
apriFinestraModificaDatiPersonali ()
apriFinestraModificaPrenotazione (Default tableModel, int row, int column, Date giorno)
apriFinestraModificaProgrammaDidattico (String nomePD)
apriFinestraModificaUtente ()
apriFinestraScaricamentoModuloConsigliato ()
apriFinestraStampaDatiDocente ()
apriFinestraStampaDocentiSelezionati (ArrayList<String> idDoc)
apriFinestraStampaInsegnamentiDocente (String idDocente)
apriFinestraStampaOrarioRicevimento ()
apriFinestraStampaOrarioRicevimentoSingoloDocente (String idDoc)
apriFinestraStampaInsegnamentiSelezionati (ArrayList<String> nomeIns, ArrayList<String> CDL)
apriFinestraStampaPrenotazioniAulePerAmministratore ()
apriFinestraStampaPrenotazioniGenerali ()
apriFinestraStampaProgrammaDidattico ()
apriFinestraStampaProgrammiDidatticiPerAmminstratore ()
apriFinestraStampaPropriInsegnamenti ()
apriFinestraStampaRicevimentiSelezionati (ArrayList<String> nomeIns, ArrayList<String> CDL)
apriFinestraStampaSingoloDocente (String idDoc)
apriFinestraStampaTuttiDocenti ()
apriFinestraStampaTuttiInsegnamenti ()
apriFinestraStampaTuttiOrarioRicevimento ()
apriFinestraVisualizzazioneDatiSingolaAula (int idAula)
apriFinestraVisualizzaElencoAule ()
apriFinestraVisualizzaProgrammaDidattico (String nomePD)
apriFinestraVisualizzaSingoloInsegnamento (String nomeIns, String CDL)
apriFinestraVisualizzazionePrenotazioni ()
autentificazione (String username, String password, String tipologia)
avvio ()
confermaDatiEliminazione (String username, String password, String tipologia)
confermaDatiInserimentoNuovoUtente (String codice Fiscale, String username, String password, String tipologia)
confermaDatiInseriti (String nome, String cognome, String dataNascita, String luogoNascita, String dipartimentoDocente, String recapitoTelefonico, String emailDocente, String tipologiaDocente)
confermaDatiInseritiInsegnamento (String nomeIns, String CDL, String CFU)
confermaDatiInseritiProgrammaDidattico (String nomeProgDidattico, String descrizioneProgDidattico, String nomeIns, String CDL)
confermaDatiInseritiOrarioRicevimento (Time orarioInizio, Time orarioFine, String luogoRicevimento. String giorno, String nomeIns, String CDL)
confermaDatiModificati (String username, String password, String tipologia)
confermaDatiModificatiOrarioRicevimento (Time orarioInizio, Time orarioFine, String luogoRicevimento, String giorno, String nomeIns, String CDL)
confermaModificheAula (boolean risultato)
confermaModificaDatiPersonali (String nome, String cognome, String dataNascita, String luogoNascita, String dipartimentoDocente, String recapitoDocente, String emailDocente, String
tipologiaDocente)
confermaModificheInsegnamento (boolean risultato)
confermaModificheProgrammaDidattico/boolean risultato)
confermaPercorsoSalvataggioHTML (String nome, ArrayList<String> dati)
confermaPercorsoSalvataggioPDF (String nome, ArrayList<String> dati)
confermaVecchiDati (String username, String password, String tipologia)
effettuaPrenotazione (String columnName, Date giorno, Time orarioInizio, Time orarioFine, String note)
eliminaPrenotazione (String columnName, Date giorno, Time orarioInizio, Time orarioFine)
listaAule ()
memorizzaAssegnazione (String ID, String CDL, String Nome)
memorizzaAula (String nomeAula, int capienza, String tipologia, int piano, String locazione)
memorizza ModificheAula (int ID, String nomeAula, int capienza, String tipologia, int piano, String locazione)
memorizzaModificheInsegnamento (int ID, String CDL, String Nome, int CFU)
memorizzaModificheProgrammaDidattico (int ID, String Descrizione, String Nome)
modificaPrenotazione (String columnName, Date giorno, Time orarioiniziale, Time orariofinale, String note)
notePrenotazioni (String columnName, Date giorno, Time orarioiniziale, Time orariofinale)
numeroPrenotazioni (Date giornoinizio, Date giornofine)
richiediDocenteAmministratore ()
richiediModuloConsigliato (String PercorsoS)
stampaPrenotazioniPerAula (String selectedItem)
stampaPrenotazioniPerDocente ()
stampaPrenotazioniPerDocenti (String Id)
stampaPrenotazioniPerIntervallo (Date giornoinizio, Date giornofine)
verificaAssegnazione (String IDDoc, String NomeIns, String CDL)
verificaAula (String nomeAula, int capienza, String tipologia, int piano, String locazione
visualizzaPrenotazioni (Date giornoinizio, Date giornofine)
visualizzazioneGenerale (Object[ ][ ] contenuto, ArrayList<String> listaaule, Date giorno)
Descrizione: Gestisce le chiamate a tutte le interfacce grafiche del sistema
Nome Classe: InserimentoDatiPersonali
Livello Architetturale: Presentazione
Istanzia: Front Controller
Metodi Pubblici: InserimentoDatiPersonali ()
InserimentoDatiPersonaliFrame ()
inserimentoDatiPersonaliPanel (jFrame frame)
Descrizione: Gestisce l'interfaccia grafica che si occupa di catturare i dati relativi all Docente
Nome Classe: InterfacciaGestioneAula
Livello Architetturale: Presentazione
Istanzia: Front Controller
Metodi Pubblici: InterfacciaGestioneAule (ArrayList<String> datiAula)
InterfacciaGestioneAuleFrame (ArrayList<String> datiAula)
InterfacciaGestioneAulePanel (jFrame frame, ArrayList<String> datiAula)
Descrizione: Gestisce l'interfaccia grafica e alcune operazioni relative alla gestione delle Aule.
Nome Classe: InterfacciaGestioneInsegnamento
Livello Architetturale: Presentazione
Istanzia: Front Controller
Metodi Pubblici: InterfacciaGestioneInsegnamento (ArrayList<String> datiInsegnamento, ArrayList<String> datiDocente)
InterfacciaGestioneInsegnamentoPanel (ArrayList<String> datiInsegnamento, ArrayList<String> datiDocente, jFrame frame)
InterfacciaGestioneInsegnamentoFrame (ArrayList<String> datiInsegnamento, ArrayList<String> datiDocente)
Descrizione: Gestisce l'interfaccia grafica e alcune operazioni relative alla gestione degli Insegnamenti
Nome Classe: InterfacciaAutentificazione
Livello Architetturale: Presentazione
Istanzia: Front Controller
Metodi Pubblici: InterfacciaAutenticazione ()
InterfacciaAutentificazioneFrame ()
InterfacciaAutentificazionePanel (jFrame frame)
Descrizione: Gestisce l'interfaccia grafica relativa all'autentificazione di un utente
Nome Classe: InterfacciaEffettuaPrenotazione
Livello Architetturale: Presentazione
Istanzia: Front Controller
Metodi Pubblici: InterfacciaEffettuaPrenotazione (DefaultTableModel tabellaprenotazioni, int row, int column, Date giorno)
InterfacciaEffettuaPrenotazionePanel (jFrame frame)
InterfacciaEffettuaPrenotazioneFrame ()
Descrizione: Gestisce l'interfaccia grafica per la memorizzazione di una prenotazione
Nome Classe: InterfacciaEliminaPrenotazione
Livello Architetturale: Presentazione
Istanzia: Front Controller
Metodi Pubblici: InterfacciaEliminaPrenotazione /(DefaultTableModel tabellaprenotazioni, int row, int column, Date giorno)
InterfacciaEliminaPrenotazionePanel (jFrame frame)
InterfacciaEliminaPrenotazioneFrame ()
Descrizione: Gestisce l'interfaccia grafica relativa all'eliminazione di una prenotazione
Nome Classe: InterfacciaEliminazioni
Livello Architetturale: Presentazione
Istanzia: Front Controller
Metodi Pubblici: InterfacciaEliminazione ()
InterfacciaEliminazionePanel (jFrame frame)
InterfacciaEliminazioneFrame ()
Descrizione: Gestisce l'interfaccia grafica relativa all eliminazione di un Docente/Amministratore
Nome Classe: InterfacciaEsportaHTML
Livello Architetturale: Presentazione
Istanzia: Front Controller
Metodi Pubblici: InterfacciaEsportaHTML (ArrayList<String> dati)
Descrizione: Gestisce l'interfaccia grafica relativa all' esportazione in HTML.
Nome Classe: InterfacciaEsportaPDF
Livello Architetturale: Presentazione
Istanzia: Front Controller
Metodi Pubblici: InterfacciaEsportaPDF (ArrayList<String> dati)
Descrizione: Gestisce l'interfaccia grafica relativa all' esportazione in PDF
Nome Classe: InterfacciaGestioneAmministratore
Livello Architetturale: Presentazione
Istanzia: Front Controller
Metodi Pubblici: InterfacciaGestioneAmministratore ()
InterfacciaGestioneAmministratorePanel (jFrame frame)
InterfacciaGestioneAmministratoreFrame ()
Descrizione: Gestisce l'interfaccia grafica relativa alla gestione dell'amministratore
Nome Classe: InterfacciaGestioneDati
Livello Architetturale: Presentazione
Istanzia: Front Controller
Metodi Pubblici: InterfacciaGestioneDati (ArrayList<String>datiUtente)
InterfacciaGestioneDatiPanel (ArrayList<String>datiUtente, jFrame frame)
InterfacciaGestioneDatiFrame (ArrayList<String>datiUtente)
Descrizione: Gestisce l'interfaccia grafica relativa ai dati di a
Nome Classe: InterfacciaGestioneDatiPersonalideiDocentiperAmministratore
Livello Architetturale: Presentazione
Istanzia: Front Controller
Metodi Pubblici: InterfacciaGestioneDatiPersonalideiDocentiperAmministratore (ArrayList<String> datiDocenti)
InterfacciaGestioneDatiPersonalideiDocentiperAmministratorepanel (ArrayList<String> datiDocenti, jFrame frame)
InterfacciaGestioneDatiPersonalideiDocentiperAmministratoreFrame (ArrayList<String> datiDocenti)
Descrizione: Gestisce l'interfaccia grafica relativa alla gestione dei docenti da parte dell'amministratore
Nome Classe: InterfacciaGestioneDocente
Livello Architetturale: Presentazione
Istanzia: Front Controller
Metodi Pubblici: interfacciaGestioneDocente (ArrayList<String> datiDoc)
InterfacciaGestioneDocentePanel (ArrayList<String> datiDoc, jFrame frame)
InterfacciaGestioneDocenteFrame (ArrayList<String> datiDoc)
Descrizione: Gestisce l'interfaccia grafica relativa alla gestione del docente
Nome Classe: InterfacciaGestioneInserimentoProgrammaDidattico
Livello Architetturale: Presentazione
Istanzia: Front Controller
Metodi Pubblici: InterfacciaGestioneInserimentoProgrammaDidattico (ArrayList<String> nomiIns)
InterfacciaGestioneInserimentoProgrammaDidatticoPanel (ArrayList<String> nomiIns, jFrame frame)
interfacciaGestioneInserimentoProgrammaDidatticoFrame (ArrayList<String> nomiIns)
Descrizione: Gestisce l'interfaccia grafica relativa all'
inserimento di un nuovo programma Didattico
Nome Classe: InterfacciaGestionePrenotazione
Livello Architetturale: Presentazione
Istanzia: Front Controller
Metodi Pubblici: InterfacciaGestionePrenotazione ()
InterfacciaGestionePrenotazioneFrame ()
InterfacciaGestionePrenotazionePanel (jFrame frame)
InterfacciaGestionePrenotazioneTablePanel ()
Descrizione: Gestisce l'interfaccia grafica relativa alla gestione delle prenotazioni da parte del docente
Nome Classe: InterfacciaGestioneProgrammiDidattici
Livello Architetturale: Presentazione
Istanzia: Front Controller
Metodi Pubblici: InterfacciaGestioneProgrammiDidattici (ArrayList<String> datiProgrammaDidattico)
InterfacciaGestioneProgrammiDidatticiPanel (ArrayList<String> datiProgrammaDidattico, jFrame frame)
InterfacciaGestioneProgrammiDidatticiFrame (ArrayList<String> datiProgrammaDidattico)
Descrizione: Gestisce l'interfaccia grafica relativa alla gestione dei programmi didattici del docente
Nome Classe: InterfacciaGestioneRicevimento
Livello Architetturale: Presentazione
Istanzia: Front Controller
Metodi Pubblici: InterfacciaGestioneRicevimento (ArrayList<String> insegnamenti)
InterfacciaGestioneRicevimentoPanel (ArrayList<String> insegnamenti, jFrame
frame)
InterfacciaGestioneRicevimentoFrame (ArrayList<String> insegnamenti)
Descrizione: Gestisce l'interfaccia grafica relativa alla gestione dell' orario di riceviemento del docente
Nome Classe: InterfacciaGestioneRicevimentoPerAmministratore
Livello Architetturale: Presentazione
Istanzia: Front Controller
Metodi Pubblici: InterfacciaGestioneRiceviementoperAmministratore (ArrayList<String> datiIns, ArrayList<String> datiDocente)
InterfacciaGestioneRicevimentoperAmministratorePanel (ArrayList<String> datiIns, ArrayList<String> datiDocente, jFrame frame)
InterfacciaGestioneRicevimentoperAmministratoreframe (ArrayList<String> datiIns, ArrayList<String> datiDocente)
Descrizione: Gestisce l'interfaccia grafica relativa alla gestione dell'orario di ricevimento dei docenti da parte
dell'amministratore
Nome Classe: InterfacciaInsVecchiDati
Livello Architetturale: Presentazione
Istanzia: Front Controller
Metodi Pubblici: interfacciaInsVecchiDati ()
InterfacciaInsVecchiDatiPanel (jFrame frame)
InterfacciaInsVecchiDatiFrame ()
Descrizione: Gestisce l'interfaccia grafica relativa al inserimento dei vecchi dati del docente e
dell'amministratore
Nome Classe: InterfacciaInserimentoDatiAula
Livello Architetturale: Presentazione
Istanzia: Front Controller
Metodi Pubblici: interfacciaInserimentoDatiAula ()
InterfacciaInserimentoDatiAulaPanel (jFrame frame)
InterfacciaInserimentoDatiAulaFrame ()
Descrizione: Gestisce l'interfaccia grafica relativa all' inserimento dei dati delle aule
Nome Classe: InterfacciaInserimentoNuovoUtente
Livello Architetturale: Presentazione
Istanzia: Front Controller
Metodi Pubblici: InterfacciaInserimentoNuovoUtente ()
InterfacciainserimentoNuovoUtentePanel (jFrame frame)
InterfacciaInserimentoNuovoUtenteFrame ()
Descrizione: Gestisce l'interfaccia grafica relativa all'inserimento di un nuovo Docente/Amministratore.
Nome Classe: InterfacciaInserimentoOrarioRicevimento
Livello Architetturale: Presentazione
Istanzia: Front Controller
Metodi Pubblici: InterfacciaInserimentoOrarioRicevimento (String nomeIns, String CDL)
InterfacciaInserimentoOrarioRicevimentoPanel (String nomeIns, String CDL, jFrame frame)
InterfacciaInserimentoOrarioRicevimentoFrame (String nomeIns, String CDL)
Descrizione: Gestisce l'interfaccia grafica relativa all' inserimento di un orario di ricevimento del docente
Nome Classe: InterfacciaInserisciDatiInsegnamento
Livello Architetturale: Presentazione
Istanzia: Front Controller
Metodi Pubblici: InterfacciaInserimentoDatiInsegnamento ()
InterfacciaInserimentoDatiInsegnamentoPanel (jFrame frame)
InterfacciaInserimentoDatiInsegnamentoFrame ()
Descrizione: Gestisce l'interfaccia grafica relativa all'inserimento dei dati relatavi al insegnamento
da parte dell' amministratore.
Nome Classe: InterfacciaModificaDati
Livello Architetturale: Presentazione
Istanzia: Front Controller
Metodi Pubblici: InterfacciaModificaDati ()
InterfacciaModificaDatiPanel (jFrame frame)
InterfacciaModificaDatiFrame ()
Descrizione: Gestisce l'interfaccia grafica relativa alla Modifica dei dati del docente/amministratore
Nome Classe: InterfacciaModificaDatiAula
Livello Architetturale: Presentazione
Istanzia: Front Controller
Metodi Pubblici: InterfacciaModificaDatiAula (ArrayList<String> datiAula)
InterfacciaModificaDatiAulaFrame (ArrayList<String> datiAula)
InterfacciaModificaDatiAulaPanel (ArrayList<String> datiAula, jFrame frame)
Descrizione: Gestisce l'interfaccia grafica relativa alla modifica del dati relativi all'aula da parte
dell'amministratore
Nome Classe: InterfacciaModificaDatiInsegnamento
Livello Architetturale: Presentazione
Istanzia: Front Controller
Metodi Pubblici: InterfacciaModificaDatiInsegnamento (ArrayList<String> datiProgrammaDidattico)
InterfacciaModificaDatiInsegnamentoFrame (ArrayList<String> datiProgrammaDidattico)
InterfacciaModificaDatiInsegnamentoPanel (ArrayList<String> datiProgrammaDidattico, jFrame frame)
Descrizione: Gestisce l'interfaccia grafica relativa alla modifica dei dati relativi all'insegnamento da parte
dell'amministratore
Nome Classe: InterfacciaModificaDatiPersonali
Livello Architetturale: Presentazione
Istanzia: Front Controller
Metodi Pubblici: InterfacciaModificaDatiPersonali (ArrayList<String> datiUtente)
InterfacciaModificaDatiPersonaliPanel (ArrayList<String> datiUtente, jFrame frame)
InterfacciaModificaDatiPersonaliFrame (ArrayList<String> datiUtente)
Descrizione: Gestisce l'interfaccia grafica relativa alla modifica dei dati personali del docente
Nome Classe: InterfacciaModificaPrenotazione
Livello Architetturale: Presentazione
Istanzia: Front Controller
Metodi Pubblici: InterfacciaModificaPrenotazione (DefaultTableModel tabellaprenotazioni, int row, int column, Date giorno)
InterfacciaModificaPrenotazionePanel (jFrame frame)
InterfacciaModificaPrenotazioneFrame ()
Descrizione: Gestisce l'interfaccia grafica relativa alla modifica dei dati relativi alla prenotazione da parte del
docente
Nome Classe: InterfacciaModificaProgrammaDidattico
Livello Architetturale: Presentazione
Istanzia: Front Controller
Metodi Pubblici: InterfacciaModificaProgrammaDidattico (ArrayList<String> datiProgrammaDidattico)
InterfacciaModificaProgrammaDidatticoPanel (ArrayList<String> datiProgrammaDidattico, jFrame frame)
InterfacciaModificaProgrammaDidatticoFrame (ArrayList<String> datiProgrammaDidattico)
Descrizione: Gestisce l'interfaccia grafica relativa alla modifica del programma didattico da parte del docente
Nome Classe: InterfacciaModificaRicevimento
Livello Architetturale: Presentazione
Istanzia: Front Controller
Metodi Pubblici: InterfacciaModificaRicevimento (String nomeIns, String CDL)
InterfacciaModificaRicevimentoPanel (String nomeIns, String CDL, jFrame frame)
InterfacciaModificaRicevimentoFrame (String nomeIns, String CDL)
Descrizione: Gestisce l'interfaccia grafica relativa alla modifica dell'orario di ricevimento da parte del docente
Nome Classe: InterfacciaScaricamentoModuloConsigliato
Livello Architetturale: Presentazione
Istanzia: Front Controller
Metodi Pubblici: InterfacciaScaricamnetoModuloConsigliato ()
InterfacciaScaricamentoModuloConsigliatoPanel (jFrame frame)
InterfacciaScaricamentoModuloConsigliatoFrame ()
Descrizione: Gestisce l'interfaccia grafica relativa allo scaricamento del modulo consigliato da parte del
docente.
Nome Classe: InterfacciaStampaDatiDocente
Livello Architetturale: Presentazione
Istanzia: Front Controller
Metodi Pubblici: InterfacciaStampaDatiDocente (ArrayList<String> dati)
InterfacciaStampaDatiDocentePanel (ArrayList<String> dati, jFrame frame)
InterfacciaStampaDatiDocenteFrame (ArrayList<String> dati)
Descrizione: Gestisce l'interfaccia grafica relativa alla Stampa dei dati relativi al docente da parte del docente
Nome Classe: InterfacciaStampaDocentiSelezionati
Livello Architetturale: Presentazione
Istanzia: Front Controller
Metodi Pubblici: InterfacciaStampaDocentiSelezionati (ArrayList<String> dati)
InterfacciaStampaDocentiSelezionatiPanel (ArrayList<String> dati, jFrame frame)
InterfacciaStampaDocentiSelezionatiFrame (ArrayList<String> dati)
Descrizione: Gestisce l'interfaccia grafica relativa alla stampa dei docenti selezionati da parte
dell'amministratore
Nome Classe: InterfacciaStampaInsegnamentiDocente
Livello Architetturale: Presentazione
Istanzia: Front Controller
Metodi Pubblici: InterfacciaStampaInsegnamentiDocente
(ArrayList<String> dati)
InterfacciaStampaInsegnamentiDocentePanel (ArrayList<String> dati, jFrame frame)
InterfacciaStampaInsegnamentiDocenteFrame (ArrayList<String> dati)
Descrizione: Gestisce l'interfaccia grafica relativa alla stampa degli insegnamenti tenuti da un docente da parte
dell'amministratore
Nome Classe: InterfacciaStampaInsegnamentoSelezionato
Livello Architetturale: Presentazione
Istanzia: Front Controller
Metodi Pubblici: interfacciaStampaInsegnamentoSelezionato (ArrayList<String> dati)
interfacciaStampaInsegnamentoSelezionatoPanel (ArrayList<String> dati, jFrame frame)
interfacciaStampaInsegnamentoSelezionatoFrame (ArrayList<String> dati)
Descrizione: Gestisce l'interfaccia grafica relativa alla stampa dei dati relativi all' insegnamento selezionato da
parte dell'amministratore
Nome Classe: InterfacciaStampaOrarioRicevimento
Livello Architetturale: Presentazione
Istanzia: Front Controller
Metodi Pubblici: InterfacciaStampaOrarioRicevimento (ArrayList<String> dati)
InterfacciaStampaOrarioRicevimentoPanel (ArrayList<String> dati, jFrame frame)
InterfacciaStampaOrarioRicevimentoFrame (ArrayList<String> dati)
Descrizione: Gestisce l'interfaccia grafica relativa alla stampa degli orari di ricevimento del docente
Nome Classe: InterfacciaStampaOrariRicevimentiSelezionati
Livello Architetturale: Presentazione
Istanzia: Front Controller
Metodi Pubblici: InterfacciaStampaOrarioRicevimentiSelezionati (ArrayList<String> dati)
InterfacciaStampaOrarioRicevimentiSelezionatiFrame (ArrayList<String> dati)
InterfacciaStampaOrarioRicevimentiSelezionatiPanel (ArrayList<String> dati, jFrame frame)
Descrizione: Gestisce l'interfaccia grafica relativa alla stampa degli orari di ricevimento selezionati da parte
dell'amministratore
Nome Classe: InterfacciaStampaOrarioRicevimentoSingoloDocente
Livello Architetturale: Presentazione
Istanzia: Front Controller
Metodi Pubblici: InterfacciaStampaOrarioRicevimentoSingoloDocente (ArrayList<String> dati)
InterfacciaStampaOrarioRicevimentoSingoloDocentePanel (ArrayList<String> dati, jFrame frame)
InterfacciaStampaOrarioRicevimentoSingoloDocenteFrame (ArrayList<String> dati)
Descrizione: Gestisce l'interfaccia grafica relativa alla stampa degli orari di ricevimento di un docente selezionato da parte dell'amministratore
Nome Classe: InterfacciaStampaPrenotazioniAulePer Amministratore
Livello Architetturale: Presentazione
Istanzia: Front Controller
Metodi Pubblici: InterfacciaStampaPrenotazioniAulePer Amministratore ()
InterfacciaStampaPrenotazioniAulePer AmministratorePanel (jFrame frame)
InterfacciaStampaPrenotazioniAulePer
AmministratoreFrame ()
InterfacciaStampaIntervalloDiTempo ()
InterfacciaStampaPrenotazioniPerAula ()
InterfacciaStampaPrenotazioniPerDocente ()
Descrizione: Gestisce l'interfaccia grafica relativa alla stampa delle prenotazioni delle aule da parte
dell'amministratore
Nome Classe: InterfacciaStampaPrenotazioniGenerali
Livello Architetturale: Presentazione
Istanzia: Front Controller
Metodi Pubblici: InterfacciaStampaPrenotazioniGenerali ()
InterfacciaStampaPrenotazioniGeneralipanel (jFrame frame)
InterfacciaStampaPrenotazioniGeneraliFrame ()
InterfacciaStampaIntervalloditempo ()
InterfacciaStampaPrenotazioniPerAula ()
Descrizione: Gestisce l'interfaccia grafica relativa alla stampa delle prenotazioni delle aule da parte del docente
Nome Classe: InterfacciaStampaProgrammiDidattici
Livello Architetturale: Presentazione
Istanzia: Front Controller
Metodi Pubblici: InterfacciaStampaProgrammiDidattici (ArrayList<String> dati)
InterfacciaStampaProgrammiDidatticiPanel (ArrayList<String> dati, jFrame frame)
InterfacciaStampaProgrammiDidatticiFrame (ArrayList<String> dati)
Descrizione: Gestisce l'interfaccia grafica relativa alla stampa dei programmi didattici da parte dell'docente
Nome Classe: InterfacciaStampaProgrammiDidatticiperAmministr
atore
Livello Architetturale: Presentazione
Istanzia: Front Controller
Metodi Pubblici: InterfacciaStampaProgrammiDidatticiperAmministratore (ArrayList<String> dati)
InterfacciaStampaProgrammiDidatticiperAmministratorePanel (ArrayList<String> dati, jFrame frame)
InterfacciaStampaProgrammiDidatticiperAmministratoreFrame (ArrayList<String> dati)
Descrizione: Gestisce l'interfaccia grafica relativa alla stampa dei programmi didattici da parte
dell'amministratore
Nome Classe: InterfacciaStampaPropriInsegnamenti
Livello Architetturale: Presentazione
Istanzia: Front Controller
Metodi Pubblici: InterfacciaStampaPropriInsegnamenti (ArrayList<String> dati)
InterfacciaStampaPropriInsegnamentiPanel (ArrayList<String> dati, jFrame frame)
InterfacciaStampaPropriInsegnamentiFrame (ArrayList<String> dati)
Descrizione: Gestisce l'interfaccia grafica relativa alla stampa dei propri insegnamenti da parte del docente
Nome Classe: InterfacciaStampaSingoloDocente
Livello Architetturale: Presentazione
Istanzia: Front Controller
Metodi Pubblici: InterfacciaStampaSingoloDocente (ArrayList<String> dati)
InterfacciaStampaSingoloDocentePanel (ArrayList<String> dati, jFrame frame)
InterfacciaStampaSingoloDocenteFrame (ArrayList<String> dati)
Descrizione: Gestisce l'interfaccia grafica relativa alla stampa dei dati di un docente selezionato da parte del
amministratore
Nome Classe: InterfacciaStampaTuttiDocenti
Livello Architetturale: Presentazione
Istanzia: Front Controller
Metodi Pubblici: InterfacciaStampaTuttiDocenti (ArrayList<String> dati)
InterfacciaStampaTuttiDocentiPanel (ArrayList<String> dati, jFrame frame)
InterfacciaStampaTuttiDocentiFrame (ArrayList<String> dati)
Descrizione: Gestisce l'interfaccia grafica relativa alla stampa dei dati di tutti i docenti da parte del
amministratore
Nome Classe: InterfacciaStampaTuttiInsegnamenti
Livello Architetturale: Presentazione
Istanzia: Front Controller
Metodi Pubblici: InterfacciaStampaTuttiInsegnamenti (ArrayList<String> dati)
InterfacciaStampaTuttiInsegnamentiPanel (ArrayList<String> dati, jFrame frame)
InterfacciaStampaTuttiInsegnamentiFrame (ArrayList<String> dati)
Descrizione: Gestisce l'interfaccia grafica relativa alla stampa dei dati di tutti gli Insegnamenti da parte del
amministratore
Nome Classe: InterfacciaStampaTuttiOrariRicevimentoAmministratore
Livello Architetturale: Presentazione
Istanzia: Front Controller
Metodi Pubblici: InterfacciaStampaTuttiOrariRicevimentoAmministratore (ArrayList<String> dati)
InterfacciaStampaTuttiOrariRicevimentoAmministratorePanel (ArrayList<String> dati, jFrame frame)
InterfacciaStampaTuttiOrariRicevimentoAmministratoreFrame (ArrayList<String> dati)
Descrizione: Gestisce l'interfaccia grafica relativa alla stampa dei dati di tutti gli orari di ricevimento da parte del
amministratore
Nome Classe: InterfacciaVisualizzazioneDatiSingolaAula
Livello Architetturale: Presentazione
Istanzia: Front Controller
Metodi Pubblici: InterfacciaVisualizzazioneDatiAula (ArrayList<String> datiAula)
InterfacciaVisualizzazioneDatiAulapanel (ArrayList<String> datiAula, jFrame frame)
InterfacciaVisualizzazioneDatiAulaFrame (ArrayList<String> datiAula)
Descrizione: Gestisce l'interfaccia grafica relativa alla visualizzazione dei dati di un aula selezionata da
parte del Amministratore
Nome Classe: InterfacciaVisualizzazioneProgrammaDidattico
Livello Architetturale: Presentazione
Istanzia: Front Controller
Metodi Pubblici: InterfacciaVisualizzazioneProgrammaDidattico (ArrayList<String> datiProgrammaDidattico)
InterfacciaVisualizzazioneProgrammaDidatticoPanel (ArrayList<String> datiProgrammaDidattico, jFrame frame)
InterfacciaVisualizzazioneProgrammaDidatticoFrame (ArrayList<String> datiProgrammaDidattico)
Descrizione: Gestisce l'interfaccia grafica relativa alla visualizzazione di un programma didattico
selezionato dal docente
Nome Classe: InterfacciaVisualizzazioneSingoloInsegnamento
Livello Architetturale: Presentazione
Istanzia: Front Controller
Metodi Pubblici: InterfacciaVisualizzazioneSingoloInsegnamento (ArrayList<String> datiInsegnamento)
InterfacciaVisualizzazioneSingoloInsegnamentoFrame (ArrayList<String> datiInsegnamento)
InterfacciaVisualizzazioneSingoloInsegnamentoPanel (ArrayList<String> datiInsegnamento, jFrame frame)
Descrizione: Gestisce l'interfaccia grafica relativa alla visualizzazione di un singolo insegnamento
selezionato da parte del amministratore.
Nome Classe: InterfacciaVisualizzaPrenotazioni
Livello Architetturale: Presentazione
Istanzia: Front Controller
Metodi Pubblici: InterfacciaVisualizzaPrenotazioni ()
InterfacciaVisualizzaPrenotazioniFrame ()
InterfacciaVisualizzazioneGenerale (jFrame frame)
InterfacciaVisualizzazioneIntervalloDiTempo ()
InterfacciaVisualizzazioneMese ()
InterfacciaVisualizzazioneSettimana ()
InterfacciaVisualizzazioneTabella ()
Descrizione: Gestisce l'interfaccia grafica relativa alla visualizzazione delle Prenotazioni
Sono riportate qui di seguito le specifiche delle classi a livello di dominio.
Nome Classe: BusinessDelegate
Livello Architetturale: Dominio
Istanzia: Tutti i gestori
Metodi Pubblici: confermaModificaDatiPersonali (String nome, String cognome, String dataNascita, String luogoNascita, String dipartimentoDocente, String recapitoDocente, String emailDocente, String tipologiaDocente)
datiOrarioRicevimeto ()
datiProgrammaDidatticoStampa ()
downloadModuloConsigliato (String PercorsoS)
effettuaPrenotazione (String columnName, Date giorno, Time orarioIniziale, Time orariofinale, String note)
eliminaAmministratore (String username, String password)
eliminaDocente (String username, String password)
eliminaPrenotazione (String columnName, Date giorno, Time orarioIniziale, Time orariofinale)
inserimentoDatiPersonaliDocente (String nome, String cognome, String dataNascita, String luogoNascita, String dipartimentoDocente, String recapitoDocente, String emailDocente, String tipologiaDocente)
inserisciDatiUtenteAmministratore (String codiceFiscale, String username, String password)
inserisciDatiUtenteDocente String codiceFiscale, String username, String password)
listaAule ()
memorizzaAssegnazione (String ID, String CDL, String Nome)
memorizzaAula (String nomeAula, int capienza, String tipologia, int piano, String locazione)
memorizzaDatiNuovoInsegnamento (String nomeIns, String CDL, int CFU)
memorizzaModificaAula (int ID, String nomeAula, int capienza, String tipologia, int piano, String locazione)
memorizzaModificheInsegnamento (int Id, String CDL, String nome, int CFU)
memorizzaModificaProgrammaDidattico (int
ID, String Descrizione, String Nome)
memorizzaModificaRicevimento (Time orarioInzio, Time orariofine, String luogoRicevimento, String giorno, String nomeIns, String cdl)
memorizzaProgrammaDidattico (String nomeProgDidattico. String descrizioneProgDidattico, String nomeIns, String CDL)
memorizzaRicevimento (Time orarioInizio, Time orarioFine, String luogoRicevimento, String giorno, String nomeIns, String CDL)
modificaPrenotazione (String columnName, Date giorno, Time orarioIniziale, Time orariofinale, String note)
notePrenotazione (String columnName, Date giorno, Time orarioiniziale, Time orariofinale)
numeroPrenotazioni (Date giornoinizio, Date giornofine)
prelevaIDDocente ()
richiediDatiSingoloDocente (String idDoc)
richiediAula ()
richiediDatiDocente ()
richiediDatiDocenteModifica ()
richiediDatiDocenteStampa ()
richiediDatiDocenti (ArrayList<String> idDoc)
richiediDatiTuttiDocenti ()
richiediDocenteBenvenuto ()
richiediDocentiAmministratore ()
richiediInsegnamentiSelezionatiStampa (ArrayList<String> nomeIns, ArrayList<String> CDL)
richiediInsegnamentoAmministratore (String nomeIns, String CDL)
richiediInsegnamentoDocenteSelezionatoPerAssociazioneProgrammaDidattico ()
richiediNomeInsegnamento ()
richiediNomiProgrammaDidattico ()
richiediProgrammaDidattico (String nomePD)
richiediProgrammaDidatticoVisualizzazione (String nomePD)
richiediProgrammaDidatticiAmministratore ()
richiediPropriInsegnamenti ()
richiediRicevimentiSelezionati (ArrayList<String> nomeIns, ArrayList<String> CDL)
richiediRicevimentoDocenteSelezionato (String idDoc)
richiediTuttiRicevimenti ()
richiestaAula (int idAula)
richiestaInsegnamentiDocenteSelezionato (String idDocente)
richiestaInsegnamentiStampaTutti ()
richirstaPropriInsegnamentiStampa ()
salvaDatiModificatiDocente (String username, String password)
salvaDatiModificatiAmministratore (String username, String password)
stampaPrenotazioniPerAula (String selectedItem)
stampaPrenotazionePerDocente ()
stampaPrenotazioniPerDocenti (String ID)
stampaPrenotazioniPerIntervallo (Date giornoInizio, Date giornoFine)
verificaAssegnazione (String nomeIns, String CDL)
verificaAula (String nomeAula, int piano, String locazione)
verificaDatiAmministratoreAutentificazione (String username, String password)
verificaDatiDocenteAutentificazione (String username, String password)
verificaDatiAmministratoreEliminazione (String username, String password)
verificaDatiDocenteEliminazione (String username, String password)
verificaDatiPersonali (String nome, String cognome, String dataNascita, String luogoNascita, String dipartimentoDocente, String recapitoTelefonico, String emailDocente, String tipologiaDocente)
verificaInsegnamento (String nomeIns, String CDL)
verificaPresenzaDatiAmministratore (String codiceFiscale, String username, String password)
verificaPresenzaDatiDocente (String codiceFiscale, String username, String
password)
verificaPresenzaDatiModificatiDocente (String username, String password)
verificaPresenzaDatiModificatiAmministratore (String username, String password)
verificaProgrammaDidattico (String nomeProgDidattico, String nomeIns, String CDL)
verificaRicevimento (Time orarioInizio, Time orarioFine, String luogoRicevimento, String giorno, String nomeIns, String CDL)
verificaRicevimentoModifica (String nomeIns, String CDL(
verificaVecchiDatiAmministratore (String username, String password)
verificaVecchiDatiDocente (String username, String password)
visualizzaPrenotazioni (Date giornoInizio, Date giornoFine)
visualizzazione Generale (Object[ ][ ] contenuto, ArrayList<String> listaAule, Date giorno)
esportaHTML (String name, ArrayList<String> dati)
esportaPDF (String name, ArrayList<String> dati)
Descrizione: Gestisce i veri gestori di tutte le entità e risponde a tutte le richieste provenienti dal front controller.
Nome Classe: Gestore Docente
Livello Architetturale: Dominio
Istanzia: Docente
Metodi Pubblici: ConfermamodificaDatiPersonali (String usernamev, String passwordv, String nome, String cognome, String dataNascita, String luogoNascita, String dipartimentoDocente, String recapitoDocente, String emailDocente, String tipologiaDocente)
EliminaDocente (String username, String password)
InserimentodatiPersonaliDocente (String usernamev, String passwordv, String nome,
String cognome, String dataNascita, String luogoNascita, String dipartimentoDocente, String recapitoDocente, String emailDocente, String tipologiaDocente)
InseriscidatinuovoutenteDocente (String codiceFiscale, String username, String password)
PrelievaCognomeDocente (String idDocente)
PrelievoIDdocente (String username, String password)
PrelievoNomeDocente (String idDocente)
RichiediDatiDocente (String username, String password)
RichiediDatiDocenteBenvenuto (String username, String password)
richiediDatidocenteModifica (String usernamev, String passwordv)
richiediDatidocenteStampa (String usernamev, String passwordv)
richiediDatidocenti (ArrayList<String> idDoc)
richiedidatiSingoloDocente (String idDoc)
RichiediDatiTuttiDocenti ()
RichiediDocenteAmministratore ()
SalvadatiModificatiDocente (String usernamev, String passwordv, String username, String password)
verificaDatiDocenteAutentificazione (String user, String pass)
verificaDatiDocenteEliminazione (String username, String password)
verificaDatiPersonali (String usernamev, String passwordv, String nome, String cognome, String dataNascita, String luogoNascita, String dipartimentoDocente, String recapitoDocente, String emailDocente, String tipologiaDocente)
verificaPresenzaDatiDocente (String codiceFiscale, String user, String pass)
verificaPresenzaDatiModificatiDocente (String usernamev, String passwordv, String username, String password)
verificaVecchiDatiDocente (String username, String password)
Descrizione: Si occupa di gestire i dati relativi al docente
Nome Classe: Gestore Amministratore
Livello Architetturale: Dominio
Istanzia: Amministratore
Metodi Pubblici: eliminaAmministratore (String username, String password)
inseriscaDatiNuovoUtenteAmministratore (String codiceFiscale, String username, String password)
salvaDatiModificatiAmministratore (String usernamev, String passwordv, String username, String password)
verificaDatiAmministratoreAutentificazione (String user, String pass)
verificaDatiAmministratoreEliminazione (String username, String password)
verificapresenzaDatiAmministratore (String codiceFiscale, String user, String pass)
VerificapresenzadatimodificatiAmministratore (String usernamev, String passwordv, String username, String password)
verificavecchidatiAmministratore (String username, String password)
Descrizione: Si occupa di gestire i dati relativi all’amministratore
Nome Classe: Gestore Aule
Livello Architetturale: Dominio
Istanzia: Aule
Metodi Pubblici: ListaAule ()
memorizzaAula (String nomeAula, int capienza, String tipologia, int piano, String locazione)
memorizzaModifica (int ID, String nomeAula, int capienza, String tipologia, int piano, String locazione)
prelevaIDAula (String nome)
prelievoNomeAula (int IDAula)
richiediAula ()
richiestaAula (int idAula)
verificaAula (String nomeAula, int piano, String locazione)
Descrizione: Si occupa di gestire i dati relativi alle aule
Nome Classe: Gestore Insegnamento
Livello Architetturale: Dominio
Istanzia: Insegnamento
Metodi Pubblici: eliminaInsegnamento (String idDoc)
MemorizzaAssegnazione (String idDoc, String CDL, String nomeIns)
memorizzaDatiNuovoInsegnamento (String nomeIns, String CDL, int CFU)
memorizzaModificheInsegnamento (int ID, String corso, String nome, int CFU)
richiediInsegnamentiSelezionatiStampa (ArrayList<String> nomeIns, ArrayList<String> CDL)
richiediInsegnamentiStampaTutti ()
richiediInsegnamentoAmministratore (String nomeIns, String CDL)
richiediInsegnamentoDocenteSelezionato (String idDocente)
richiediInsegnamentoDocenteSelezionatoperAssociazioneProgrammaDidattico (String idDocente)
richiediNomiInsegnamenti ()
richiediPropriInsegnamenti (String idDocente)
richiediPropriInsegnamentiStampa (String idDocente)
verifica Assegnazione (String nomeIns, String CDL)
verificaInsegnamento (String nomeIns, String CDL)
Descrizione: Si occupa di gestire i dati relativi agli insegnamenti
Nome Classe: Gestore Prenotazione
Livello Architetturale: Dominio
Istanzia: Prenotazione
Metodi Pubblici: effettuaPrenotazione (String idDocente, int IdAula, Date giorno, Time orarioIniziale, Time orarioFinale, String note)
eliminaPrenotazione (String idDocente)
eliminaPrenotazione (String idDocente, int IdAula, Date giorno, Time orarioIniziale, Time orarioFinale)
ModificaPrenotazione (String idDocente, int IdAula, Date giorno, Time orarioIniziale, Time orarioFinale, String note)
NotePrenotazione (String Docente, int IdAula, Date giorno, Time orarioIniziale, Time orarioFinale)
NumeroPrenotazioni (Date giornoInizio, Date giornoFine)
StampaPrenotazioniPerAula (int Aula)
stampaPrenotazioniperdocente (String Docente)
stampaPrenotazioniPerintervallo (Date giornoInizio, Date giornoFine)
VerificaPrenotazioniDocente (String idDocente, int idAula, Time orarioAttuale, Time orarioFinale, Date giorno)
verificaPresenzaPrenotazione (int IdAula, Time orarioAttuale, Time orarioFinale, Date giorno)
visualizzaPrenotazione (Date giornoInizio, Date giornoFine)
Descrizione: Si occupa di gestire i dati relativi alle prenotazioni
Nome Classe: Gestore Programma Didattico
Livello Architetturale: Dominio
Istanzia: Programma Didattico
Metodi Pubblici: datiProgrammaDidatticoStampa (String idDoc)
memorizzaAssociazioneProgrammaDidattico (String nomeIns, String CDL, int IDPD)
eliminaProgrammaDidattico (String idDoc)
memorizzaModificheProgrammaDidattico (int
id, String descrizione, String nome)
memorizzaProgrammaDidattico (String nomeProgDidattico, String descrizioneProgDidattico, String idDocente)
richiediNomiProgrammaDidattico (String idDocente)
richiediProgrammaDidattico (String progDidattico)
richiediProgrammaDidatticoVisualizzazione (String progDidattico)
richiediProgrammiDidatticiAmministratore ()
verificaInsegnamentoPerProgrammaDidattico (String nomeIns, String CDL)
verificaProgrammaDidattico (String nomeProgDidattico)
Descrizione: Si occupa di gestire i dati relativi ai Programmi Didattici
Nome Classe: Gestore Ricevimento
Livello Architetturale: Dominio
Istanzia: Ricevimento
Metodi Pubblici: DatiOrarioRicevimento (String usernamev, String passwordv)
IDriceviementoperAssegnamento (String nomeIns, String CDL)
elimina Ricevimento (String idDoc)
memorizzaAssociazioneRicevimento (int IDRicevimento, String nomeIns, String CDL)
memorizzaModificaRicevimento (Time orarioInizio, Time orarioFine, String luogoRicevimento, String giorno, int IdRic)
memorizzaRicevimento (Time orarioInizio, Time orarioFine, String luogoRicevimento, String giorno, String idDoc)
richiediDatiRicevimentoperDocente (String idDoc)
RichiediRiceviementiSelezionati (ArrayList<String> idRic)
richiediTuttiRicevimenti ()
richiediTuttiRicevimenti (ArrayList<String> idRic)
richiediRicevimentiSelezionati
(ArrayList<String> nomeIns, ArrayList<String> CDL)
verificaAssociazioneperRicevimento (String nomeIns, String CDL)
verificaRicevimento (Time orarioInizio, Time orarioFine, String luogoRicevimento, String giorno)
Descrizione: Si occupa di gestire i dati relativi ai Ricevimenti
Nome Classe: Modulo consigliato
Livello Architetturale: Dominio
Metodi Pubblici: ScaricamentoModuloConsigliato (String PercorsoS)
Descrizione: Si occupa di gestire il download del modulo consigliato
Nome Classe: EsportaHTML
Livello Architetturale: Dominio
Metodi Pubblici: stampaHTML (String nome, ArrayList<String> dati)
Descrizione: Si occupa di gestire la stampa dei dati in formato HTML
Nome Classe: EsportaPDF
Livello Architetturale: Dominio
Metodi Pubblici: stampaPDF (String nome, ArrayList<String> dati)
Descrizione: Si occupa di gestire la stampa dei dati in formato PDF
Nome Classe: Docente
Livello Architetturale: Dominio
Attributi: Id
Cognome
DatadiNascita
DipDiAppartenenza
LuogoDiNascita
Nome
Password
RecapitoTelefonico
TipologiaDocente
Username
Metodi Pubblici: SetID (String id)
setCognome (String cogn)
setNome (String nom)
setDatadiNascita (Date date)
setDipDiAppartenenza (String dip)
setEMail (String mail)
setLuogoDiNascita (String luogo)
setPassword (String pass)
setUsername (String user)
setRecapitoTelefonico (String recap)
setTipologiaDocente (string tipologia)
getID ()
getCognome ()
getNome ()
getDatadiNascita ()
getDipDiAppartenenza ()
getEMail ()
getLuogoDiNascita ()
getpassword ()
getUsername ()
getNome ()
getRecapitoTelefonico ()
getTipologiaDocente ()
Descrizione: Si occupa di gestire i dati relativi al docente
Nome Classe: Amministratre
Livello Architetturale: Dominio
Attributi: Id
Password
Username
Metodi Pubblici: setID (String id)
set Password (String pass)
set Username (String user)
getID ()
getUsername ()
getPassword ()
Descrizione: Si occupa di gestire i dati relativi al amministratore
Nome Classe: Insegnamento
Livello Architetturale: Dominio
Attributi: NomeInsegnamento
CorsoDiLaurea
CFU
ID
Metodi Pubblici: setID (int ID)
setNomeInsegnamento (String nome)
setCFU (int CF)
setCorsoDiLaurea (String corso)
getID ()
getNomeInsegnamento ()
getCFU ()
getCorsoDiLaurea ()
Descrizione: Si occupa di gestire i dati relativi al Insegnamento
Nome Classe: Aula
Livello Architetturale: Dominio
Attributi: NomeAula
Capienza
TipologiaAula
Locazione
PianoAula
ID
Metodi Pubblici: setID (int ID)
setNome (String Nom)
setCapacità (int cap)
setTipologiaAula (String tip)
setLocazione (String loc)
setPiano (int pian)
getID ()
getNome ()
getCapacità ()
getTipologiaAula ()
getLocazione ()
getPiano ()
Descrizione: Si occupa di gestire i dati relativi al Aula
Nome Classe: Prenotazione
Livello Architetturale: Dominio
Attributi: Id
OraInizio
OraFine
Giorno
Note
Metodi Pubblici: setID (int ID)
setOraInizio (Time OInizio)
setOraFine (Time OFine)
setGiorno (Date G)
setNote (String n)
getID ()
getOraInizio ()
getOraFine ()
getGiorno ()
getNote ()
Descrizione: Si occupa di gestire i dati relativi alle prenotazioni
Nome Classe: ProgrammaDidattico
Livello Architetturale: Dominio
Attributi: Id
descrizioneProgramma
ProgrammaDidattico
nomeProgrammaDidattico
Metodi Pubblici: setID (int ID)
setdescrizioneProgrammaDidattico (String Descrizione)
setProgrammaDidattico (String Programma)
setNomeProgrammaDidattico (String NomeProgramma)
getID ()
getdescrizioneProgrammaDidattico ()
getProgrammaDidattico ()
getNomeProgrammaDidattico ()
Descrizione: Si occupa di gestire i dati relativi ai Programmi Didattici
Nome Classe: Ricevimento
Livello Architetturale: Dominio
Attributi: Id
OraInizio
OraFine
LuogoRicevimento
Giorno
Metodi Pubblici: setID (int idRicevimento)
setOraInizio (Time Inizio)
setOraFine (Time Fine)
setLuogoRicevimento (String Luogo)
setGiorno (String Gior)
getID ()
getOraInizio ()
getOraFine ()
getLuogoRicevimento ()
getGiorno ()
Descrizione: Si occupa di gestire i dati relativi al Ricevimento
Sono riportate qui di seguito le specifiche delle classi a livello di sorgente dati.
Nome Classe: DataMapper
Livello Architetturale: SorgenteDati
Attributi: connesso
db
nomeDB
nome Utente
pwdUtente
Metodi Pubblici: connetti ()
disconnetti ()
eseguiAggiornamento (String query)
eseguiCancellazione (String query)
eseguiInserimento (String query)
eseguiquery (String query)
Descrizione: Si occupa di gestire i dati presenti nel DataBase
2.3. Diagrammi di Sequenza2.3. Diagrammi di SequenzaI diagrammi di sequenza relativi alla progettazione posso essere visualizzati nel file diagram_14 della progettazione nella sezione “Diagrammi di sequenza”.
2.4. Modello di Decisione2.4. Modello di DecisioneNel seguente modello di decisione verranno elencate tutte le classi dei vari livelli architetturali per definire in quali capacità questi rientrano.
LIVELLO PRESENTAZIONE
Invarianti Varianti
C1 C2 C3 C4 C5 C6 C7 C8
Front Controller
InterfacciaAutenticazione
InterfacciaEffettuaPrenotazione
InterfacciaEliminaPrenotazione
InterfacciaEliminazione
InterfacciaEsportaHTML
InterfacciaEsportaPDF
InterfacciaGestioneAmministratore
InterfacciaGestioneAule
InterfacciaGestioneDati
InterfacciaGestioneDatiPersonaliDocenteperAmministratore
InterfacciaGestioneDocente
InterfacciaGestioneInsegnamenti
InterfacciaGestioneInserimentoProgrammaDidattico
InterfacciaGestionePrenotazione
InterfacciaGestioneProgrammiDidattici
InterfacciaGestioneRicevimento
InterfacciaGestioneRicevimentoperAmministratore
InterfacciaInsVecchiDati
InterfacciaInserimentoDatiAula
InterfacciaInserimentoDatiPersonali
InterfacciaInserimentoNuovoUtente
InterfacciaInserimentoOraridiRicevimento
InterfacciaInserisciDatiInsegnamento
InterfacciaModificaDati
InterfacciaModificaDatiAula
InterfacciaModificaDatiInsegnamento
InterfacciaModificaDatiPersonali
InterfacciaModificaPrenotazione
InterfacciaModificaProgrammaDidattico
InterfacciaModificaRicevimento
InterfacciaScaricamentoModuloConsigliato
InterfacciaStampaDatiDocente
InterfacciaStampaDocenteSelezionati
InterfacciaStampaInsegnamentiDocente
InterfacciaStampaInsegnamentoSelezionato
InterfacciaStampaOrariodiRicevimentoSelezionati
InterfacciaStampaOrarioRicevimento
InterfacciaStampaOrarioRicevimentoSingoloDocente
InterfacciaStampaPrenotazioneAuleper Amministratore
InterfacciaStampaPrenotazionigenerali
InterfacciaStampaProgrammiDidattici
InterfacciaStampaProgrammiDidatticiperAmministratore
InterfacciaStampaPropriInsegnamenti
InterfacciaStampaSingoloDocente
InterfacciaStampaTuttiDocenti
InterfacciaStampatuttiInsegnamenti
InterfacciaStampaTuttiOrariRicevimento
InterfacciaVisualizzazioneDatiSingolaAula
InterfacciaVisualizzazioneProgrammaDidattico
InterfacciaVisualizzaPrenotazioni
InterfacciaVisualizzazioneSingolo insegnamento
BusinessDelegate
EsportaHTML
EsportaPDF
GestoreDocente
GestorePrenotazioni
GestoreRicevimento
GestoreProgrammiDidattici
GestoreInsegnamento
GestoreAule
ModuloConsigliato
DataMapper
GestoreAmministratore
3. P3. PROGETTOROGETTO DEIDEI D DATIATI
3.1. Database3.1. Database
3.1.1. Diagramma delle Dipendenze dei Dati3.1.1. Diagramma delle Dipendenze dei DatiLa modulazione dei dati tramite il diagramma delle dipendenze dei dati permette di ricavare da un insieme di dati non strutturati un modello logico in quinta forma normale.
3.1.2. Modello del Database3.1.2. Modello del Database
Dalla modellazione del diagramma delle dipendenze dei dati, si ottiene il seguente modello del database in 5 forma normale.
#Amministratore Username Password
#Prenotazione
#Docente #Aula
#Insegnamento
Capienza
Locazione
Nome Aula
Piano Aula
Tipologia Aula
Ora Inizio
Ora Fine
Giorno
Note
NomeCognomeData di NascitaLuogo di NascitaE-MailRecapito TelefonicoUsernamePasswordTipologia DocenteDipDiAppartenenza
CFUCorsoDiLaureaNomeInsegnamento
#Ricevimento
#Programma Didattico
#Amministratore
LuogoRicevimentoOraInizioOraFine
Descrizione ProgrammaDidattico
NomeProgrammaDidattico
UsernamePassword
#Aula NomeAula Capienza TipologiaAula PianoAula PosizioneAula
#Prenotazione #Aula Giorno OraInizio OraFine Note
#Docente #Prenotazione
#Docente Username
Nome Cognome DataDiNascita
DipDiAppartenenza
Email LuogoDiNascita
RecapitoTelefonico
TipologiaDocente
#Docente #ProgrammaDidattico
#ProgrammaDidattico DescrizioneProgrammaDidattico
NomeProgrammaDidattico
#Ricevimento
LuogoRicevimento Giorno OraInizio OraFine
#Docente #Ricevimento
#Insegnamento
#Ricevimento #ProgrammaDidattico
CFU NomeInsegnamento
CorsoDiLaurea
#Docente #Insegnamento
3.1.3. Dettaglio dei Dati3.1.3. Dettaglio dei DatiDocente
Identificatore Campo
Tipo chiave Tipo Descrizione
#Docente Primaria String Identifica univocamente un docente
Nome String Nome del docente
Cognome String Cognome del docente
RecapitoTelefonico
String Numero di telefono del docente
TipologiaDocente String Tipologia del docente
Password String Password di accesso al sistema
Username String Username di accesso al
sistema
DataDiNascita Data Data di nascita del docente
DipDiAppartenenza
String Dipartimento di appartenenza del docente
E-mail String E-mail del docente
Amministratore
Identificatore Campo
Tipo chiave Tipo Descrizione
#Amministratore Primaria String Identifica univocamente un amministratore
Password String Password di accesso al sistema
Username String Username di accesso al sistema
Aula
Identificatore Campo
Tipo chiave Tipo Descrizione
#Aula Primaria Intero Identifica univocamente un’ aula
NomeAula String Nome dell’aula
Capienza Intero Numero dei posti dell’aula
TipologiaAula String Tipo di Aula
PianoAula Intero Piano dove si trova l’aula
PosizioneAula String Indica la posizione dell’aula
Locazione String Indica la locazione dell’aula
Prenotazioni
Identificatore Campo
Tipo chiave Tipo Descrizione
#Prenotazione Primaria Intero Identifica univocamente una prenotazione
#Aula Esterna Intero Identifica univocamente un’aula
Giorno Data Indica il Giorno della Prenotazione
OraInizio Data Indica l’ora di inizio della prenotazione di un’aula
OraFine Data Indica l’ora di fine della prenotazione di un’aula
Programma Didattico
Identificatore Campo
Tipo chiave Tipo Descrizione
#ProgrammaDidattico
Primaria Intero Identifica univocamente un programma didattico
DescrizioneProgrammaDidattico
String Descrive il programma didattico
Ricevimento
Identificatore Campo
Tipo chiave Tipo Descrizione
#Ricevimento Primaria Intero Identifica univocamente un’orario di ricevimento
OraInizio Data Ora inizio dell’ora di ricevimento
OraFine Data Orario di fine ricevimento
Giorno String Giorno settimanale del ricevimento
Insegnamento
Identificatore Campo
Tipo chiave Tipo Descrizione
#Insegnamento Primaria Intero Identifica univocamente un insegnamento
#Ricevimento Esterna Intero Identifica univocamente un Ricevimento
#ProgrammaDidattico
Esterna Intero Identifica Univocamente un programma didattico
CFU Intero Numero crediti formativi per l’esame
CorsoDiLaurea String Corso a cui appartiene l’insegnamento
NomeInsegnamento
String Nome dell’insegnamento
3.2. File System3.2. File System
3.2.1. Grammatiche File XML3.2.1. Grammatiche File XMLIndicare, se presenti, le grammatiche XML
3.2.2. Altri File3.2.2. Altri File ModuloConsigliato.Doc
Documento Word che contiene al suo interno un pre-impostato modulo per la creazione di un programma didattico rispondendo a tutti i requisiti del docente e dell’insegnamento tenuto dal docente.
Il seguente documento word deve essere presente o modificato nel percorso ”Schedule/moduloconsigliato.doc”.
Parameters.doc
In questo file devono essere salvati tutti dati dall’utente tra cui:
1. Username dell’utente mySql avente accesso al database dello scheduleDB;
2. Password dell’utente mySql avente accesso al database dello scheduleDB;
3. Nome del database che è fissato di default con il valore di “scheduleDB”.
4. A4. APPENDICEPPENDICE
4.1. Pattern utilizzati4.1. Pattern utilizzatiCONTESTO:
L’applicazione deve fornire una interfaccia grafica costituita da più schermate, che mostrano vari dati o richiedono dati all’utente(Docente/Amministratore).
Inoltre le informazioni che devono essere visualizzate devono essere sempre quelle aggiornate.
PROBLEMA
L’ applicazione deve avere una natura modulare e basata sulla divisione per compiti ,in modo tale da ottenere un’applicazione basata su componenti. Questo è conveniente per poter facilmente gestire la manutenzione dell’applicazione.
Per tale motivo si è pensato di utilizzare un’architettura che permetta la separazione netta tra i componenti software che gestiscono il modo di presentare i dati ,e i componenti che gestiscono i dati stessi.
SOLUZIONE E STRUTTURA
L’applicazione deve separare i componenti software che implementano il modello delle funzionalità di business, dai componenti che implementano la logica di presentazione d di controllo che utilizzano tali funzionalità. Si definiscono quindi tre tipologie di componenti che soddisfano tali requisiti:
- Front Controller
Il Front Controller è implementato nella classe Front controller del livello di Presentazione. Esso centralizza tutte le richieste delle classi di Presentazione da implementare. In questo modo si garantisce un maggiore livello di manutenzione e una minore ridondanza del codice, in quanto tutto viene gestito da un' unica classe.
- Business Delegate
Il compito del Business Delegate è di disaccoppiare l'accesso ai servizi di business dai client, nascondendo e centralizzando le operazioni di localizzazione e utilizzo del servizio di business.
- Facade
Si occupa di prelevare le richieste provenienti dal’Business Delegate e di prelevare i dati dal Database per manipolarli e rispondere alle richieste in maniera adeguata.
VANTAGGI
Le Classi che formano l’applicazione possono essere facilmente riutilizzate.
L’applicazione è organizzata in più parti più semplici e comprensibili.
La modifica di una parte non coinvolge e non interferisce con le altre parti.
4.2. Altro4.2. Altro Driver MySQL JDBC
JDBC (Java Database Connectivity) è un driver per database che consente l’accesso alla basi di dati da qualsiasi programma scritto in Java, indipendentemente dai tipi di dati di DBMS Utilizzati.
iText
iText è una libreria che si Open Source per la realizzazione di reportistica da un’applicazione Java che permette di effettuare la stampa di documento in formato HTML,PDF.
Per la reportistica dell’amministratore e del docente viene utilizzata tale libreria.