Object Design Document
PHARMAGC
Object Design Document
Team OGC
Buffa Alexandro
Cascio Alessandra
Giambrone Simone
Miccichè Vincenzo
Linee guida per la documentazione delle interfacce
Linee guida per la documentazione dei DBMS
Linee guida per la documentazione dell’invio Mail
Linee guida per la documentazione della creazione della ricevuta di consegna
Per la realizzazione del Sistema si è scelto di usare un approccio modulare per favorire la scalabilità, la facilità di implementazione e la gestione di eventuali problemi.
In particolare è stata utilizzata un’architettura di tipo Repository, che garantisce il disaccoppiamento dei sottosistemi, i quali possono comunicare solo con il sottosistema di Storage, ma non tra loro. A loro volta i sottosistemi sono composti da un’interfaccia utente che comunica solo con il controllore sottostante, che contiene la logica del programma e che gestisce le richieste da rivolgere al sottosistema DBMSDaemon, che gestisce le comunicazioni al nodo di Storage. L’interfaccia utente, il controllore e il DBMSDaemon di ogni sottosistema risiedono sullo stesso nodo, mentre il sottosistema di Storage risiede su un nodo diverso.
Per quanto riguarda le interfacce grafiche si è scelto di usare il pacchetto di librerie JavaFX, che ci ha permesso di realizzare le interfacce grafiche attraverso documenti di marcatura FXML.
JavaFX è un pacchetto di librerie component-based, ciò permette quindi di avere una grande riusabilità del codice, oltre a una maggiore leggibilità in fase di scrittura.
Più in particolare, per la realizzazione delle interfacce grafiche del Sistema è stato usato JavaFX Scene Builder, un tool per la creazione di documenti di marcatura FXML che sfrutta un sistema drag-and-drop.
Per quanto riguarda i DBMS, si è scelto di usare un modello relazionale gestito tramite MariaDB.
MariaDB è un sistema di gestione di Database relazionali, derivato da MySQL.
Per la comunicazione tra il Sistema e il DBMS si è scelto di usare JDBC (Java DataBase Connectivity).
JDBC è un connettore e un driver per database che consente l'accesso e la gestione della persistenza dei dati sulle basi di dati da qualsiasi programma scritto con il linguaggio di programmazione Java, indipendentemente dal tipo di DBMS utilizzato.
Per quanto riguarda le Mail, si è scelto di usare un indirizzo di posta elettronica fornito da Google ed un servizio offerto dallo stesso per l'invio, chiamato Apps Script.
Apps Script permette l'interfacciamento con la casella di posta attraverso una
richiesta HTTPS GET.
In questa richiesta GET vanno inclusi alcuni parametri necessari per l'invio
della mail, in particolare è necessario l’indirizzo di destinazione ed il corpo del
messaggio.
Per quanto riguarda la ricevuta di consegna, si è scelto di usare la libreria iText per la generazione del file PDF. Alla generazione del PDF di consegna, esso viene aperto automaticamente col software di visualizzazione PDF predefinito dell’utilizzatore e viene salvato nella directory PharmaGCode/PharmaGCode/pdf/ e viene salvato come
“Ricevuta di consegna n.xx”.pdf, con “xx” numero del collo relativo alla ricevuta.
Il package principale dell’applicazione
Contiene i driver per le comunicazioni con il DBMS MariaDB utilizzato per la realizzazione del sistema
Il package è utilizzato per la realizzazione e la gestione delle interfacce grafiche utente.
Permette di caricare i file FXML, e gestisce il binding tra le variabili della classe associata e le rispettive componenti grafiche (tramite id ed EventHandler)
Contiene i package e le librerie standard di Java
Contiene le strutture dati utilizzate per la realizzazione del sistema
Libreria per la creazione e la manipolazione di pdf, utilizzata per la generazione dei pdf di ricevuta dei colli da parte dell’impiegato