Download Realizzazione di un Sistema di Consuntivazione per una piattaforma di Digital Workplace PDF

TitleRealizzazione di un Sistema di Consuntivazione per una piattaforma di Digital Workplace
LanguageEnglish
File Size2.4 MB
Total Pages65
Table of Contents
                            Sommario
Indice
Elenco delle figure
Elenco delle tabelle
1 Realtà aziendale
	1.1 L'azienda
	1.2 Prodotti e servizi offerti
		1.2.1 Servizi
		1.2.2 Prodotti
		1.2.3 L'idea di WOW
	1.3 Processi interni
		1.3.1 Approccio Agile allo sviluppo software
	1.4 Strumenti e tecnologie di supporto
		1.4.1 Supporto ai processi interni
		1.4.2 Supporto allo sviluppo
	1.5 Ricerca e Innovazione
		1.5.1 Prodotti
		1.5.2 Personale
		1.5.3 Scrum
2 Strategia aziendale
	2.1 Lo stage visto dall'azienda
		2.1.1 Rapporto con lo stagista
		2.1.2 Prospettive di fine stage
	2.2 Il progetto
		2.2.1 L'applicazione attuale: GeCo
		2.2.2 Il nuovo applicativo: Kronos
		2.2.3 Il progetto visto dall'azienda
	2.3 Il progetto visto dallo stagista
	2.4 Vincoli
		2.4.1 Vincoli temporali
		2.4.2 Vincoli metodologici
		2.4.3 Vincoli tecnologici
3 Svolgimento dello stage
	3.1 Il Team
	3.2 Tecnologie adottate
		3.2.1 Backend
		3.2.2 Frontend
		3.2.3 Strumenti e tecnologie di supporto
	3.3 Pianificazione
	3.4 Analisi
		3.4.1 Modello utilizzato
		3.4.2 Suddivisione del lavoro tra i membri del team
	3.5 Progettazione
		3.5.1 Architettura generale del sistema
		3.5.2 Comunicazione tra back-end e front-end
		3.5.3 Progettazione di dettaglio
	3.6 Realizzazione delle funzionalità
		3.6.1 Inserimento e modifica di una voce di consuntivazione
		3.6.2 Feedback all'utente sullo stato di consuntivazione
		3.6.3 Gestione della sicurezza
	3.7 Qualità del prodotto realizzato
		3.7.1 Metriche adottate
		3.7.2 Risultati
4 Valutazione retrospettiva
	4.1 Valutazione dello stage
		4.1.1 Resoconto sugli obiettivi dell'azienda
		4.1.2 Resoconto sugli obiettivi personali
	4.2 Valutazione della distanza tra lo stage e il corso di studi
		4.2.1 Valore aggiunto dallo stage
		4.2.2 Competenze mancanti all'inizio dello stage
		4.2.3 Progetti didattici
	4.3 Valutazioni personali
Glossario
Indice delle fonti
                        
Document Text Contents
Page 1

Università degli Studi di Padova

Dipartimento di Matematica

Corso di Laurea in Informatica

Realizzazione di un Sistema di
Consuntivazione per una piattaforma di

Digital Workplace

Tesi di laurea triennale

Relatore

Prof. Tullio Vardanega

Laureanda

Federica Speggiorin

Anno Accademico 2015-2016

Page 2

Federica Speggiorin: Realizzazione di un Sistema di Consuntivazione per una piatta-
forma di Digital Workplace, Tesi di laurea triennale, c
Set 2016.

Page 32

24 CAPITOLO 3. SVOLGIMENTO DELLO STAGE

JPQL

Il Java Persistence Query Language (JPQL)2 definisce query per le entità. Per-
mette di definire query portabili che funzionano indipendentemente dall’archivio dati
sottostante. Utilizza un linguaggio SQL-like per selezionare oggetti o valori.

JAX-RS

JAX-RS3 è una API Java disegnata per semplificare lo sviluppo di applicazioni
basate sull’architettura Representational State Transfer (REST). Usa annotazioni del
linguaggio Java per facilitare lo sviluppo di servizi web RESLful. Gli sviluppatori
aggiungono tali annotazioni alle proprie classi per definire le risorse e le azioni che
possono essere eseguite su queste risorse. La seguente tabella contiene una lista di
alcune delle annotazioni possibili con una breve descrizione.

Annotazione Descrizione
@PATH Specifica il path relativo per una risorsa o un metodo.
@GET
@PUT
@POST
@DELETE
@HEAD

Specificano il tipo di richiesta HTTP di una risorsa.

@Produces Specifica i MIME media types di rappresentazione che una risorsa
può produrre e restituire al client.

@Consumes Specifica i MIME media types di rappresentazione che una risorsa
può consumare in quanto inviati dal client.

@PathParam Esegue il binding tra il parametro del path e quello del metodo.
@QueryParam Esegue il binding tra il parametro della query string e quello del

metodo.
tabella 3.2: Alcune delle annotazioni JAX-RS

Hibernate

Hibernate4 è una piattaforma open source per lo sviluppo di applicazioni Java che
fornisce un servizio di object-relational mapping (ORM). Gestisce, cioè, la persistenza
dei dati sul database attraverso la rappresentazione e il mantenimento su database
relazionale di un sistema di oggetti Java. In aggiunta, fornisce un’implementazione
per la specifica di JPA. In questo modo può essere utilizzato in qualsiasi ambiente che
supporta JPA, come nel caso di Kronos.

Jersey

Jersey5 RESTful Web Services è un framework open source per sviluppare servizi
web RESLful. Fornisce supporto alle API JAX-RS e delle API che estendono quelle di
JAX-RS con nuove funzionalità per sviluppare servizi RESTful ancora più facilmente.

2http://docs.oracle.com/javaee/6/tutorial/doc/bnbtg.html
3http://docs.oracle.com/javaee/6/tutorial/doc/giepu.html
4http://hibernate.org/
5https://jersey.java.net/

http://docs.oracle.com/javaee/6/tutorial/doc/bnbtg.html
http://docs.oracle.com/javaee/6/tutorial/doc/giepu.html
http://hibernate.org/
https://jersey.java.net/

Page 33

3.2. TECNOLOGIE ADOTTATE 25

Jackson

Jackson è una libreria basata su Java per serializzare oggetti Java in JSON e
viceversa.

3.2.2 Frontend

Per il front-end ho utilizzato il framework AngularJS. Di seguito illustro le altre
tecnologie adottate.

Bootstrap

Bootstrap6 è un framework libero di front-end per uno sviluppo web facile e veloce.
Include template HTML e CSS per form, pulsanti, tabelle, modali, e molto altro, così
come JavaScript plugins. Bootstrap permette inoltre di creare facilmente un design
responsive.

FullCalendar

FullCalendar7 è un plugin jQuery drag-and-drop per visualizzare eventi in un
calendario; è inoltre personalizzabile e open source. Abbiamo utilizzato FullCalendar
per creare l’interfaccia principale di Kronos attraverso la quale ogni utente può inserire
e visualizzare le sue voci di consuntivazione.

JQuery

jQuery8 è una libreria JavaScript per la manipolazione di pagine web e la gestione
di eventi. Abbiamo deciso di utilizzarlo anche in seguito all’adozione di FullCalendar.

SemanticUI

SemanticUI9 è un framework di sviluppo che aiuta a creare layout responsive
utilizzando l’HTML.

In Kronos ho deciso di utilizzare questa libreria, in particolare il modulo Dropdown,
per la creazione dei menu nel modale di inserimento e dettaglio di una voce di consun-
tivazione. Necessitavo, infatti, di creare velocemente un dropdown che contenesse: due
elenchi provenienti dalla chiamata a API di back-end diverse, una barra di ricerca tra
le voci e che, allo stesso tempo, non fosse editabile. Ho trovato, quindi, in tale libreria
l’elemento adatto.

6http://getbootstrap.com/
7https://fullcalendar.io/
8https://jquery.com/
9http://semantic-ui.com/

http://getbootstrap.com/
https://fullcalendar.io/
https://jquery.com/
http://semantic-ui.com/

Page 65

Indice delle fonti

Riferimenti bibliografici
Lerner, Ari. ng-book: The Complete Book on AngularJS. Lightning Source Inc, 2010.

Rubin, Kenneth S. Essential Scrum: A Practical Guide to the Most Popular Agile
Process. Addison-Wesley Professional, 2012.

Sommerville, Ian. Software Engineering. Pearson Education | Addison-Wesley, 2010.

Siti Web consultati
AngularJS. url: https://angularjs.org/ .

Ingegneria del Software – Modulo A. url: http://www.math.unipd.it/~tullio/IS-
1/2015/ .

Ingegneria del Software – Modulo B. url: http://www.math.unipd.it/~rcardin/
sweb.html .

Manifesto Agile. url: http://agilemanifesto.org/ .

Scrum Guide. url: http://www.scrumguides.org/scrum-guide.html .

Scrum Methodology. url: http://scrummethodology.com/ .

Stack Overflow. url: http://stackoverflow.com/ .

The Java EE 6 Tutorial. url: http://docs.oracle.com/javaee/6/tutorial/doc/ .

Wintech. url: http://www.wintech.it/ .

57

Similer Documents