ETD

Archivio digitale delle tesi discusse presso l'Università di Pisa

Tesi etd-09102008-114623


Tipo di tesi
Tesi di laurea specialistica
Autore
GUERRIERI, FRANCESCA
URN
etd-09102008-114623
Titolo
Progettazione di una piattaforma aziendale per la gestione degli interventi di manutenzione attraverso l'utilizzo di dispositivi mobili
Dipartimento
INGEGNERIA
Corso di studi
INGEGNERIA INFORMATICA
Relatori
Relatore Prof. Avvenuti, Marco
Relatore Dott. Albanesi, Davide
Relatore Dott. Vecchio, Alessio
Parole chiave
  • Progettazione ad oggetti
  • Ereditarietà
  • Polimorfismo
  • Hibernate
  • Pattern DAO
  • MVC
  • Architettura three-tier
  • Hibernate Annotations
  • Hibernate Core
Data inizio appello
02/10/2008
Consultabilità
Non consultabile
Data di rilascio
02/10/2048
Riassunto
Con questo lavoro di tesi è stato affrontato il problema di analizzare una piattaforma aziendale su cui si basano molti applicativi commerciali, e proporre una ristrutturazione della stessa nell’ottica di minimizzare i tempi di sviluppo, fornendo agli sviluppatori una architettura
semplice e funzionale.
La piattaforma aziendale esaminata si chiama MobileWorker, ed è costituita da un insieme di moduli integrabili ed interoperabili fra loro. In particolare è composta da 6 moduli verticali, Sales, Field, Warehouse, Asset, Fleet e Delivery, ognuno specializzato per un particolare processo produttivo. Il modulo Sales automatizza il processo di vendita, migliorando la pianificazione, l’operatività ed il controllo della rete commerciale, il modulo Field ottimizza l’attività della rete degli interventi/manutenzioni, pianificando e rendicontando le attività, il modulo Warehouse permette la gestione informatizzata del magazzino (carico,scarico, rintracciabilità, inventario), il modulo Asset, attraverso l’utilizzo della tecnologia RFID, permette di certificare il monitoraggio, la tracciabilità e la rintracciabilità della posizione degli asset/beni aziendali, il modulo Fleet automatizza la gestione ed il controllo della flotta mezzi in termini operativi ed amministrativi usando tecnologia GPRS,GPS e RFID/BarCode ed il modulo Delivery supporta le attività di consegna, ottimizzando i percorsi e la gestione della flotta.
In questo lavoro di tesi mi sono occupata di fornire una progettazione della piattaforma MobileWorker, orientandomi principalmente alle necessità del modulo Field. Il modulo Field, come già detto, permette di ottimizzare le attività legate alla rete degli interventi e delle manutenzioni; l’utilizzo dell’applicativo su palmare permette di mantenere le squadre di manutenzione, dislocate sul territorio, in costante collegamento con i sistemi informativi aziendali. Attraverso l’implementazione di questo modulo gli operatori potranno visualizzare, prendere in carico, attivare, sospendere e consuntivare le attività manutentive ed aggiornare direttamente il sistema centrale.
Per prima cosa è stata analizzata la struttura esistente della piattaforma, partendo dalla base dati. Questa presentava grossi problemi di normalizzazione e per questo venivano incontrate dagli sviluppatori molte difficoltà nella ricerca e memorizzazione dei dati, a causa, appunto, di una struttura non proprio ottimale. L’architettura della piattaforma software prevedeva, inoltre, l’utilizzo di interrogazioni SQL dirette alla base di dati, spesso cablate direttamente nel codice e spesso, per la struttura del database, lunghe e complicate.
Per ovviare a questi problemi è stato scelto di introdurre una struttura che sfruttasse a pieno i concetti di programmazione ad oggetti,partendo innanzitutto dalla ristrutturazione completa del database. Era necessario introdurre uno strato di persistenza che gestisse l’interazione fra gli oggetti Java ed i record nelle tabelle SQL: la prima scelta è stata quella di ampliare, per raggiungere questi scopi, un modulo interno Daxo chiamato Core, che stava alla base, come suggerisce il nome, di qualsiasi applicazione sviluppata. Rendere questo modulo in grado di affrontare un problema piuttosto complicato come quello della persistenza, è risultato però un lavoro molto impegnativo, e data la presenza di framework gratuiti ampiamente testati ed adottati come soluzioni di business in numerosissime aziende del panorama mondiale, la scelta finale è stata quella di adottarne uno e renderlo il nuovo cuore delle applicazioni Daxo. In particolare è stato scelto Hibernate. Hibernate, fra le sue numerose funzionalità, offe anche la possibilità di creare lo schema SQL del database a partire dagli oggetti, seguendo particolari specifiche. Per questo, come prima cosa, è stata affontato il problema di trovare una struttura ad oggetti che coprisse tutte le necessità gestionali che si erano presentate nel corso dello sviluppo delle applicazioni e che per adesso erano state affrontate e risolte a livello di schema SQL. Sono state quindi organizzate gerarchie, associazioni,relazioni fra gli oggetti, ed è stato quindi creato un livello ad oggetti di base su cui iniziare a costruire la nostra piattaforma; con Hibernate abbiamo tradotto questi oggetti in tabelle SQL e realizzato quindi la nuova base di dati.
A partire, quindi, da questa nuova base di dati e dagli oggetti che la rappresentano, sono stati sviluppati i tre livelli tipici delle applicazioni three-tier: il livello persistenza, il livello per la business logic ed il livello presentazione. Per provare questa nuova struttura, il lavoro di questa tesi è stato quindi, infine, di realizzare un prototipo che mostrasse i vantaggi ottenuti in termini di velocità e semplicità di sviluppo, ed in ottica di manutenibilità e riusabilità del codice.
Il prototipo realizzato comprende tutti i tre componenti software tipici delle applicazioni Field Daxo: l’ applicativo lato pc, chiamato backOffice, l’applicativo lato palmare, chiamato frontOffice, e l’applicativo di sincronizzazione dei dati fra pc e palmare, chiamato server. Questo prototipo a livello funzionale, ha il solo scopo di gestire il ciclo di vita di un intervento di manutenzione, dalla sua creazione, alla sua gestione, fino alla sua chiusura. L’applicativo backOffice permette di creare le anagrafiche necessarie a compilare la richiesta di un intervento di manutenzione, il server si occupa di passare all’applicativo frontOffice gli oggetti che rappresentano gli interventi di manutenzione in esame, e il frontOffice ha il compito di lavorare gli interventi di manutenzione che ha ricevuto ed infine spedire nuovamente al server le modifiche effettuate su tali oggetti, affinchè il server si occupi di memorizzarle effettivamente sul database. Lo scopo di questo prototipo, più che funzionale, è però soprattutto dimostrativo: deve infatti mostrare le potenzialità dell’utilizzo degli oggetti e di un framework come Hibernate, rispetto all’utilizzo delle query SQL, e di come una buona progettazione possa portare ad un notevole miglioramento in termini di velocità e semplicità di sviluppo, che si tradurrà, ovviamente, in incremento del business per l’azienda.
All’interno di questa tesi si troveranno spunti per ampliare la struttura presentata, e suggerimenti da adottare al fine di rendere queste scelte progettuali la base per il nucleo di tutte le applicazioni Daxo future.
File