Ingegneria Del Software Schedule, Progetto

416 views

Published on

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
416
On SlideShare
0
From Embeds
0
Number of Embeds
8
Actions
Shares
0
Downloads
13
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Ingegneria Del Software Schedule, Progetto

  1. 1. PROGETTO DI SISTEMAIngegneria del Software a.a. 2007-2008 Corso di Laurea: Informatica e TPS
  2. 2. Sommario1 . A R C H I T E T T U R A ...................................................................31.1. L IVELLI A RCHITETTURALI .........................................................................31.2. D IAGRAMMA DELLE C OMPONENTI ...............................................................41.3. D IAGRAMMA DI C ONFIGURAZIONE ..............................................................51.4. M ODELLO DI D ECISIONE ..........................................................................62 . P ROGETTO DI D E T T A G L I O ....................................................... 72.1. D IAGRAMMA DELLE C LASSI .......................................................................72.2. S PECIFICHE DELLE C LASSI ........................................................................72.3. D IAGRAMMI DI S EQUENZA ......................................................................522.4. M ODELLO DI D ECISIONE .......................................................................523 . P ROGETTO DEI D A T I ...........................................................5 63.1. D ATABASE ........................................................................................563.1.1. D IAGRAMMA DELLE D IPENDENZE DEI D ATI ..............................................563.1.2. M ODELLO DEL D ATABASE ...................................................................573.1.3. D ETTAGLIO DEI D ATI ........................................................................573.2. F ILE S YSTEM .....................................................................................603.2.1. G RAMMATICHE F ILE XML..................................................................603.2.2. A LTRI F ILE ....................................................................................614 . A P P E N D I C E ......................................................................6 24.1. P ATTERN UTILIZZATI .............................................................................624.2. A LTRO .............................................................................................6354 2
  3. 3. 1. ARCHITETTURA1.1. Livelli ArchitetturaliL’architettura del sistema in esame è costituito dai seguenti 3 livelli:  L i v e l l o d i P r e s e n t a z i o n e : In questo livello vi sarà la gestione delle interfacce grafiche utente e della logica di navigazione dellapplicazione. E in comunicazione con il livello di dominio sottostante.  L i v e l l o d i D o m i n i o : 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 D a t i : 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.
  4. 4. 1.2. Diagramma delle ComponentiIl diagramma delle componenti consente di individuare le componenti checostituiscono il sistema Schedule consentendone una buona modularizzazione,individuandone le interfacce.Nel nostro diagramma possiamo individuare le componenti di DB Schedule eGestione Interfacce che sono delle eccezioni rispetto alle linee di prodotto.Descrizione delle componenti:  G e s t o r e I n t e r f a c c e : Gestisce le iterazioni dell’utente con le funzionalità del sistema.  R e p o r t i s t i c a : Gestisce le funzionalità di reportistica quali stampa e produzione documenti HTML e PDF.  M o d u l o C o n s i g l i a t o : Gestisce le funzionalità di download del modulo consigliato in formato DOC.  Gestione D o c e n t e : Gestisce le funzionalità relative alla gestione del docente.  G e s t i o n e I n s e g n a m e n t i : Gestisce le funzionalità relative alla gestione degli insegnamenti.  Gestione Programmi D i d a t t i c i : Gestisce le funzionalità relative alla gestione dei Programmi Didattici.  G e s t i o n e P r e n o t a z i o n i : Gestisce le funzionalità relative alla gestione delle prenotazioni.  G e s t i o n e A u l e : Gestisce le funzionalità relative alla gestione delle aule.  G e s t i o n e A m m i n i s t r a t o r e : Gestisce le funzionalità relative alla gestione dell’amministratore.  Gestione R i c e v i m e n t o : Gestisce le funzionalità relative alla gestione degli orari di ricevimento.  D B S c h e d u l e : Gestisce le funzionalità di interfacciamento con il DB dello schedule.
  5. 5. 1.3. Diagramma di Configurazione
  6. 6. 1.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
  7. 7. 2. PROGETTO DI DETTAGLIO2.1. Diagramma delle ClassiIl diagramma delle classi con relativi metodi e attributi aggiunti possono esserevisualizzati nel file diagram_14 della progettazione sotto la sezione “Livello dipresentazione”,”Livello di Dominio”,”Livello di sorgente dati”.2.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 ()  apriFinestraGestioneDatiPersonaliDocentePerA mministratore ()  apriFinestraGestioneDocente ()  apriFinestraGestioneInsegnamento ()  apriFinestraGestioneRicevimentoPerAmministr atore ()
  8. 8.  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 () apriFinestraStampaOrarioRicevimentoSingoloD ocente (String idDoc) apriFinestraStampaInsegnamentiSelezionati (ArrayList<String> nomeIns,
  9. 9. ArrayList<String> CDL) apriFinestraStampaPrenotazioniAulePerAmmini stratore () apriFinestraStampaPrenotazioniGenerali () apriFinestraStampaProgrammaDidattico () apriFinestraStampaProgrammiDidatticiPerAmm instratore () 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
  10. 10. 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/boole an 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
  11. 11. 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,
  12. 12. 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: InserimentoDatiPersonaliLivello Architetturale: Presentazione Istanzia: Front Controller Metodi Pubblici:  InserimentoDatiPersonali ()  InserimentoDatiPersonaliFrame ()  inserimentoDatiPersonaliPanel (jFrame frame) Descrizione: Gestisce linterfaccia grafica che si occupa di catturare i dati relativi all Docente Nome Classe: InterfacciaGestioneAulaLivello Architetturale: Presentazione Istanzia: Front Controller Metodi Pubblici:  InterfacciaGestioneAule (ArrayList<String> datiAula)  InterfacciaGestioneAuleFrame (ArrayList<String> datiAula)  InterfacciaGestioneAulePanel (jFrame frame, ArrayList<String> datiAula) Descrizione: Gestisce linterfaccia grafica e alcune operazioni
  13. 13. relative alla gestione delle Aule. Nome Classe: InterfacciaGestioneInsegnamentoLivello 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 linterfaccia grafica e alcune operazioni relative alla gestione degli Insegnamenti Nome Classe: InterfacciaAutentificazioneLivello Architetturale: Presentazione Istanzia: Front Controller Metodi Pubblici:  InterfacciaAutenticazione ()  InterfacciaAutentificazioneFrame ()  InterfacciaAutentificazionePanel (jFrame frame) Descrizione: Gestisce linterfaccia grafica relativa allautentificazione di un utente
  14. 14. Nome Classe: InterfacciaEffettuaPrenotazioneLivello Architetturale: Presentazione Istanzia: Front Controller Metodi Pubblici:  InterfacciaEffettuaPrenotazione (DefaultTableModel tabellaprenotazioni, int row, int column, Date giorno)  InterfacciaEffettuaPrenotazionePanel (jFrame frame)  InterfacciaEffettuaPrenotazioneFrame () Descrizione: Gestisce linterfaccia grafica per la memorizzazione di una prenotazione Nome Classe: InterfacciaEliminaPrenotazioneLivello Architetturale: Presentazione Istanzia: Front Controller Metodi Pubblici:  InterfacciaEliminaPrenotazione / (DefaultTableModel tabellaprenotazioni, int row, int column, Date giorno)  InterfacciaEliminaPrenotazionePanel (jFrame frame)  InterfacciaEliminaPrenotazioneFrame () Descrizione: Gestisce linterfaccia grafica relativa alleliminazione di una prenotazione Nome Classe: InterfacciaEliminazioniLivello Architetturale: Presentazione Istanzia: Front Controller Metodi Pubblici:  InterfacciaEliminazione ()
  15. 15.  InterfacciaEliminazionePanel (jFrame frame)  InterfacciaEliminazioneFrame () Descrizione: Gestisce linterfaccia grafica relativa all eliminazione di un Docente/Amministratore Nome Classe: InterfacciaEsportaHTMLLivello Architetturale: Presentazione Istanzia: Front Controller Metodi Pubblici:  InterfacciaEsportaHTML (ArrayList<String> dati) Descrizione: Gestisce linterfaccia grafica relativa all esportazione in HTML. Nome Classe: InterfacciaEsportaPDFLivello Architetturale: Presentazione Istanzia: Front Controller Metodi Pubblici:  InterfacciaEsportaPDF (ArrayList<String> dati) Descrizione: Gestisce linterfaccia grafica relativa all esportazione in PDF Nome Classe: InterfacciaGestioneAmministratoreLivello Architetturale: Presentazione Istanzia: Front Controller Metodi Pubblici:  InterfacciaGestioneAmministratore ()
  16. 16.  InterfacciaGestioneAmministratorePanel (jFrame frame)  InterfacciaGestioneAmministratoreFrame () Descrizione: Gestisce linterfaccia grafica relativa alla gestione dellamministratore Nome Classe: InterfacciaGestioneDatiLivello Architetturale: Presentazione Istanzia: Front Controller Metodi Pubblici:  InterfacciaGestioneDati (ArrayList<String>datiUtente)  InterfacciaGestioneDatiPanel (ArrayList<String>datiUtente, jFrame frame)  InterfacciaGestioneDatiFrame (ArrayList<String>datiUtente) Descrizione: Gestisce linterfaccia grafica relativa ai dati di a Nome Classe: InterfacciaGestioneDatiPersonalideiDocentiperAmmi nistratoreLivello Architetturale: Presentazione Istanzia: Front Controller Metodi Pubblici:  InterfacciaGestioneDatiPersonalideiDocentiper Amministratore (ArrayList<String> datiDocenti)  InterfacciaGestioneDatiPersonalideiDocentiper Amministratorepanel (ArrayList<String> datiDocenti, jFrame frame)  InterfacciaGestioneDatiPersonalideiDocentiper AmministratoreFrame (ArrayList<String> datiDocenti)
  17. 17. Descrizione: Gestisce linterfaccia grafica relativa alla gestione dei docenti da parte dellamministratore Nome Classe: InterfacciaGestioneDocenteLivello Architetturale: Presentazione Istanzia: Front Controller Metodi Pubblici:  interfacciaGestioneDocente (ArrayList<String> datiDoc)  InterfacciaGestioneDocentePanel (ArrayList<String> datiDoc, jFrame frame)  InterfacciaGestioneDocenteFrame (ArrayList<String> datiDoc) Descrizione: Gestisce linterfaccia grafica relativa alla gestione del docente Nome Classe: InterfacciaGestioneInserimentoProgrammaDidatticoLivello Architetturale: Presentazione Istanzia: Front Controller Metodi Pubblici:  InterfacciaGestioneInserimentoProgrammaDida ttico (ArrayList<String> nomiIns)  InterfacciaGestioneInserimentoProgrammaDida tticoPanel (ArrayList<String> nomiIns, jFrame frame)  interfacciaGestioneInserimentoProgrammaDida tticoFrame (ArrayList<String> nomiIns) Descrizione: Gestisce linterfaccia grafica relativa all inserimento di un nuovo programma Didattico
  18. 18. Nome Classe: InterfacciaGestionePrenotazioneLivello Architetturale: Presentazione Istanzia: Front Controller Metodi Pubblici:  InterfacciaGestionePrenotazione ()  InterfacciaGestionePrenotazioneFrame ()  InterfacciaGestionePrenotazionePanel (jFrame frame)  InterfacciaGestionePrenotazioneTablePanel () Descrizione: Gestisce linterfaccia grafica relativa alla gestione delle prenotazioni da parte del docente Nome Classe: InterfacciaGestioneProgrammiDidatticiLivello Architetturale: Presentazione Istanzia: Front Controller Metodi Pubblici:  InterfacciaGestioneProgrammiDidattici (ArrayList<String> datiProgrammaDidattico)  InterfacciaGestioneProgrammiDidatticiPanel (ArrayList<String> datiProgrammaDidattico, jFrame frame)  InterfacciaGestioneProgrammiDidatticiFrame (ArrayList<String> datiProgrammaDidattico) Descrizione: Gestisce linterfaccia grafica relativa alla gestione dei programmi didattici del docente Nome Classe: InterfacciaGestioneRicevimentoLivello Architetturale: Presentazione Istanzia: Front Controller
  19. 19. Metodi Pubblici:  InterfacciaGestioneRicevimento (ArrayList<String> insegnamenti)  InterfacciaGestioneRicevimentoPanel (ArrayList<String> insegnamenti, jFrame frame)  InterfacciaGestioneRicevimentoFrame (ArrayList<String> insegnamenti) Descrizione: Gestisce linterfaccia grafica relativa alla gestione dell orario di riceviemento del docente Nome Classe: InterfacciaGestioneRicevimentoPerAmministratoreLivello Architetturale: Presentazione Istanzia: Front Controller Metodi Pubblici:  InterfacciaGestioneRiceviementoperAmministr atore (ArrayList<String> datiIns, ArrayList<String> datiDocente)  InterfacciaGestioneRicevimentoperAmministrat orePanel (ArrayList<String> datiIns, ArrayList<String> datiDocente, jFrame frame)  InterfacciaGestioneRicevimentoperAmministrat oreframe (ArrayList<String> datiIns, ArrayList<String> datiDocente) Descrizione: Gestisce linterfaccia grafica relativa alla gestione dellorario di ricevimento dei docenti da parte dellamministratore Nome Classe: InterfacciaInsVecchiDatiLivello Architetturale: Presentazione Istanzia: Front Controller Metodi Pubblici:  interfacciaInsVecchiDati ()
  20. 20.  InterfacciaInsVecchiDatiPanel (jFrame frame)  InterfacciaInsVecchiDatiFrame () Descrizione: Gestisce linterfaccia grafica relativa al inserimento dei vecchi dati del docente e dellamministratore Nome Classe: InterfacciaInserimentoDatiAulaLivello Architetturale: Presentazione Istanzia: Front Controller Metodi Pubblici:  interfacciaInserimentoDatiAula ()  InterfacciaInserimentoDatiAulaPanel (jFrame frame)  InterfacciaInserimentoDatiAulaFrame () Descrizione: Gestisce linterfaccia grafica relativa all inserimento dei dati delle aule Nome Classe: InterfacciaInserimentoNuovoUtenteLivello Architetturale: Presentazione Istanzia: Front Controller Metodi Pubblici:  InterfacciaInserimentoNuovoUtente ()  InterfacciainserimentoNuovoUtentePanel (jFrame frame)  InterfacciaInserimentoNuovoUtenteFrame () Descrizione: Gestisce linterfaccia grafica relativa allinserimento di un nuovo Docente/Amministratore.
  21. 21. Nome Classe: InterfacciaInserimentoOrarioRicevimentoLivello 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 linterfaccia grafica relativa all inserimento di un orario di ricevimento del docente Nome Classe: InterfacciaInserisciDatiInsegnamentoLivello Architetturale: Presentazione Istanzia: Front Controller Metodi Pubblici:  InterfacciaInserimentoDatiInsegnamento ()  InterfacciaInserimentoDatiInsegnamentoPanel (jFrame frame)  InterfacciaInserimentoDatiInsegnamentoFrame () Descrizione: Gestisce linterfaccia grafica relativa allinserimento dei dati relatavi al insegnamento da parte dell amministratore. Nome Classe: InterfacciaModificaDatiLivello Architetturale: Presentazione Istanzia: Front Controller Metodi Pubblici:  InterfacciaModificaDati ()
  22. 22.  InterfacciaModificaDatiPanel (jFrame frame)  InterfacciaModificaDatiFrame () Descrizione: Gestisce linterfaccia grafica relativa alla Modifica dei dati del docente/amministratore Nome Classe: InterfacciaModificaDatiAulaLivello Architetturale: Presentazione Istanzia: Front Controller Metodi Pubblici:  InterfacciaModificaDatiAula (ArrayList<String> datiAula)  InterfacciaModificaDatiAulaFrame (ArrayList<String> datiAula)  InterfacciaModificaDatiAulaPanel (ArrayList<String> datiAula, jFrame frame) Descrizione: Gestisce linterfaccia grafica relativa alla modifica del dati relativi allaula da parte dellamministratore Nome Classe: InterfacciaModificaDatiInsegnamentoLivello Architetturale: Presentazione Istanzia: Front Controller Metodi Pubblici:  InterfacciaModificaDatiInsegnamento (ArrayList<String> datiProgrammaDidattico)  InterfacciaModificaDatiInsegnamentoFrame (ArrayList<String> datiProgrammaDidattico)  InterfacciaModificaDatiInsegnamentoPanel (ArrayList<String> datiProgrammaDidattico, jFrame frame)
  23. 23. Descrizione: Gestisce linterfaccia grafica relativa alla modifica dei dati relativi allinsegnamento da parte dellamministratore Nome Classe: InterfacciaModificaDatiPersonaliLivello Architetturale: Presentazione Istanzia: Front Controller Metodi Pubblici:  InterfacciaModificaDatiPersonali (ArrayList<String> datiUtente)  InterfacciaModificaDatiPersonaliPanel (ArrayList<String> datiUtente, jFrame frame)  InterfacciaModificaDatiPersonaliFrame (ArrayList<String> datiUtente) Descrizione: Gestisce linterfaccia grafica relativa alla modifica dei dati personali del docente Nome Classe: InterfacciaModificaPrenotazioneLivello Architetturale: Presentazione Istanzia: Front Controller Metodi Pubblici:  InterfacciaModificaPrenotazione (DefaultTableModel tabellaprenotazioni, int row, int column, Date giorno)  InterfacciaModificaPrenotazionePanel (jFrame frame)  InterfacciaModificaPrenotazioneFrame () Descrizione: Gestisce linterfaccia grafica relativa alla modifica dei dati relativi alla prenotazione da parte del docente
  24. 24. Nome Classe: InterfacciaModificaProgrammaDidatticoLivello Architetturale: Presentazione Istanzia: Front Controller Metodi Pubblici:  InterfacciaModificaProgrammaDidattico (ArrayList<String> datiProgrammaDidattico)  InterfacciaModificaProgrammaDidatticoPanel (ArrayList<String> datiProgrammaDidattico, jFrame frame)  InterfacciaModificaProgrammaDidatticoFrame (ArrayList<String> datiProgrammaDidattico) Descrizione: Gestisce linterfaccia grafica relativa alla modifica del programma didattico da parte del docente Nome Classe: InterfacciaModificaRicevimentoLivello 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 linterfaccia grafica relativa alla modifica dellorario di ricevimento da parte del docente Nome Classe: InterfacciaScaricamentoModuloConsigliatoLivello Architetturale: Presentazione Istanzia: Front Controller
  25. 25. Metodi Pubblici:  InterfacciaScaricamnetoModuloConsigliato ()  InterfacciaScaricamentoModuloConsigliatoPane l (jFrame frame)  InterfacciaScaricamentoModuloConsigliatoFra me () Descrizione: Gestisce linterfaccia grafica relativa allo scaricamento del modulo consigliato da parte del docente. Nome Classe: InterfacciaStampaDatiDocenteLivello Architetturale: Presentazione Istanzia: Front Controller Metodi Pubblici:  InterfacciaStampaDatiDocente (ArrayList<String> dati)  InterfacciaStampaDatiDocentePanel (ArrayList<String> dati, jFrame frame)  InterfacciaStampaDatiDocenteFrame (ArrayList<String> dati) Descrizione: Gestisce linterfaccia grafica relativa alla Stampa dei dati relativi al docente da parte del docente Nome Classe: InterfacciaStampaDocentiSelezionatiLivello Architetturale: Presentazione Istanzia: Front Controller Metodi Pubblici:  InterfacciaStampaDocentiSelezionati (ArrayList<String> dati)  InterfacciaStampaDocentiSelezionatiPanel (ArrayList<String> dati, jFrame frame)  InterfacciaStampaDocentiSelezionatiFrame
  26. 26. (ArrayList<String> dati) Descrizione: Gestisce linterfaccia grafica relativa alla stampa dei docenti selezionati da parte dellamministratore Nome Classe: InterfacciaStampaInsegnamentiDocenteLivello Architetturale: Presentazione Istanzia: Front Controller Metodi Pubblici:  InterfacciaStampaInsegnamentiDocente (ArrayList<String> dati)  InterfacciaStampaInsegnamentiDocentePanel (ArrayList<String> dati, jFrame frame)  InterfacciaStampaInsegnamentiDocenteFrame (ArrayList<String> dati) Descrizione: Gestisce linterfaccia grafica relativa alla stampa degli insegnamenti tenuti da un docente da parte dellamministratore Nome Classe: InterfacciaStampaInsegnamentoSelezionatoLivello Architetturale: Presentazione Istanzia: Front Controller Metodi Pubblici:  interfacciaStampaInsegnamentoSelezionato (ArrayList<String> dati)  interfacciaStampaInsegnamentoSelezionatoPan el (ArrayList<String> dati, jFrame frame)  interfacciaStampaInsegnamentoSelezionatoFra me (ArrayList<String> dati) Descrizione: Gestisce linterfaccia grafica relativa alla stampa dei dati relativi all insegnamento selezionato da parte dellamministratore
  27. 27. Nome Classe: InterfacciaStampaOrarioRicevimentoLivello Architetturale: Presentazione Istanzia: Front Controller Metodi Pubblici:  InterfacciaStampaOrarioRicevimento (ArrayList<String> dati)  InterfacciaStampaOrarioRicevimentoPanel (ArrayList<String> dati, jFrame frame)  InterfacciaStampaOrarioRicevimentoFrame (ArrayList<String> dati) Descrizione: Gestisce linterfaccia grafica relativa alla stampa degli orari di ricevimento del docente Nome Classe: InterfacciaStampaOrariRicevimentiSelezionatiLivello Architetturale: Presentazione Istanzia: Front Controller Metodi Pubblici:  InterfacciaStampaOrarioRicevimentiSelezionati (ArrayList<String> dati)  InterfacciaStampaOrarioRicevimentiSelezionati Frame (ArrayList<String> dati)  InterfacciaStampaOrarioRicevimentiSelezionati Panel (ArrayList<String> dati, jFrame frame) Descrizione: Gestisce linterfaccia grafica relativa alla stampa degli orari di ricevimento selezionati da parte dellamministratore Nome Classe: InterfacciaStampaOrarioRicevimentoSingoloDocenteLivello Architetturale: Presentazione
  28. 28. Istanzia: Front Controller Metodi Pubblici:  InterfacciaStampaOrarioRicevimentoSingoloDo cente (ArrayList<String> dati)  InterfacciaStampaOrarioRicevimentoSingoloDo centePanel (ArrayList<String> dati, jFrame frame)  InterfacciaStampaOrarioRicevimentoSingoloDo centeFrame (ArrayList<String> dati) Descrizione: Gestisce linterfaccia grafica relativa alla stampa degli orari di ricevimento di un docente selezionato da parte dellamministratore Nome Classe: InterfacciaStampaPrenotazioniAulePer AmministratoreLivello Architetturale: Presentazione Istanzia: Front Controller Metodi Pubblici:  InterfacciaStampaPrenotazioniAulePer Amministratore ()  InterfacciaStampaPrenotazioniAulePer AmministratorePanel (jFrame frame)  InterfacciaStampaPrenotazioniAulePer AmministratoreFrame ()  InterfacciaStampaIntervalloDiTempo ()  InterfacciaStampaPrenotazioniPerAula ()  InterfacciaStampaPrenotazioniPerDocente () Descrizione: Gestisce linterfaccia grafica relativa alla stampa delle prenotazioni delle aule da parte dellamministratore Nome Classe: InterfacciaStampaPrenotazioniGenerali
  29. 29. Livello Architetturale: Presentazione Istanzia: Front Controller Metodi Pubblici:  InterfacciaStampaPrenotazioniGenerali ()  InterfacciaStampaPrenotazioniGeneralipanel (jFrame frame)  InterfacciaStampaPrenotazioniGeneraliFrame ()  InterfacciaStampaIntervalloditempo ()  InterfacciaStampaPrenotazioniPerAula () Descrizione: Gestisce linterfaccia grafica relativa alla stampa delle prenotazioni delle aule da parte del docente Nome Classe: InterfacciaStampaProgrammiDidatticiLivello Architetturale: Presentazione Istanzia: Front Controller Metodi Pubblici:  InterfacciaStampaProgrammiDidattici (ArrayList<String> dati)  InterfacciaStampaProgrammiDidatticiPanel (ArrayList<String> dati, jFrame frame)  InterfacciaStampaProgrammiDidatticiFrame (ArrayList<String> dati) Descrizione: Gestisce linterfaccia grafica relativa alla stampa dei programmi didattici da parte delldocente Nome Classe: InterfacciaStampaProgrammiDidatticiperAmministrat oreLivello Architetturale: Presentazione Istanzia: Front Controller Metodi Pubblici:  InterfacciaStampaProgrammiDidatticiperAmmi
  30. 30. nistratore (ArrayList<String> dati)  InterfacciaStampaProgrammiDidatticiperAmmi nistratorePanel (ArrayList<String> dati, jFrame frame)  InterfacciaStampaProgrammiDidatticiperAmmi nistratoreFrame (ArrayList<String> dati) Descrizione: Gestisce linterfaccia grafica relativa alla stampa dei programmi didattici da parte dellamministratore Nome Classe: InterfacciaStampaPropriInsegnamentiLivello Architetturale: Presentazione Istanzia: Front Controller Metodi Pubblici:  InterfacciaStampaPropriInsegnamenti (ArrayList<String> dati)  InterfacciaStampaPropriInsegnamentiPanel (ArrayList<String> dati, jFrame frame)  InterfacciaStampaPropriInsegnamentiFrame (ArrayList<String> dati) Descrizione: Gestisce linterfaccia grafica relativa alla stampa dei propri insegnamenti da parte del docente Nome Classe: InterfacciaStampaSingoloDocenteLivello Architetturale: Presentazione Istanzia: Front Controller Metodi Pubblici:  InterfacciaStampaSingoloDocente (ArrayList<String> dati)  InterfacciaStampaSingoloDocentePanel (ArrayList<String> dati, jFrame frame)  InterfacciaStampaSingoloDocenteFrame
  31. 31. (ArrayList<String> dati) Descrizione: Gestisce linterfaccia grafica relativa alla stampa dei dati di un docente selezionato da parte del amministratore Nome Classe: InterfacciaStampaTuttiDocentiLivello Architetturale: Presentazione Istanzia: Front Controller Metodi Pubblici:  InterfacciaStampaTuttiDocenti (ArrayList<String> dati)  InterfacciaStampaTuttiDocentiPanel (ArrayList<String> dati, jFrame frame)  InterfacciaStampaTuttiDocentiFrame (ArrayList<String> dati) Descrizione: Gestisce linterfaccia grafica relativa alla stampa dei dati di tutti i docenti da parte del amministratore Nome Classe: InterfacciaStampaTuttiInsegnamentiLivello Architetturale: Presentazione Istanzia: Front Controller Metodi Pubblici:  InterfacciaStampaTuttiInsegnamenti (ArrayList<String> dati)  InterfacciaStampaTuttiInsegnamentiPanel (ArrayList<String> dati, jFrame frame)  InterfacciaStampaTuttiInsegnamentiFrame (ArrayList<String> dati) Descrizione: Gestisce linterfaccia grafica relativa alla stampa dei dati di tutti gli Insegnamenti da parte del amministratore
  32. 32. Nome Classe: InterfacciaStampaTuttiOrariRicevimentoAmministrato reLivello Architetturale: Presentazione Istanzia: Front Controller Metodi Pubblici:  InterfacciaStampaTuttiOrariRicevimentoAmmin istratore (ArrayList<String> dati)  InterfacciaStampaTuttiOrariRicevimentoAmmin istratorePanel (ArrayList<String> dati, jFrame frame)  InterfacciaStampaTuttiOrariRicevimentoAmmin istratoreFrame (ArrayList<String> dati) Descrizione: Gestisce linterfaccia grafica relativa alla stampa dei dati di tutti gli orari di ricevimento da parte del amministratore Nome Classe: InterfacciaVisualizzazioneDatiSingolaAulaLivello Architetturale: Presentazione Istanzia: Front Controller Metodi Pubblici:  InterfacciaVisualizzazioneDatiAula (ArrayList<String> datiAula)  InterfacciaVisualizzazioneDatiAulapanel (ArrayList<String> datiAula, jFrame frame)  InterfacciaVisualizzazioneDatiAulaFrame (ArrayList<String> datiAula) Descrizione: Gestisce linterfaccia grafica relativa alla visualizzazione dei dati di un aula selezionata da parte del Amministratore
  33. 33. Nome Classe: InterfacciaVisualizzazioneProgrammaDidatticoLivello Architetturale: Presentazione Istanzia: Front Controller Metodi Pubblici:  InterfacciaVisualizzazioneProgrammaDidattico (ArrayList<String> datiProgrammaDidattico)  InterfacciaVisualizzazioneProgrammaDidattico Panel (ArrayList<String> datiProgrammaDidattico, jFrame frame)  InterfacciaVisualizzazioneProgrammaDidattico Frame (ArrayList<String> datiProgrammaDidattico) Descrizione: Gestisce linterfaccia grafica relativa alla visualizzazione di un programma didattico selezionato dal docente Nome Classe: InterfacciaVisualizzazioneSingoloInsegnamentoLivello Architetturale: Presentazione Istanzia: Front Controller Metodi Pubblici:  InterfacciaVisualizzazioneSingoloInsegnament o (ArrayList<String> datiInsegnamento)  InterfacciaVisualizzazioneSingoloInsegnament oFrame (ArrayList<String> datiInsegnamento)  InterfacciaVisualizzazioneSingoloInsegnament oPanel (ArrayList<String> datiInsegnamento, jFrame frame) Descrizione: Gestisce linterfaccia grafica relativa alla visualizzazione di un singolo insegnamento selezionato da parte del amministratore. Nome Classe: InterfacciaVisualizzaPrenotazioni
  34. 34. Livello Architetturale: Presentazione Istanzia: Front Controller Metodi Pubblici:  InterfacciaVisualizzaPrenotazioni ()  InterfacciaVisualizzaPrenotazioniFrame ()  InterfacciaVisualizzazioneGenerale (jFrame frame)  InterfacciaVisualizzazioneIntervalloDiTempo ()  InterfacciaVisualizzazioneMese ()  InterfacciaVisualizzazioneSettimana ()  InterfacciaVisualizzazioneTabella () Descrizione: Gestisce linterfaccia grafica relativa alla visualizzazione delle PrenotazioniSono 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
  35. 35. 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
  36. 36. 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) richiediInsegnamentoDocenteSelezionatoPerAss ociazioneProgrammaDidattico () richiediNomeInsegnamento () richiediNomiProgrammaDidattico () richiediProgrammaDidattico (String nomePD) richiediProgrammaDidatticoVisualizzazione (String nomePD)
  37. 37.  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
  38. 38. 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)
  39. 39.  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 DocenteLivello 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)
  40. 40.  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 AmministratoreLivello Architetturale: Dominio Istanzia: Amministratore
  41. 41. 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 AuleLivello 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)
  42. 42.  richiediAula ()  richiestaAula (int idAula)  verificaAula (String nomeAula, int piano, String locazione) Descrizione: Si occupa di gestire i dati relativi alle aule Nome Classe: Gestore InsegnamentoLivello 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)  richiediInsegnamentoDocenteSelezionatoperAs sociazioneProgrammaDidattico (String idDocente)  richiediNomiInsegnamenti ()  richiediPropriInsegnamenti (String idDocente)  richiediPropriInsegnamentiStampa (String
  43. 43. 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 PrenotazioneLivello 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)
  44. 44.  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 DidatticoLivello 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
  45. 45. Nome Classe: Gestore RicevimentoLivello 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
  46. 46. Nome Classe: Modulo consigliatoLivello Architetturale: Dominio Metodi Pubblici:  ScaricamentoModuloConsigliato (String PercorsoS) Descrizione: Si occupa di gestire il download del modulo consigliato Nome Classe: EsportaHTMLLivello Architetturale: Dominio Metodi Pubblici:  stampaHTML (String nome, ArrayList<String> dati) Descrizione: Si occupa di gestire la stampa dei dati in formato HTML Nome Classe: EsportaPDFLivello Architetturale: Dominio Metodi Pubblici:  stampaPDF (String nome, ArrayList<String> dati) Descrizione: Si occupa di gestire la stampa dei dati in formato PDF Nome Classe: DocenteLivello Architetturale: Dominio Attributi:  Id  Cognome  DatadiNascita  DipDiAppartenenza  E-mail
  47. 47.  LuogoDiNascita  Nome  Password  RecapitoTelefonico  TipologiaDocente  UsernameMetodi 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
  48. 48. Nome Classe: AmministratreLivello 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: InsegnamentoLivello Architetturale: Dominio Attributi:  NomeInsegnamento  CorsoDiLaurea  CFU  ID Metodi Pubblici:  setID (int ID)  setNomeInsegnamento (String nome)  setCFU (int CF)  setCorsoDiLaurea (String corso)  getID ()  getNomeInsegnamento ()  getCFU ()
  49. 49.  getCorsoDiLaurea () Descrizione: Si occupa di gestire i dati relativi al Insegnamento Nome Classe: AulaLivello 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: PrenotazioneLivello Architetturale: Dominio
  50. 50. 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: ProgrammaDidatticoLivello Architetturale: Dominio Attributi:  Id  descrizioneProgramma  ProgrammaDidattico  nomeProgrammaDidattico Metodi Pubblici:  setID (int ID)  setdescrizioneProgrammaDidattico (String Descrizione)  setProgrammaDidattico (String Programma)  setNomeProgrammaDidattico (String NomeProgramma)
  51. 51.  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 RicevimentoSono riportate qui di seguito le specifiche delle classi a livello di sorgente dati.
  52. 52. 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 DataBase2.3. Diagrammi di SequenzaI diagrammi di sequenza relativi alla progettazione posso essere visualizzati nelfile diagram_14 della progettazione nella sezione “Diagrammi di sequenza”.2.4. Modello di DecisioneNel seguente modello di decisione verranno elencate tutte le classi dei vari livelliarchitetturali 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 √ √ √ √ √ √ √ √
  53. 53. InterfacciaEsportaHTML √ √InterfacciaEsportaPDF √ √InterfacciaGestioneAmministratore √ √ √InterfacciaGestioneAule √InterfacciaGestioneDati √InterfacciaGestioneDatiPersonaliDoce √nteperAmministratoreInterfacciaGestioneDocente √ √ √ √ √InterfacciaGestioneInsegnamenti √InterfacciaGestioneInserimentoProgra √mmaDidatticoInterfacciaGestionePrenotazione √InterfacciaGestioneProgrammiDidattici √InterfacciaGestioneRicevimento √InterfacciaGestioneRicevimentoperAm √ministratoreInterfacciaInsVecchiDati √InterfacciaInserimentoDatiAula √InterfacciaInserimentoDatiPersonali √InterfacciaInserimentoNuovoUtente √ √ √ √ √ √ √ √InterfacciaInserimentoOraridiRicevime √ntoInterfacciaInserisciDatiInsegnamento √InterfacciaModificaDati √InterfacciaModificaDatiAula √InterfacciaModificaDatiInsegnamento √InterfacciaModificaDatiPersonali √InterfacciaModificaPrenotazione √InterfacciaModificaProgrammaDidattic √oInterfacciaModificaRicevimento √
  54. 54. InterfacciaScaricamentoModuloConsig √liatoInterfacciaStampaDatiDocente √InterfacciaStampaDocenteSelezionati √InterfacciaStampaInsegnamentiDocent √eInterfacciaStampaInsegnamentoSelezi √onatoInterfacciaStampaOrariodiRicevimento √SelezionatiInterfacciaStampaOrarioRicevimento √InterfacciaStampaOrarioRicevimentoSi √ngoloDocenteInterfacciaStampaPrenotazioneAuleper √AmministratoreInterfacciaStampaPrenotazionigenerali √InterfacciaStampaProgrammiDidattici √InterfacciaStampaProgrammiDidatticip √erAmministratoreInterfacciaStampaPropriInsegnamenti √InterfacciaStampaSingoloDocente √InterfacciaStampaTuttiDocenti √InterfacciaStampatuttiInsegnamenti √InterfacciaStampaTuttiOrariRiceviment √oInterfacciaVisualizzazioneDatiSingola √AulaInterfacciaVisualizzazioneProgramma √DidatticoInterfacciaVisualizzaPrenotazioni √InterfacciaVisualizzazioneSingolo √insegnamentoBusinessDelegate √ √ √ √ √ √ √ √
  55. 55. EsportaHTML √ √EsportaPDF √ √GestoreDocente √ √ √ √ √ √GestorePrenotazioni √ √ √GestoreRicevimento √ √ √GestoreProgrammiDidattici √ √ √GestoreInsegnamento √ √ √ √GestoreAule √ √ √ √ModuloConsigliato √DataMapper √ √ √ √ √ √ √ √GestoreAmministratore √ √ √
  56. 56. 3. PROGETTO DEI DATI3.1. Database3.1.1. Diagramma delle Dipendenze dei DatiLa modulazione dei dati tramite il diagramma delle dipendenze dei dati permettedi ricavare da un insieme di dati non strutturati un modello logico in quintaforma normale. #Docente #Prenotazio #Aula ne #Insegname Nome nto Ora Inizio Capienza Cognome Ora Fine Locazione Data di Nascita Luogo di Nascita Giorno Nome Aula E-Mail CFU Recapito Telefonico Note Piano Aula CorsoDiLaurea Username Tipologia Aula NomeInsegnamento Password Tipologia Docente DipDiAppartenenza #Ricevimen #Programma #Amministrato to Didattico re LuogoRicevime nto Descrizione  Username ProgrammaDidattico OraInizio Password OraFine NomeProgrammaDidattico
  57. 57. 3.1.2. Modello del DatabaseDalla modellazione del diagramma delle dipendenze dei dati, si ottiene ilseguente modello del database in 5 forma normale. #Amministratore Username Password #Aula NomeAula Capienza TipologiaAula PianoAula PosizioneA ula #Prenotazione #Aula Giorno OraInizio OraFine Note #Docente #Prenotazione #Do cente Userna Nome Cognome DataDiNas DipDiAppa Email LuogoDiNa RecapitoT Tipologia me cita rtenenza scita elefonico Docente #Docente #ProgrammaDidattico #ProgrammaDidattico DescrizioneProgrammaDidat NomeProgrammaDidattico tico #Ricevimento LuogoRicevimento Giorno OraInizio OraFine #Docente #Ricevimento #Insegnamen #Ricevimento #ProgrammaDidatt CFU NomeInsegnament CorsoDiLaur to ico o ea #Docente #Insegnamento3.1.3. Dettaglio dei DatiDocente
  58. 58. Identificatore Tipo chiave Tipo DescrizioneCampo#Docente Primaria String Identifica univocamente un docenteNome String Nome del docenteCognome String Cognome del docenteRecapitoTelefonic String Numero di telefono delo docenteTipologiaDocente String Tipologia del docentePassword String Password di accesso al sistemaUsername String Username di accesso al sistemaDataDiNascita Data Data di nascita del docenteDipDiAppartenen String Dipartimento diza appartenenza del docenteE-mail String E-mail del docenteAmministratoreIdentificatore Tipo chiave Tipo DescrizioneCampo#Amministratore Primaria String Identifica univocamente un amministratorePassword String Password di accesso al sistemaUsername String Username di accesso al sistemaAulaIdentificatore Tipo chiave Tipo DescrizioneCampo#Aula Primaria Intero Identifica univocamente un’ aula
  59. 59. NomeAula String Nome dell’aulaCapienza Intero Numero dei posti dell’aulaTipologiaAula String Tipo di AulaPianoAula Intero Piano dove si trova l’aulaPosizioneAula String Indica la posizione dell’aulaLocazione String Indica la locazione dell’aulaPrenotazioniIdentificatore Tipo chiave Tipo DescrizioneCampo#Prenotazione Primaria Intero Identifica univocamente una prenotazione#Aula Esterna Intero Identifica univocamente un’aulaGiorno Data Indica il Giorno della PrenotazioneOraInizio Data Indica l’ora di inizio della prenotazione di un’aulaOraFine Data Indica l’ora di fine della prenotazione di un’aulaProgramma DidatticoIdentificatore Tipo chiave Tipo DescrizioneCampo#ProgrammaDidatt Primaria Intero Identifica univocamente unico programma didatticoDescrizioneProgra String Descrive il programmammaDidattico didatticoRicevimento

×