• Non ci sono risultati.

Esperienza di stage

Nel documento Università degli Studi di Padova (pagine 42-0)

Questo stage è stato, nel complesso, un’esperienza positiva. Il progetto è stato svolto all’interno di un ambiente di lavoro confortevole e tranquillo, permettendomi di com-pletare gli obiettivi definiti senza la minima distrazione.

Per tutta la durata del progetto ho potuto godere di un certo grado di autonomia che mi ha permesso di sperimentare diversi approcci per lo sviluppo delle funzionalità del prodotto, nonchè di guadagnare esperienza dal punto di vista gestionale ed organizza-tivo.

Il tutor aziendale mi ha sempre seguito ed aiutato, soprattutto durante i periodi di

4.4. SVILUPPI FUTURI 35 progettazione e di validazione del prodotto. Inoltre durante i momenti di maggiore difficoltà è stato molto utile rapportarsi con gli altri membri del team. Questo ha permesso un maggiore supporto che ha portato ad una più semplice risoluzione di problematiche in corso di progettazione e sviluppo.

Inoltre l’organizzazione del lavoro è stata gestita tramite revisioni di avanzamento sia settimanali che giornaliere, le quali verificavano l’avanzamento del progetto e permette-vano una revisione in tempo reale degli obiettivi previsti nonchè un miglioramento del prodotto in corso di sviluppo.

Personalmente la sfida più difficile del progetto è stata l’utilizzo di tecnologie per la realtà aumentata e la manipolazione di modelli 3D, in quanto si trattava di un ambito completamente nuovo per me.

Interessante è stata le gestione organizzativa del progetto: il contesto lavorativo di un’azienda è molto diverso dall’ambito universitario, sia per obiettivi che per meto-dologie utilizzate; la possibilità di fare esperienza sotto questo aspetto sarà di certo molto importante in futuro.

Inoltre la produzione di un software funzionale e completo, che ha rimesso più volte in discussione strategie di codifica e strutturali ha dato a me grande soddisfazione.

4.4 Sviluppi futuri

Il prodotto sviluppato, nonostante sia completo da un punto di vista puramente funzionale, si presta a possibili miglioramenti in futuro.

L’organizzazione strutturale del prodotto permette l’aggiunta di funzionalità senza modificare la struttura presente, grazie all’incapsulamento dei metodi e modularità dei componenti.

La tecnologia principale per la realtà aumentata utilizzata, ARKit potrebbe ricevere aggiornamenti e nuove funzionalità in futuro: sarebbe pertanto possibile aggiungere queste nuove funzionalità all’interno dell’applicazione.

Inoltre la tecnologia corrente utilizzabile per dispositivi Android, ARCore, non è ancora abbastanza matura da poter essere utilizzata: non appena sarà disponibile una versione stabile, sarà possibile definire un Back-end che la utilizza da agganciare al Front-end attuale, il quale è stato appositamente sviluppato secondo metodologia cross-platform tramite Apache Cordova.

Un altro possibile sviluppo futuro consiste nella possibilità di ricevere oggetti virtuali da un’altra sede tramite la definizione di un’API REST.

4.5 Conoscenze acquisite

Questa esperienza di stage mi ha permesso di conoscere la realtà aziendale, il cui il lavoro si svolge sotto forma di ritmi ben definiti, e di conseguenza migliorare la mia capacità di gestione organizzativa.

Ho potuto inoltre arricchire le mie conoscenze tecniche: l’approfondimento di metodi per sviluppare applicazioni mobile, unito allo sviluppo tramite tecniche al di fuori delle mie conoscenze, come l’utilizzo di modelli 3D, mi ha permesso di espandere i miei orizzonti e il mio bagaglio di conoscenze, nonchè aumentare le mie competenze all’interno del settore.

Glossario

API

Un’API (Application Programming Interface) è un insieme di procedure, spesso raggruppate per funzionalità, utili ad un programmatore per svol-gere determinati compiti.

Base64

Metodo di codifica per la conversione di dati binari, come ad esempio file multimediali, in stringhe di testo al fine da facilitarne lo spostamento e la memorizzazione all’interno di strutture dati.

Codice QR

Un codice QR è uno speciale tipo di codice a barre in grado di contenere informazioni, normalmente leggibili tramite l’utilizzo di un dispositivo mobile.

CSS

Linguaggio usato per definire la rappresentazione grafica di una pagina web.

HTML

Linguaggio di markup utilizzato per la scrittura della parte logica di una pagina web.

IDE

Un IDE (Integrated Development Environment) è un software che offre ad un programmatore diverse funzionalità atte allo sviluppo di codice.

JavaScript

Linguaggio di scripting orientato agli oggetti utilizzato per la programma-zione web.

JSON

JSON, acronimo di JavaScript Object Notation, è un formato utilizzato

37

38 GLOSSARIO

per lo scambio di dati, soprattutto all’interno di architetture client-server.

Refactoring

Tecnica utlizzata per modificare il codice di un software, senza modificarne caratteristiche funzionali, con lo scopo di migliorare proprietà del codice come manutenibilità, leggibilità e grado di riuso.

STAGE-IT

Evento realizzato da Confindustria Padova il cui scopo è l’incontro tra aziende che desiderano presentare progetti di stage e studenti interessati a svolgerli mediante colloqui individuali.

Swift

Linguaggio di programmazione orientato agli oggetti sviluppato da Apple, per sistemi operativi Apple.

UI

Un’UI (User Interface) rappresenta la parte di un software visibile

all’uten-te, e che viene quindi utilizzata per accedere alle funzionalità del prodotto.

Bibliografia

[1] - Sopra Steria Group, URL: http://www.soprasteria.it/IlGruppo [2] - Essential Project Management, Jean Paul Deberdt. Fonte derivata da intranet aziendale

[3]- Apache Cordova. URL: https://cordova.apache.org/

[4] - ARKit. URL:https://developer.apple.com/arkit/

[5] - Backbone.js. URL:http://backbonejs.org/

[6] - JQuery. URL:https://jquery.com/

[7] - Underscore.js. URL:http://underscorejs.org/

[8] - SceneKit. URL:https://developer.apple.com/documentation/

scenekit

39

Nel documento Università degli Studi di Padova (pagine 42-0)

Documenti correlati