Corso di Laboratorio Internet / Laboratorio di progettazione del Prof.R.Polillo - Università di Milano Bicocca - DISCO - AA. 2009-2010 -
(vedi anche www.rpolillo.it)
Una lista di libri da cui trarre ispirazione, metodi di sviluppo, modelli e quant'altro possa esserti utile per approfondire le tue tecniche di programmazione.
Affidati a chi ha già affrontato problemi simili, applica i loro metodi di lavoro e migliora le tue capacità.
This presentation talks about the main features of UML class diagrams. The slides contain information about how to use sequence diagrams to represent components' interactions in a software system. UML 2.x featuers are also described, like frames.
The presentation is took from the Software Engineering course I run in the bachelor-level informatics curriculum at the University of Padova.
This presentation talks about the main features of UML class diagrams. The slides contain information about how to represent a class, what is a classe feature, what are possible association types, class dependency, hineritance and subtyping.
The presentation is took from the Software Engineering course I run in the bachelor-level informatics curriculum at the University of Padova.
This presentation talks about the main features of UML use cases and use cases diagrams. The slides contain information about what is a scenario, an actor, an use case and interactions between them.
The presentation is took from the Software Engineering course I run in the bachelor-level informatics curriculum at the University of Padova.
Corso di Laboratorio Internet / Laboratorio di progettazione del Prof.R.Polillo - Università di Milano Bicocca - DISCO - AA. 2009-2010 -
(vedi anche www.rpolillo.it)
Una lista di libri da cui trarre ispirazione, metodi di sviluppo, modelli e quant'altro possa esserti utile per approfondire le tue tecniche di programmazione.
Affidati a chi ha già affrontato problemi simili, applica i loro metodi di lavoro e migliora le tue capacità.
This presentation talks about the main features of UML class diagrams. The slides contain information about how to use sequence diagrams to represent components' interactions in a software system. UML 2.x featuers are also described, like frames.
The presentation is took from the Software Engineering course I run in the bachelor-level informatics curriculum at the University of Padova.
This presentation talks about the main features of UML class diagrams. The slides contain information about how to represent a class, what is a classe feature, what are possible association types, class dependency, hineritance and subtyping.
The presentation is took from the Software Engineering course I run in the bachelor-level informatics curriculum at the University of Padova.
This presentation talks about the main features of UML use cases and use cases diagrams. The slides contain information about what is a scenario, an actor, an use case and interactions between them.
The presentation is took from the Software Engineering course I run in the bachelor-level informatics curriculum at the University of Padova.
Project for the class "Advanced Operating System”: we developed a tool for the analysis of Hadoop, DSTAT and HPROF log in order to estimate the performance of a cluster through graphs and warnings.
Used technologies: Java, R, Hadoop, Python, C
More info: http://www.sromano.altervista.org/progetti_magistrale/SOA_HadoopAnalyzerJR.pdf
La programmazione orientata agli oggetti non è quella che vi hanno insegnato a scuola!
Vedremo assieme qual'è il significato di questo paradigma di programmazione, spesso frainteso, e i nuovi obiettivi che ci permette di raggiungere nello sviluppo software.
50 minuti per svelare la tigre, il cavallo e sapere che esiste il delfino.
La nuova versione di Java implementa caratteristiche che da tempo erano attese
nello standard del linguaggio: Metadata, Generic Types, AutoBoxing e
Unboxing dei tipi primitivi, Static import, gestione dinamica dei Loop e delle
Enumeration.
Per Java 6: gestione di SystemTray e motori di scripting.
Vediamo di cosa si tratta e di come poter utilizzare queste nuove feature all'interno dei nostri programmi
Programmazione e gestione della sicurezza: Verbale elettronicoDavide Ciambelli
Realizzare un applicativo che permetta di verbalizzare gli esami in forma digitale. Ogni esame sarà formato dal nome dell'insegnamento, la data dell'esame, il nome e il numero di matricola dello studente che sostiene l'esame, il numero di crediti, alcune possibili note o domande effettuate durante l'esame e naturalmente dal voto in trentesimi. L'esame così costituito dovrà essere firmato digitalmente dallo studente. Ogni esame sarà memorizzato in un verbale che conterrà il nome della facoltà, il nome del corso di laurea, il nome dell'insegnamento, la lista dei docenti in commissione. Il verbale per essere “chiuso” dovrà essere corredato da un timestamping e firmato digitalmente da ogni componente della commissione.
Project for the class "Advanced Operating System”: we developed a tool for the analysis of Hadoop, DSTAT and HPROF log in order to estimate the performance of a cluster through graphs and warnings.
Used technologies: Java, R, Hadoop, Python, C
More info: http://www.sromano.altervista.org/progetti_magistrale/SOA_HadoopAnalyzerJR.pdf
La programmazione orientata agli oggetti non è quella che vi hanno insegnato a scuola!
Vedremo assieme qual'è il significato di questo paradigma di programmazione, spesso frainteso, e i nuovi obiettivi che ci permette di raggiungere nello sviluppo software.
50 minuti per svelare la tigre, il cavallo e sapere che esiste il delfino.
La nuova versione di Java implementa caratteristiche che da tempo erano attese
nello standard del linguaggio: Metadata, Generic Types, AutoBoxing e
Unboxing dei tipi primitivi, Static import, gestione dinamica dei Loop e delle
Enumeration.
Per Java 6: gestione di SystemTray e motori di scripting.
Vediamo di cosa si tratta e di come poter utilizzare queste nuove feature all'interno dei nostri programmi
Programmazione e gestione della sicurezza: Verbale elettronicoDavide Ciambelli
Realizzare un applicativo che permetta di verbalizzare gli esami in forma digitale. Ogni esame sarà formato dal nome dell'insegnamento, la data dell'esame, il nome e il numero di matricola dello studente che sostiene l'esame, il numero di crediti, alcune possibili note o domande effettuate durante l'esame e naturalmente dal voto in trentesimi. L'esame così costituito dovrà essere firmato digitalmente dallo studente. Ogni esame sarà memorizzato in un verbale che conterrà il nome della facoltà, il nome del corso di laurea, il nome dell'insegnamento, la lista dei docenti in commissione. Il verbale per essere “chiuso” dovrà essere corredato da un timestamping e firmato digitalmente da ogni componente della commissione.
Similar to Ingegneria Del Software Schedule, Progetto (20)
2. Sommario
1 . A R C H I T E T T U R A ...................................................................3
1.1. L IVELLI A RCHITETTURALI .........................................................................3
1.2. D IAGRAMMA DELLE C OMPONENTI ...............................................................4
1.3. D IAGRAMMA DI C ONFIGURAZIONE ..............................................................5
1.4. M ODELLO DI D ECISIONE ..........................................................................6
2 . P ROGETTO DI D E T T A G L I O ....................................................... 7
2.1. D IAGRAMMA DELLE C LASSI .......................................................................7
2.2. S PECIFICHE DELLE C LASSI ........................................................................7
2.3. D IAGRAMMI DI S EQUENZA ......................................................................52
2.4. M ODELLO DI D ECISIONE .......................................................................52
3 . P ROGETTO DEI D A T I ...........................................................5 6
3.1. D ATABASE ........................................................................................56
3.1.1. D IAGRAMMA DELLE D IPENDENZE DEI D ATI ..............................................56
3.1.2. M ODELLO DEL D ATABASE ...................................................................57
3.1.3. D ETTAGLIO DEI D ATI ........................................................................57
3.2. F ILE S YSTEM .....................................................................................60
3.2.1. G RAMMATICHE F ILE XML..................................................................60
3.2.2. A LTRI F ILE ....................................................................................61
4 . A P P E N D I C E ......................................................................6 2
4.1. P ATTERN UTILIZZATI .............................................................................62
4.2. A LTRO .............................................................................................63
54
2
3. 1. ARCHITETTURA
1.1. Livelli Architetturali
L’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 dell'applicazione. 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. 1.2. Diagramma delle Componenti
Il 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:
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.
7. 2. PROGETTO DI DETTAGLIO
2.1. Diagramma delle Classi
Il 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 Classi
Sono 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 ()
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. 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
13. 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
14. 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 ()
15. 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 ()
16. 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: InterfacciaGestioneDatiPersonalideiDocentiperAmmi
nistratore
Livello 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. 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: InterfacciaGestioneInserimentoProgrammaDida
ttico (ArrayList<String> nomiIns)
InterfacciaGestioneInserimentoProgrammaDida
tticoPanel (ArrayList<String> nomiIns, jFrame
frame)
interfacciaGestioneInserimentoProgrammaDida
tticoFrame (ArrayList<String> nomiIns)
Descrizione: Gestisce l'interfaccia grafica relativa all' inserimento
di un nuovo programma Didattico
18. 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
19. 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: 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 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 ()
20. 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.
21. 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 ()
22. 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)
23. 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
24. 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
25. Metodi Pubblici: InterfacciaScaricamnetoModuloConsigliato ()
InterfacciaScaricamentoModuloConsigliatoPane
l (jFrame frame)
InterfacciaScaricamentoModuloConsigliatoFra
me ()
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
26. (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)
interfacciaStampaInsegnamentoSelezionatoPan
el (ArrayList<String> dati, jFrame frame)
interfacciaStampaInsegnamentoSelezionatoFra
me (ArrayList<String> dati)
Descrizione: Gestisce l'interfaccia grafica relativa alla stampa dei
dati relativi all' insegnamento selezionato da parte
dell'amministratore
27. 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)
InterfacciaStampaOrarioRicevimentiSelezionati
Frame (ArrayList<String> dati)
InterfacciaStampaOrarioRicevimentiSelezionati
Panel (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
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 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
29. 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: InterfacciaStampaProgrammiDidatticiperAmministrat
ore
Livello Architetturale: Presentazione
Istanzia: Front Controller
Metodi Pubblici: InterfacciaStampaProgrammiDidatticiperAmmi
30. nistratore (ArrayList<String> dati)
InterfacciaStampaProgrammiDidatticiperAmmi
nistratorePanel (ArrayList<String> dati, jFrame
frame)
InterfacciaStampaProgrammiDidatticiperAmmi
nistratoreFrame (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
31. (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
32. Nome Classe: InterfacciaStampaTuttiOrariRicevimentoAmministrato
re
Livello 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 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
33. Nome Classe: InterfacciaVisualizzazioneProgrammaDidattico
Livello 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 l'interfaccia grafica relativa alla
visualizzazione di un programma didattico
selezionato dal docente
Nome Classe: InterfacciaVisualizzazioneSingoloInsegnamento
Livello 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 l'interfaccia grafica relativa alla
visualizzazione di un singolo insegnamento
selezionato da parte del amministratore.
Nome Classe: InterfacciaVisualizzaPrenotazioni
34. 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
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 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)
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 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
45. 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
46. 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
E-mail
48. 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 ()
49. 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
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: ProgrammaDidattico
Livello Architetturale: Dominio
Attributi: Id
descrizioneProgramma
ProgrammaDidattico
nomeProgrammaDidattico
Metodi Pubblici: setID (int ID)
setdescrizioneProgrammaDidattico (String
Descrizione)
setProgrammaDidattico (String Programma)
setNomeProgrammaDidattico (String
NomeProgramma)
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 Ricevimento
Sono riportate qui di seguito le specifiche delle classi a livello di sorgente dati.
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 DataBase
2.3. Diagrammi di Sequenza
I diagrammi di sequenza relativi alla progettazione posso essere visualizzati nel
file diagram_14 della progettazione nella sezione “Diagrammi di sequenza”.
2.4. Modello di Decisione
Nel 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 √ √ √ √ √ √ √ √
56. 3. PROGETTO DEI DATI
3.1. Database
3.1.1. Diagramma delle Dipendenze dei Dati
La 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.
#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. 3.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
#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 #Insegnamento
3.1.3. Dettaglio dei Dati
Docente
58. Identificatore Tipo chiave Tipo Descrizione
Campo
#Docente Primaria String Identifica univocamente un
docente
Nome String Nome del docente
Cognome String Cognome del docente
RecapitoTelefonic String Numero di telefono del
o 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
DipDiAppartenen String Dipartimento di
za appartenenza del docente
E-mail String E-mail del docente
Amministratore
Identificatore Tipo chiave Tipo Descrizione
Campo
#Amministratore Primaria String Identifica univocamente un
amministratore
Password String Password di accesso al
sistema
Username String Username di accesso al
sistema
Aula
Identificatore Tipo chiave Tipo Descrizione
Campo
#Aula Primaria Intero Identifica univocamente un’
aula
59. 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 Tipo chiave Tipo Descrizione
Campo
#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 Tipo chiave Tipo Descrizione
Campo
#ProgrammaDidatt Primaria Intero Identifica univocamente un
ico programma didattico
DescrizioneProgra String Descrive il programma
mmaDidattico didattico
Ricevimento
60. Identificatore Tipo chiave Tipo Descrizione
Campo
#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 Tipo chiave Tipo Descrizione
Campo
#Insegnamento Primaria Intero Identifica univocamente un
insegnamento
#Ricevimento Esterna Intero Identifica univocamente un
Ricevimento
#ProgrammaDidatt Esterna Intero Identifica Univocamente un
ico programma didattico
CFU Intero Numero crediti formativi per
l’esame
CorsoDiLaurea String Corso a cui appartiene
l’insegnamento
NomeInsegnament String Nome dell’insegnamento
o
3.2. File System
3.2.1. Grammatiche File XML
Indicare, se presenti, le grammatiche XML
61. 3.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”.