Applicazione Web Per La Gestione Automatica Degli Objectives & Key

Applicazione Web Per La Gestione Automatica Degli Objectives & Key

Università degli Studi di Padova Dipartimento di Matematica "Tullio Levi-Civita" Corso di Laurea in Informatica Applicazione web per la gestione automatica degli Objectives & Key Results nei processi aziendali Tesi di laurea triennale Relatore Prof. Armir Bujari Laureando Nicolò Tartaggia Anno Accademico 2018-2019 Nicolò Tartaggia: Applicazione web per la gestione automatica degli Objectives & Key Results nei processi aziendali, Tesi di laurea triennale, c Settembre 2019. Dedicato alla mia famiglia, che mi supporta da sempre. Sommario Il presente documento descrive il lavoro svolto durante il periodo di stage, della durata di 330 ore, dal laureando Nicolò Tartaggia presso l’azienda Uqido Srl di Padova. Il progetto di stage prevedeva l’analisi, la progettazione e lo sviluppo di una piattaforma web per la gestione automatica e la visualizzazione dello stato di avanzamento degli OKR (Objectives & Key Results) aziendali. L’applicazione è stata pensata per un uso interno. Di conseguenza, solo i membri dell’azienda possono avere accesso a quest’ultima. Nello specifico, il prodotto è composto da due componenti principali: (i) modulo di back-end, struttura a microservizi per effettuare tutte le operazioni di interazione con il database, e (ii) modulo di front-end, applicazione Angular che utilizza le API REST esposte dal back-end per la modifica e l’aggiornamento degli OKR. v Ringraziamenti Innanzitutto, vorrei esprimere la mia gratitudine al Prof. Armir Bujari per la fiducia accordatami accettando il ruolo di relatore della mia tesi e per l’aiuto e il sostegno fornitomi durante la stesura del lavoro. In seguito, desidero ringraziare tutto il team Uqido per la disponibilità dimostrata e per avermi dato la possibilità di vivere questa esperienza formativa. Desidero ringraziare di cuore i miei genitori per il sostegno, il grande aiuto e per avermi permesso di raggiungere questo ambito traguardo. Consegno a loro virtualmente questo diploma di laurea, in segno di riconoscimento per gli sforzi sostenuti, non solo finanziari. Infine desidero ringraziare i miei amici, su cui so di poter sempre contare, per le esperienze vissute insieme che hanno reso più piacevoli questi anni di studio. Padova, Settembre 2019 Nicolò Tartaggia vii Indice 1 Introduzione 1 1.1 L’azienda . .1 1.2 Proposta di stage . .2 1.3 Metodo di lavoro . .2 1.3.1 Scrum . .2 1.3.2 Ciclo Scrum . .3 1.3.3 Pull Request and review . .4 1.4 Organizzazione del documento . .5 1.5 Convenzioni tipografiche . .6 2 Il progetto 7 2.1 Objectives & Keys Results . .7 2.2 Piattaforma per la gestione automatica degli OKR . .7 2.2.1 Caratteristiche degli utenti . .8 2.2.2 Moduli . .8 2.2.3 Funzionalità . .8 2.3 Requisiti . .9 2.3.1 Notazione . .9 2.3.2 Obiettivi fissati . .9 3 Tecnologie, strumenti di supporto e linguaggi 11 3.1 Tecnologie . 11 3.1.1 NodeJS . 11 3.1.2 Firebase . 14 3.1.3 Angular . 16 3.1.4 RxJS . 18 3.2 Strumenti di supporto . 18 3.2.1 Git . 19 3.2.2 GitHub . 19 3.2.3 Postman . 20 3.2.4 Trello . 20 3.2.5 Clockify . 21 3.2.6 Slack . 21 3.2.7 WebStorm . 21 3.3 Linguaggi per la codifica . 22 3.3.1 TypeScript . 22 3.3.2 HTML5 . 23 3.3.3 SCSS . 23 ix x INDICE 4 Analisi dei requisiti 25 4.1 Casi d’uso . 25 4.1.1 Attori . 25 4.1.2 Struttura . 25 4.1.3 Operazioni permesse ad un utente non autenticato . 26 4.1.4 Caso d’uso generale UCG1: gestione degli OKR . 28 4.2 Tracciamento dei requisiti . 47 4.2.1 Requisiti funzionali . 48 4.2.2 Requisiti di qualità . 50 4.2.3 Requisiti di vincolo . 51 4.3 Tracciamento requisiti - casi d’uso . 51 5 Progettazione architetturale 55 5.1 Back-end . 55 5.1.1 Struttura dei servizi . 58 5.1.2 I servizi . 58 5.1.3 Il database . 60 5.2 Front-end . 62 5.2.1 Struttura Angular . 63 5.2.2 I moduli . 63 5.2.3 I componenti . 64 5.2.4 I servizi . 65 5.2.5 I modelli . 65 6 Codifica 67 6.1 Back-end . 67 6.1.1 Elenco API REST esposte dal back-end . 67 6.1.2 Esempi di JSON ritornati dalle API . 69 6.2 Front-end . 70 6.2.1 Struttura dei modelli . 70 6.2.2 Servizi . 71 6.2.3 Screenshot dell’applicazione . 73 6.3 Verifica e validazione . 76 6.3.1 Verifica . 76 6.3.2 Analisi statica . 76 6.3.3 Analisi dinamica . 76 6.3.4 Validazione . 77 7 Conclusioni 79 7.1 Consuntivo finale . 79 7.2 Raggiungimento degli obiettivi . 80 7.3 Conoscenze acquisite e valutazione personale . 81 7.4 Sviluppi futuri . 81 Glossario 83 Bibliografia 87 Elenco delle figure 1.1 Logo di Uqido . .1 1.2 Ruoli di Scrum ...............................4 1.3 Ciclo Scrum .................................4 1.4 Pull Request . .5 2.1 Obiettivi suddivisi per tipologia . 10 3.1 Logo Node.js . 11 3.2 Interazione client-server .......................... 12 3.3 Flusso di una richiesta CORS . 14 3.4 Logo di Firebase . 14 3.5 Logo di Angular . 16 3.6 Logo di RxJS . 18 3.7 Logo di Git . 19 3.8 Logo di GitHub . 19 3.9 Logo di Postman . 20 3.10 Logo di Trello . 20 3.11 Logo di Clockify . 21 3.12 Logo di Slack . 21 3.13 Logo di WebStorm . 21 3.14 Logo di TypeScript . 22 3.15 Logo di HTML5 . 23 3.16 Logo di Sass . 23 4.1 Operazioni permesse ad un utente non autenticato . 26 4.2 UC1 - Autenticazione . 26 4.3 UCG1 - Operazioni per la gestione degli OKR . 29 4.4 UC3 - Operazioni per la gestione del quarter . 30 4.5 UC3.1 - Creazione di un quarter . 31 4.6 UC3.2 - Visualizzazione lista dei quarter disponibili . 32 4.7 UC3.2.1 - Visualizzazione di un quarter specifico . 33 4.8 UC4 - Operazioni per la gestione degli obiettivi . 35 4.9 UC4.1 - Inserimento di un nuovo obiettivo . 36 4.10 UC4.3 - Visualizzazione lista degli obiettivi . 37 4.11 UC4.3.1 - Visualizzazione obiettivo specifico . 37 4.12 UC5 - Operazioni per la gestione dei risultati chiave . 38 4.13 UC5.1 - Creazione di un risultato chiave . 39 4.14 UC5.3 - Visualizzazione lista dei risultati chiave . 40 xi 4.15 UC5.3.1 - Visualizzazione di un risultato chiave specifico . 41 4.16 UC6 - Operazioni per la gestione delle metriche . 42 4.17 UC6.1 - Inserimento di una nuova metrica . 43 4.18 UC6.3.

View Full Text

Details

  • File Type
    pdf
  • Upload Time
    -
  • Content Languages
    English
  • Upload User
    Anonymous/Not logged-in
  • File Pages
    102 Page
  • File Size
    -

Download

Channel Download Status
Express Download Enable

Copyright

We respect the copyrights and intellectual property rights of all users. All uploaded documents are either original works of the uploader or authorized works of the rightful owners.

  • Not to be reproduced or distributed without explicit permission.
  • Not used for commercial purposes outside of approved use cases.
  • Not used to infringe on the rights of the original creators.
  • If you believe any content infringes your copyright, please contact us immediately.

Support

For help with questions, suggestions, or problems, please contact us