SlideShare a Scribd company logo
1 of 18
Download to read offline
Quaestio: un'applicazione web per il monitoraggio della soddisfazione dei clienti Laureando: Stefano Tranquillini Università degli studi di Trento Facoltà di scienze matematiche fisiche e naturali Relatore: Prof. Maurizio Marchese Correlatore: Dott. Luigi Perna
Obiettivi ,[object Object],[object Object]
Contesto Azienda : Enginsoft Spa.  sperimentazione virtuale ingegneristica.  Questionari soddisfazione dei clienti  dei corsi formativi sulle tecnologie  (iso 9000). Vantaggi previsti: ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Strumenti utilizzati: Struts Framework di apache che implementa il pattern  MVC Model:  definisce i dati e le operazioni. View:  Presentazione. Controller:  Implementa logica applicativa. Vantaggi ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Strumenti utilizzati: Ajax A sincronous  J avascript  a nd  X ML La richiesta è asincrona ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Utilizzi:  Interfacce dinamiche e ricche di funzionalità (Gmail GoogleMaps ecc)
Strumenti utilizzati: Altri ,[object Object],[object Object],[object Object],[object Object],Tomcat e Postgres :  Server e database iBatis :  Gestione database. Restituisce le query come oggetti. Query xml esterno JasperReport :  Librerie per la creazione di report. Struttura esterna in un file XML che viene riempito con i dati alla richiesta dell’utente Realm :  Tomcat, sfrutta un database dal quale ricava le credenziali gestisce in automatico login e permessi d’accesso. Log4J :  logging semplice ed efficace, con personalizzazione dell’output in classi
Requisiti principali ,[object Object],[object Object],[object Object],[object Object],Dividere in moduli e domande in modo da poter riutilizzare un singolo modulo o domanda  in più questionari Creazione di questionari in più lingue. stessa forma e significato del questionario diverso contenuto (lingua del testo). Utilizzare sistema esistente per gestione anagrafica e corsi. Possibilità di rendere anonime le richieste di informazioni all’utente in modo da togliere l’imbarazzo di valutazioni per corsi con pochi utenti.
Utenti del sistema CORSISTA AMMINISTRATORE
Problematiche Multilingua  : creare e utilizzare questionari in più lingue. Modulare :   Riutilizzare componenti di altri questionari. Problema:  Controlli per avere una struttura utilizzabile in tutte le lingue richieste. Soluzione: ,[object Object],[object Object],Problema:  Mantenere la struttura dei questionari nel riutilizzo dei componenti Soluzione: ,[object Object],[object Object],Riguardano la gestione del questionario
Interfaccia: Admin Aggiungi domanda.
Aggiunta domanda Ajax
Aggiunta domanda
Aggiunta domanda
Interfaccia: Utente
Interfaccia: Utente
Interfaccia: Report
Conclusioni ,[object Object],Soddisfa le richieste e funzionalità Raccolta di feedback ed eventuali bug. Utilizzo stimato circa 500 utenti l’anno. ,[object Object],Tutti i contesti dove è necessaria una gestione di questionari a scopo di ricavare informazioni  per migliorare i servizi(Customer relationship management). Sviluppi possibili ,[object Object],[object Object],[object Object],[object Object]
[object Object],[object Object]

More Related Content

Viewers also liked

Bachelor's Thesis: Use of CAD technologies to optimize the productivity of a ...
Bachelor's Thesis: Use of CAD technologies to optimize the productivity of a ...Bachelor's Thesis: Use of CAD technologies to optimize the productivity of a ...
Bachelor's Thesis: Use of CAD technologies to optimize the productivity of a ...Pietro Galli
 
Slideshow of the Master's thesis
Slideshow of the Master's thesis Slideshow of the Master's thesis
Slideshow of the Master's thesis Francesca Arlotta
 
Thesis Montone Piazzi Slide IT
Thesis Montone Piazzi Slide ITThesis Montone Piazzi Slide IT
Thesis Montone Piazzi Slide ITMarco Santambrogio
 
Bachelor Thesis Presentation (Italian)
Bachelor Thesis Presentation (Italian)Bachelor Thesis Presentation (Italian)
Bachelor Thesis Presentation (Italian)Jovan Stevovic
 
“50 ft Daysailer’s Preliminay Design” - master's degree thesis by Stefano Marano
“50 ft Daysailer’s Preliminay Design” - master's degree thesis by Stefano Marano“50 ft Daysailer’s Preliminay Design” - master's degree thesis by Stefano Marano
“50 ft Daysailer’s Preliminay Design” - master's degree thesis by Stefano MaranoStefano Marano
 
tempi e scaletta presentazione
tempi e scaletta presentazionetempi e scaletta presentazione
tempi e scaletta presentazioneAlessio Ricco
 
Thesis, WordPress e fantasia: tre ingredienti per migliorare il tuo blog
Thesis, WordPress e fantasia: tre ingredienti per migliorare il tuo blogThesis, WordPress e fantasia: tre ingredienti per migliorare il tuo blog
Thesis, WordPress e fantasia: tre ingredienti per migliorare il tuo blogTiziano Fogliata
 
Thesis Presentation - Presentazione Tesi
Thesis Presentation - Presentazione TesiThesis Presentation - Presentazione Tesi
Thesis Presentation - Presentazione TesiMarco Meoni
 
Master Thesis presentation
Master Thesis presentationMaster Thesis presentation
Master Thesis presentationBogdan Vasilescu
 
Comunicare con le slides
Comunicare con le slidesComunicare con le slides
Comunicare con le slidesluisamarini
 
Fight the Power(point)!
Fight the Power(point)!Fight the Power(point)!
Fight the Power(point)!Todd Reubold
 
7 Tips to Beautiful PowerPoint by @itseugenec
7 Tips to Beautiful PowerPoint by @itseugenec7 Tips to Beautiful PowerPoint by @itseugenec
7 Tips to Beautiful PowerPoint by @itseugenecEugene Cheng
 

Viewers also liked (18)

Bachelor's Thesis: Use of CAD technologies to optimize the productivity of a ...
Bachelor's Thesis: Use of CAD technologies to optimize the productivity of a ...Bachelor's Thesis: Use of CAD technologies to optimize the productivity of a ...
Bachelor's Thesis: Use of CAD technologies to optimize the productivity of a ...
 
Thesis Corbetta Slide IT
Thesis Corbetta Slide ITThesis Corbetta Slide IT
Thesis Corbetta Slide IT
 
Thesis Frascino Slide iT
Thesis Frascino Slide iTThesis Frascino Slide iT
Thesis Frascino Slide iT
 
Slideshow of the Master's thesis
Slideshow of the Master's thesis Slideshow of the Master's thesis
Slideshow of the Master's thesis
 
Thesis Montone Piazzi Slide IT
Thesis Montone Piazzi Slide ITThesis Montone Piazzi Slide IT
Thesis Montone Piazzi Slide IT
 
Bachelor Thesis Presentation (Italian)
Bachelor Thesis Presentation (Italian)Bachelor Thesis Presentation (Italian)
Bachelor Thesis Presentation (Italian)
 
“50 ft Daysailer’s Preliminay Design” - master's degree thesis by Stefano Marano
“50 ft Daysailer’s Preliminay Design” - master's degree thesis by Stefano Marano“50 ft Daysailer’s Preliminay Design” - master's degree thesis by Stefano Marano
“50 ft Daysailer’s Preliminay Design” - master's degree thesis by Stefano Marano
 
tempi e scaletta presentazione
tempi e scaletta presentazionetempi e scaletta presentazione
tempi e scaletta presentazione
 
Thesis, WordPress e fantasia: tre ingredienti per migliorare il tuo blog
Thesis, WordPress e fantasia: tre ingredienti per migliorare il tuo blogThesis, WordPress e fantasia: tre ingredienti per migliorare il tuo blog
Thesis, WordPress e fantasia: tre ingredienti per migliorare il tuo blog
 
Thesis Presentation - Presentazione Tesi
Thesis Presentation - Presentazione TesiThesis Presentation - Presentazione Tesi
Thesis Presentation - Presentazione Tesi
 
Master Thesis presentation
Master Thesis presentationMaster Thesis presentation
Master Thesis presentation
 
My master thesis
My master thesisMy master thesis
My master thesis
 
Presentazioni efficaci EFFETTO WOW
Presentazioni efficaci EFFETTO WOWPresentazioni efficaci EFFETTO WOW
Presentazioni efficaci EFFETTO WOW
 
Comunicare con le slides
Comunicare con le slidesComunicare con le slides
Comunicare con le slides
 
Presentation Secrets
Presentation SecretsPresentation Secrets
Presentation Secrets
 
Fight the Power(point)!
Fight the Power(point)!Fight the Power(point)!
Fight the Power(point)!
 
7 Tips to Beautiful PowerPoint by @itseugenec
7 Tips to Beautiful PowerPoint by @itseugenec7 Tips to Beautiful PowerPoint by @itseugenec
7 Tips to Beautiful PowerPoint by @itseugenec
 
STEAL THIS PRESENTATION!
STEAL THIS PRESENTATION! STEAL THIS PRESENTATION!
STEAL THIS PRESENTATION!
 

Similar to Bachelor Thesis presentation

Gestione corsi con TYPO3
Gestione corsi con TYPO3Gestione corsi con TYPO3
Gestione corsi con TYPO3Ivano Luberti
 
Presentazione Giuseppe Chechile
Presentazione   Giuseppe ChechilePresentazione   Giuseppe Chechile
Presentazione Giuseppe Chechilegchechile
 
Tesi Discussione
Tesi DiscussioneTesi Discussione
Tesi DiscussioneYeser Rema
 
ASP.NET performance optimization
ASP.NET performance optimizationASP.NET performance optimization
ASP.NET performance optimizationAndrea Dottor
 
Studio e sviluppo di un’interfaccia per applicazione WEB 2.0
Studio e sviluppo di un’interfaccia per applicazione WEB 2.0Studio e sviluppo di un’interfaccia per applicazione WEB 2.0
Studio e sviluppo di un’interfaccia per applicazione WEB 2.0NobelMusic
 
Presentazione Corso - Parte 3
Presentazione Corso - Parte 3Presentazione Corso - Parte 3
Presentazione Corso - Parte 3Giorgio Carpoca
 
Estrazione automatica di informazioni da documenti cartacei: progetto e reali...
Estrazione automatica di informazioni da documenti cartacei: progetto e reali...Estrazione automatica di informazioni da documenti cartacei: progetto e reali...
Estrazione automatica di informazioni da documenti cartacei: progetto e reali...Luca Bressan
 
Presentazione tesi Tassone Alfonso
Presentazione tesi Tassone AlfonsoPresentazione tesi Tassone Alfonso
Presentazione tesi Tassone AlfonsoAlfonso Tassone
 
Regione Labict Presentazione Wm Cw 20080512 V02
Regione Labict Presentazione Wm Cw 20080512 V02Regione Labict Presentazione Wm Cw 20080512 V02
Regione Labict Presentazione Wm Cw 20080512 V02Gian Luca Matteucci
 
Laboratorio internet 10: Redazione dei contenuti
Laboratorio internet 10: Redazione dei contenutiLaboratorio internet 10: Redazione dei contenuti
Laboratorio internet 10: Redazione dei contenutiRoberto Polillo
 
Valutazione dell'usabilità del portale UNIBA
Valutazione dell'usabilità del portale UNIBAValutazione dell'usabilità del portale UNIBA
Valutazione dell'usabilità del portale UNIBAAntonio Notarangelo
 
Esposizione RIA
Esposizione RIAEsposizione RIA
Esposizione RIAdiodorato
 
Google App Engine Overview Seminario GDG Genova 4 Ottobre 2013
Google App Engine Overview Seminario GDG Genova 4 Ottobre 2013Google App Engine Overview Seminario GDG Genova 4 Ottobre 2013
Google App Engine Overview Seminario GDG Genova 4 Ottobre 2013Massimo Caliman
 
Cert04 70-484 - essentials of developing windows store apps
Cert04   70-484 - essentials of developing windows store appsCert04   70-484 - essentials of developing windows store apps
Cert04 70-484 - essentials of developing windows store appsDotNetCampus
 
Ms windows vista - deploying and managing the microsoft desktop optimization ...
Ms windows vista - deploying and managing the microsoft desktop optimization ...Ms windows vista - deploying and managing the microsoft desktop optimization ...
Ms windows vista - deploying and managing the microsoft desktop optimization ...LEN Learning Education Network
 
Progetto e sviluppo di un'applicazione web basata su mappe cartografiche per ...
Progetto e sviluppo di un'applicazione web basata su mappe cartografiche per ...Progetto e sviluppo di un'applicazione web basata su mappe cartografiche per ...
Progetto e sviluppo di un'applicazione web basata su mappe cartografiche per ...Paolo Melchiori
 

Similar to Bachelor Thesis presentation (20)

Gestione corsi con TYPO3
Gestione corsi con TYPO3Gestione corsi con TYPO3
Gestione corsi con TYPO3
 
Presentazione Giuseppe Chechile
Presentazione   Giuseppe ChechilePresentazione   Giuseppe Chechile
Presentazione Giuseppe Chechile
 
Tesi Discussione
Tesi DiscussioneTesi Discussione
Tesi Discussione
 
ASP.NET performance optimization
ASP.NET performance optimizationASP.NET performance optimization
ASP.NET performance optimization
 
Studio e sviluppo di un’interfaccia per applicazione WEB 2.0
Studio e sviluppo di un’interfaccia per applicazione WEB 2.0Studio e sviluppo di un’interfaccia per applicazione WEB 2.0
Studio e sviluppo di un’interfaccia per applicazione WEB 2.0
 
Database Data Aggregator
Database Data AggregatorDatabase Data Aggregator
Database Data Aggregator
 
Presentazione Corso - Parte 3
Presentazione Corso - Parte 3Presentazione Corso - Parte 3
Presentazione Corso - Parte 3
 
Estrazione automatica di informazioni da documenti cartacei: progetto e reali...
Estrazione automatica di informazioni da documenti cartacei: progetto e reali...Estrazione automatica di informazioni da documenti cartacei: progetto e reali...
Estrazione automatica di informazioni da documenti cartacei: progetto e reali...
 
Presentazione tesi Tassone Alfonso
Presentazione tesi Tassone AlfonsoPresentazione tesi Tassone Alfonso
Presentazione tesi Tassone Alfonso
 
Regione Labict Presentazione Wm Cw 20080512 V02
Regione Labict Presentazione Wm Cw 20080512 V02Regione Labict Presentazione Wm Cw 20080512 V02
Regione Labict Presentazione Wm Cw 20080512 V02
 
Laboratorio internet 10: Redazione dei contenuti
Laboratorio internet 10: Redazione dei contenutiLaboratorio internet 10: Redazione dei contenuti
Laboratorio internet 10: Redazione dei contenuti
 
Valutazione dell'usabilità del portale UNIBA
Valutazione dell'usabilità del portale UNIBAValutazione dell'usabilità del portale UNIBA
Valutazione dell'usabilità del portale UNIBA
 
TTT - Test, Tools and Tips - jug roma
TTT - Test, Tools and Tips - jug romaTTT - Test, Tools and Tips - jug roma
TTT - Test, Tools and Tips - jug roma
 
Esposizione RIA
Esposizione RIAEsposizione RIA
Esposizione RIA
 
Google App Engine Overview Seminario GDG Genova 4 Ottobre 2013
Google App Engine Overview Seminario GDG Genova 4 Ottobre 2013Google App Engine Overview Seminario GDG Genova 4 Ottobre 2013
Google App Engine Overview Seminario GDG Genova 4 Ottobre 2013
 
Cert04 70-484 - essentials of developing windows store apps
Cert04   70-484 - essentials of developing windows store appsCert04   70-484 - essentials of developing windows store apps
Cert04 70-484 - essentials of developing windows store apps
 
DDive11 - xpages
DDive11 - xpagesDDive11 - xpages
DDive11 - xpages
 
Ms windows vista - deploying and managing the microsoft desktop optimization ...
Ms windows vista - deploying and managing the microsoft desktop optimization ...Ms windows vista - deploying and managing the microsoft desktop optimization ...
Ms windows vista - deploying and managing the microsoft desktop optimization ...
 
S354 php-5.x-e-my sql-5.x
S354 php-5.x-e-my sql-5.xS354 php-5.x-e-my sql-5.x
S354 php-5.x-e-my sql-5.x
 
Progetto e sviluppo di un'applicazione web basata su mappe cartografiche per ...
Progetto e sviluppo di un'applicazione web basata su mappe cartografiche per ...Progetto e sviluppo di un'applicazione web basata su mappe cartografiche per ...
Progetto e sviluppo di un'applicazione web basata su mappe cartografiche per ...
 

Recently uploaded

Limmi un successo che mette radici da un solo frutto: il limone di Sicilia
Limmi un successo che mette radici da un solo frutto: il limone di SiciliaLimmi un successo che mette radici da un solo frutto: il limone di Sicilia
Limmi un successo che mette radici da un solo frutto: il limone di SiciliaLimmi
 
CONTRATTO PRELIMINARE DI COMPRAVENDITA IMMOBILIARE.pdf
CONTRATTO PRELIMINARE DI COMPRAVENDITA IMMOBILIARE.pdfCONTRATTO PRELIMINARE DI COMPRAVENDITA IMMOBILIARE.pdf
CONTRATTO PRELIMINARE DI COMPRAVENDITA IMMOBILIARE.pdfYuriRosati
 
Mario Madafferi, Innovation Manager @Progesia SRL Società Benefit – “L’Integr...
Mario Madafferi, Innovation Manager @Progesia SRL Società Benefit – “L’Integr...Mario Madafferi, Innovation Manager @Progesia SRL Società Benefit – “L’Integr...
Mario Madafferi, Innovation Manager @Progesia SRL Società Benefit – “L’Integr...Associazione Digital Days
 
Pamela Serena Nerattini, Consulente LinkedIn e HR – “Ascoltare per crescere i...
Pamela Serena Nerattini, Consulente LinkedIn e HR – “Ascoltare per crescere i...Pamela Serena Nerattini, Consulente LinkedIn e HR – “Ascoltare per crescere i...
Pamela Serena Nerattini, Consulente LinkedIn e HR – “Ascoltare per crescere i...Associazione Digital Days
 
Giulia Pascuzzi – Coach & Business Leader – Parlare di diversità è davvero in...
Giulia Pascuzzi – Coach & Business Leader – Parlare di diversità è davvero in...Giulia Pascuzzi – Coach & Business Leader – Parlare di diversità è davvero in...
Giulia Pascuzzi – Coach & Business Leader – Parlare di diversità è davvero in...Associazione Digital Days
 
Luca Faccin, CEO @PerformancePPC – “Tool AI per migliorare i processi aziendali”
Luca Faccin, CEO @PerformancePPC – “Tool AI per migliorare i processi aziendali”Luca Faccin, CEO @PerformancePPC – “Tool AI per migliorare i processi aziendali”
Luca Faccin, CEO @PerformancePPC – “Tool AI per migliorare i processi aziendali”Associazione Digital Days
 
Gianni Clocchiatti, Consulente per l’innovazione e la creatività d’impresa, F...
Gianni Clocchiatti, Consulente per l’innovazione e la creatività d’impresa, F...Gianni Clocchiatti, Consulente per l’innovazione e la creatività d’impresa, F...
Gianni Clocchiatti, Consulente per l’innovazione e la creatività d’impresa, F...Associazione Digital Days
 
Edoardo Marrone, Direttore Commerciale di @Across- “Valorizzare il tesoro nas...
Edoardo Marrone, Direttore Commerciale di @Across- “Valorizzare il tesoro nas...Edoardo Marrone, Direttore Commerciale di @Across- “Valorizzare il tesoro nas...
Edoardo Marrone, Direttore Commerciale di @Across- “Valorizzare il tesoro nas...Associazione Digital Days
 
Enrico Busto, Strategic Technology Advisor fondatore di @Eticrea – “Reskillin...
Enrico Busto, Strategic Technology Advisor fondatore di @Eticrea – “Reskillin...Enrico Busto, Strategic Technology Advisor fondatore di @Eticrea – “Reskillin...
Enrico Busto, Strategic Technology Advisor fondatore di @Eticrea – “Reskillin...Associazione Digital Days
 
Eleonora Sordella, Headhunter, Coach, Formatrice e Chiara Bonomi, Training De...
Eleonora Sordella, Headhunter, Coach, Formatrice e Chiara Bonomi, Training De...Eleonora Sordella, Headhunter, Coach, Formatrice e Chiara Bonomi, Training De...
Eleonora Sordella, Headhunter, Coach, Formatrice e Chiara Bonomi, Training De...Associazione Digital Days
 
BioClima_Da gestori a custodi del territorio_Modulo 2
BioClima_Da gestori a custodi del territorio_Modulo 2BioClima_Da gestori a custodi del territorio_Modulo 2
BioClima_Da gestori a custodi del territorio_Modulo 2Etifor srl
 

Recently uploaded (11)

Limmi un successo che mette radici da un solo frutto: il limone di Sicilia
Limmi un successo che mette radici da un solo frutto: il limone di SiciliaLimmi un successo che mette radici da un solo frutto: il limone di Sicilia
Limmi un successo che mette radici da un solo frutto: il limone di Sicilia
 
CONTRATTO PRELIMINARE DI COMPRAVENDITA IMMOBILIARE.pdf
CONTRATTO PRELIMINARE DI COMPRAVENDITA IMMOBILIARE.pdfCONTRATTO PRELIMINARE DI COMPRAVENDITA IMMOBILIARE.pdf
CONTRATTO PRELIMINARE DI COMPRAVENDITA IMMOBILIARE.pdf
 
Mario Madafferi, Innovation Manager @Progesia SRL Società Benefit – “L’Integr...
Mario Madafferi, Innovation Manager @Progesia SRL Società Benefit – “L’Integr...Mario Madafferi, Innovation Manager @Progesia SRL Società Benefit – “L’Integr...
Mario Madafferi, Innovation Manager @Progesia SRL Società Benefit – “L’Integr...
 
Pamela Serena Nerattini, Consulente LinkedIn e HR – “Ascoltare per crescere i...
Pamela Serena Nerattini, Consulente LinkedIn e HR – “Ascoltare per crescere i...Pamela Serena Nerattini, Consulente LinkedIn e HR – “Ascoltare per crescere i...
Pamela Serena Nerattini, Consulente LinkedIn e HR – “Ascoltare per crescere i...
 
Giulia Pascuzzi – Coach & Business Leader – Parlare di diversità è davvero in...
Giulia Pascuzzi – Coach & Business Leader – Parlare di diversità è davvero in...Giulia Pascuzzi – Coach & Business Leader – Parlare di diversità è davvero in...
Giulia Pascuzzi – Coach & Business Leader – Parlare di diversità è davvero in...
 
Luca Faccin, CEO @PerformancePPC – “Tool AI per migliorare i processi aziendali”
Luca Faccin, CEO @PerformancePPC – “Tool AI per migliorare i processi aziendali”Luca Faccin, CEO @PerformancePPC – “Tool AI per migliorare i processi aziendali”
Luca Faccin, CEO @PerformancePPC – “Tool AI per migliorare i processi aziendali”
 
Gianni Clocchiatti, Consulente per l’innovazione e la creatività d’impresa, F...
Gianni Clocchiatti, Consulente per l’innovazione e la creatività d’impresa, F...Gianni Clocchiatti, Consulente per l’innovazione e la creatività d’impresa, F...
Gianni Clocchiatti, Consulente per l’innovazione e la creatività d’impresa, F...
 
Edoardo Marrone, Direttore Commerciale di @Across- “Valorizzare il tesoro nas...
Edoardo Marrone, Direttore Commerciale di @Across- “Valorizzare il tesoro nas...Edoardo Marrone, Direttore Commerciale di @Across- “Valorizzare il tesoro nas...
Edoardo Marrone, Direttore Commerciale di @Across- “Valorizzare il tesoro nas...
 
Enrico Busto, Strategic Technology Advisor fondatore di @Eticrea – “Reskillin...
Enrico Busto, Strategic Technology Advisor fondatore di @Eticrea – “Reskillin...Enrico Busto, Strategic Technology Advisor fondatore di @Eticrea – “Reskillin...
Enrico Busto, Strategic Technology Advisor fondatore di @Eticrea – “Reskillin...
 
Eleonora Sordella, Headhunter, Coach, Formatrice e Chiara Bonomi, Training De...
Eleonora Sordella, Headhunter, Coach, Formatrice e Chiara Bonomi, Training De...Eleonora Sordella, Headhunter, Coach, Formatrice e Chiara Bonomi, Training De...
Eleonora Sordella, Headhunter, Coach, Formatrice e Chiara Bonomi, Training De...
 
BioClima_Da gestori a custodi del territorio_Modulo 2
BioClima_Da gestori a custodi del territorio_Modulo 2BioClima_Da gestori a custodi del territorio_Modulo 2
BioClima_Da gestori a custodi del territorio_Modulo 2
 

Bachelor Thesis presentation

Editor's Notes

  1. Buongiorno, Sono Stefano Tranquillini e ora vi introdurrò la mia tesi dal titolo: quaestio: un’applicazione web per il monitoraggio della soddisfazione dei clienti. Realtore prof maurizio marchese Correlatore: dott. Luigi perna.
  2. Questa tesi nasce da un mio interesse verso lo studio delle tecnologie web più recenti e dal loro utilizzo all’interno di applicazioni web. In particolare è stato affrontato il caso di studio dello sviluppo di un’applicazione web per la gestione dei questionari.
  3. L'applicazione in questione è stata creata per Enginsoft SpA: società italiana che si occupa principalmente della sperimentazione virtuale ingegneristica. Tra le tipologie di servizi offerti dall'azienda ci sono corsi formativi a livello specialistico sulle tecnologie che l'azienda stessa distribuisce; al termine di ciascun corso viene proposto un questionario di valutazione secondo quanto prescritto dal sistema di qualità iso 9000 interno, per la rilevazione della qualità dei servizi offerti (similmente a quelli proposti dall'università di Trento per la valutazione dei docenti e delle preferenze del corso). Dall’utilizzo di questa applicazioni ci si aspetta di avere: un risparmio di tempo sia in fase di creazione e ovviamente in fase di raccolta dei dati. Diminuire i costi di produzione, esempio risparmiando quantità di carta. Una più facile gestione sia dei questionari sia degli utenti La possibilità di riutilizzare parti di questionario gestire questionari permettendo di inserire testi in più lingue e quindi essere utilizzabili da più utenti di diversa lingua. Controllare il corretto utilizzo del completamento, controllando che le risposte obbligatorie siano effettivamente risposte ed altro. Avere un controllo sull’anagrafica dell’utente diretta e senza possibilità di errore in quanto i dati sono presi direttamente dal database.
  4. Per lo sviluppo dell’applicazione sono stati utilizzati diversi strumenti, in particolare Struts. E’ un framework, cioè una struttura di supporto su cui il software può essere organizzato e progettato, che implementa il pattern MVC. L’MVC, per chi non lo conoscesse è una soluzione progettuale che permette di dividrer l’applicazione in 3 parti: Model: i dati e i metodi per accedervi. View: le viste, cioè la rappresentazionde del modello. In genere è l’interfaccia con l’utente Controller: è il cuore dell’applicazione, cioè le iterazioni. In genere riceve gli input dall’utente e elabora il model secondo le richeiste presentandolo attravero il view., VANTAGGI: I princiapli sono quelli che offre il model view controller cioè: Modularità e riusabilita: i diversi ruoli dell’applicazione sono gestiti da diversi componenti. Mantenibilità: si possono modificare singoli livelli, ad esempio modificare solo la grafica di presentazione dei dati. Rapidità di sviluppo: si può dividere il lavoro in più gruppi che lavorano in parallelo sui vari livelli (grafici per il view programmatori per il controller ecc) Conf centrallizzata: Che contiene tutti i riferimenti dell’applicazione come forward ed altro, così da avere un punto unico di gestione che smista le richieste, FromBean che popola in automatico un oggetto con i dati inserirti dall’utente nel form. Tag che permettono di gestire e utilizzare nelle jsp bean html e oggetti in modo semplice. Validazione dati, cioè controllo dell’input dell’utente in modo semplice e può avvenire attraverso l’implementazione del metodo o inserendo le regole in un file XML. Tiles: che permette di creare un layout standard per tutta l’applicazione.
  5. Ajax Ascincronous javascirpt and xml è una tecnica per l’implementazione di applicazioni web interattive e dinamiche. Il suo recente successo è dovuto principalmente a Google che ha iniziato a farne un uso massiccio all’interno delle sue applicazioni come Google, Gmail, GoogleMaps. A differenza dell’applicazione normale, ajax, fa delle richieste asincrone al server e quindi NON è necessario attendere la risposta del server per proseguire. Questo comporta una vantaggio nel fatto che si possono effettuare più richieste contemporaneamente e indipendenti continuando ad utilizzare l’applicazione. L’iterazione con il database e il javascript permette di avere un interfaccia ricca e dinamica. Altri vantaggi sono l’indipendenza dal sistema operativo browser e linguaggio dello sviluppo lato server. In oltre genera un carico minore di dati sul server in quanto si richiedono piccole quantità di dati. I principali svantaggi sono dovuti al non funzionamento del tasto back del browser e alla gestione dei link in quanto la pagina carica solamente delle porzioni di pagina in modo asincrono e quindi non si riesce a tenerne traccia, da qui il non funzionamento e l’impossibilità di gestire link intermedi delle azioni. Difficoltà anche nel gestire il debugging dell’applicazione. i principali utilizzi sono quelli della creazione di interfacce ricche e dinamiche che superino i limiti dell’html statico e permettono un utilizzo e funzionalità molto ampio.
  6. Gli altri struemnti utilizzati sono: la Java enterprise edition e in particolare Servelet, jsp e javabean attraverso Struts. Come sever e database sono stati utilizzati Tomcat e postgres, il primo perché è quasi uno standard de facto per i application server, il secondo perché già utilizzato dall’azienda. E’ stato usato Ibatis per la gestione del database all’interno dell’applicazione. Questo framework di apache permette di ricavare i risultati delle query come liste di oggetti o oggetti (in genere bean) e quindi crea un modo semplice di interfacciarsi con il database. Tra le sue caratteristiche c’è quella di avere la definizione delle query in un file esterno, cosa che permette modifiche senza influenzare l’applicazione. E’ stato usato jasperreport per la creazione dei report. Questa serie di librerie assieme ad iReport per creare la struttura permette di avere dei report flessibili in diversi formati. Anche in questo caso la struttra del report viene presa da un file xml esterno e poi integrata con i dati del database. In fine l’autenticazione e autorizzazione avviene attraverso il realm di tomcat che permette in modo quasi automatico di gestire i permessi e accessi al sistema definendo solamente alcune regole e i dati all’interno di un file xml e un database. Per il logging è stato usto log4j che permette grande personalizzazione dei vari output di logging divisi in varie classi di tipologia: debug info error ecc.
  7. L’azienda richiedeva delle funzionalità per l’applicazione, in particolare: Gestione modulare del questionario: Il questionario deve essere diviso per moduli in modo da poter riutilizzare un singolo modulo in più questionari. Deve anche permettere l’utilizzo di un set di risposte standard così da minimizzare i tempi di costruzione. Multilingua: L’applicazione deve permettere la creazione di questionari in più lingue. Questo comporta di mantenere la stessa forma del questionario modificandone il contenuto . Utilizzo del sistema esistente: l’applicazione deve sfruttare il database esistente nell’azienda ed integrarsi con esso. Gestione questionari anonimi e non: Il sistema deve dare la possibilità di creare questionari anonimi e non anonimi, questo per anonimizare le richieste di informazioni all’utente in modo da togliere l’imbarazzo di valutazioni per corsi con pochi utenti.
  8. Gli utenti del sistema sono due: Il corsista che come funzione all’interno del sistema ha solo quella di rispondere al questionario E l’amministratore. Le funzioni di quest’ultimo sono molto più vaste, infatti comprendono la creazione e gestione del questionario con la possibilità di modificare i dati del questionario, aggiungere rimuovere modificare sia domande che moduli e anche creare le risposte standard (cioè degli insiemi delle più comuni risposte ai questionari che possono essere usate in fase di creazione del questionario per velocizarene la creazione). Gestire gli utenti aggiungendo ed eliminando le associazioni utente-questionario e la generazione dei report finali dei risultati del questionario.
  9. Le problematiche principali riscontrate durante la creazione del progetto sono state più che altro rivolte alle gestione del questionario. In particolare: MULTILNGUA che permette di creare e utilizzare questionari in più lingue. Qui c’è il problema di come gestire i controlli in modo tale che alla fine si abbia un questionario utilizzabile in tutte le lingue per cui è stato pensato Ci sono due fasi da affrontare: la creazione di nuovi oggetti da inserire che possono essere modulo o domanda, qui si rende obbligatorio l’inserimento delle lingue del questionario in modo da avere una corrispondenza tra tutte le lingue; il controllo viene fatto attraverso struts. E inserimento di oggetti di altri questionari, in questo caso vengono mostrati all’amministratore solo quegli oggetti che hanno le lingue compatibili con quelle del questionario questo controllo viene fatto attraverso le query che estraggono solo oggetti compatibili. MODULARE che permette di riutilizzare parti di altri questionari. In questa fase c’è il problema di mantenere intatta la struttura dei questionari dai quali si prendono gli oggetti, in particolare se si tratta di questionari che hanno già avuto risposta in modo da non avere incongruenze di dati. La soluzione si affronta in due modi e si è deciso per lasciare sempre la possibilità di aggiungere componenti ma di non lasciarli modificare in caso siano presi da questionari già risposti e in caso appartengano a questionari che non sono mai stati utilizzati di permettere la modifica ma di mostrare l’avviso che tale modifica influenza più di un questionario.
  10. Qui si può vedere l’interfaccia dell’amministratore, in questo caso la creazione di un questionario. A sinistra c’è il menù con le varie funzionalità. In alto le bandierine per il cambio di lingua del sistema. Più in basso le bandierine che indicano le lingue in cui è stato scritto il qeustionario (in questo caso italiano e inglese) e permettono di vedere il questionario nelle due lingue. Subito sotto si vede il questionario con i vari pulsanti per modificare il questionario (Q-matita), il pulsante per aggiungere / modificare / elminare il modulo e le domande. In fondo c’è il menù dei vari moduli che permette di navigare tra i vari moduli e gestirli.
  11. Si decide di inserire una domanda già esistente quindi si ricerca tramite la casella di testo. Come si può vedere l’autocomplete aiuta nella ricerca
  12. Il risultato della ricerca che quindi da la possibilià di inserire la domanda scelta.
  13. All’interno del cerchi si può vedere la domanda inserita all’interno del modulo.
  14. Qui viene mostrata l’interfaccia che ha l’utente, in particolare il primo modulo del questionario. A sinistra il menù si trasforma in una barra che indica la percentuale di completamento (ci si trova al primo modulo di due). E in centro si vedono le relative domande alle quali l’utente rispondere.
  15. Qui si vede come l’utente non abbia risposto ad una domanda e quindi il sistema avvisa che è necessario rispondere alla domanda per proseguire.
  16. In fine i report a disposizione dell’amministratore che sono di 3 tipi: Il primo che mostra tutte le risposte divise per utenti (è disponibile solo per questionari NON anonimi) Il secondo che mostra tutte le domande a risposta chiusa e per ogni risposta mostra un grafico a torta con le percentuali. Il terzo che raggruppa tutte le risposte alle domande a perte, in questo caso due utenti non hanno risposto a questa domanda e quindi il sistema inserisce l’avviso per chi legge i report.
  17. Con questo ho concluso grazie per l’attenzione.