Upload
others
View
7
Download
0
Embed Size (px)
Citation preview
Metodologie e tecnologie a supporto nello sviluppo di applicazioni mobile di tipo Enterprise!
Facoltà di Ingegneria!Corso di Studi in Ingegneria Informatica!
tesi di laurea!
relatore!Ch.mo prof. Marcello Cinque!correlatore!Ch.mo Dennis Alessio Guidotti!candidato!Francesco Godino !!Matr. 885481!
Metodologie e tecnologie a supporto nello sviluppo di applicazioni mobile di tipo Enterprise!Anno accademico 2012/2013!
Metodologie e tecnologie a supporto nello sviluppo di applicazioni mobile di tipo Enterprise!
Facoltà di Ingegneria!Corso di Studi in Ingegneria Informatica!
Caso di studio!
Progetto postino telematico!Insieme di applicazioni per fornire servizi postali a valore aggiunto in itinere!!
Esigenza di identificare una tecnologia a supporto dello sviluppo di applicazioni mobile, al fine di:!• Supportare più sistemi operativi!• Supportare più tipi di dispositivi!• Gestire la rapida evoluzione delle tecnologie mobile!• Gestire lʼaggiornamento e i cambiamenti dellʼapplicazione!
Metodologie e tecnologie a supporto nello sviluppo di applicazioni mobile di tipo Enterprise!
Facoltà di Ingegneria!Corso di Studi in Ingegneria Informatica!
Produrre applicazioni che possano essere distribuite con poche modifiche su diverse
piattaforme e dispositivi !
Sviluppo Multipiattaforma!!
Ridurre i costi di sviluppo e di manutenzione potendo sviluppare una volta e riutilizzare il
codice prodotto !
Utilizzare tecnologie e framework che supportano il processo di sviluppo delle
diverse versioni del software da realizzare!
Metodologie e tecnologie a supporto nello sviluppo di applicazioni mobile di tipo Enterprise!
Facoltà di Ingegneria!Corso di Studi in Ingegneria Informatica!
Analisi di mercato! Vendite dispositivi client mercato europeo!
TABLET!
NOTEBOOK!
DESKTOP!
SMARTPHONE!TABLET!
Variazione % 2Q 2012/2Q 2011
+ 90% + 42%
Fonte: GARTNER Media Tablet by Operating System Worldwide 2010/2016!
“Ha già individuato uno o più sistemi operativi?”!
Fonte: Osservatorio New Tablet & Business Application, School of Management, Politecnico di Milano!
Metodologie e tecnologie a supporto nello sviluppo di applicazioni mobile di tipo Enterprise!
Facoltà di Ingegneria!Corso di Studi in Ingegneria Informatica!
Tecnologie di sviluppo multipiattaforma (1)!Nativa: Utilizzo di linguaggi e strumenti proprietari per realizzare applicazioni
!eseguibili su un unico sistema operativo !
Web application: Utilizzo di linguaggi e strumenti web per realizzare !applicazioni eseguibili allʼinterno di un Browser !
Ibrida: Utilizzo di linguaggi web per : GUI , Logica di business. Utilizzo di ! strumenti proprietari per realizzare lʼinvolucro e le funzionalità native!
Multipiattaforma: Realizzazione porting per le piattaforme da supportare partendo dai requisiti !! software !
Multipiattaforma: Lʼapplicazione realizzata supporta tutti i sistemi operativi !
Multipiattaforma: Riutilizzo del codice web e riscrittura dello strato nativo sulle piattaforme da !! supportare !
Metodologie e tecnologie a supporto nello sviluppo di applicazioni mobile di tipo Enterprise!
Facoltà di Ingegneria!Corso di Studi in Ingegneria Informatica!
Tecnologie di sviluppo multipiattaforma (2)!Custom Container: Utilizzo di linguaggi e strumenti proprietari per realizzare
!applicazioni eseguibili allʼinterno di un contenitore nativo custom!
Cross-Compiled: Utilizzo di linguaggi e strumenti proprietari per compilare !versioni native dellʼapplicazione!
Multipiattaforma: Il contenitore funge da interprete a runtime, lʼapplicazione è eseguibile dai ! ! sistemi operativi supportati dal contenitore !
Multipiattaforma: Riutilizzo di gran parte del codice realizzato, lʼapplicazione supporta i sistemi !! operativi supportati dalla cross-compilation!
Con nessuna soluzione si ottengono prestazioni ottime !
Metodologia per selezionare tecnologia col miglior !
trade-off in base al contesto !
Metodologie e tecnologie a supporto nello sviluppo di applicazioni mobile di tipo Enterprise!
Facoltà di Ingegneria!Corso di Studi in Ingegneria Informatica!
Metodo AHP - Analytic Hierarchy Process !
Obie%vo
Alterna/ve
Scelta tecnologia di sviluppo
Driver Aggiornamento funzionalità
Portabilità Accesso ai sensori
Integrazione Applicazioni
Performance
Web Ibrido Custom container
Cross Compiled
NaGvo
Costruzione matrici locali attraverso
confronti qualitativi a coppie o analisi
quantitative!
In ogni nodo soHo la radice viene calcolato un ranking locale aHraverso calcolo di
un autoveHore
Il ranking globale delle alternaGve si oIene
sinteGzzando i daG locali aHraverso somme pesate
Metodologie e tecnologie a supporto nello sviluppo di applicazioni mobile di tipo Enterprise!
Facoltà di Ingegneria!Corso di Studi in Ingegneria Informatica!
Definizione driver!
Performance
Portabilità
Il numero di pia6aforme supportate da una tecnologia
Integrazione applicazioni
Presenza di meccanismi per la collaborazione e la comunicazione tra applicazioni e servizi del sistema opera/vo
Accesso ai sensori
Numero e modalità di accesso ai sensori dei disposi/vi mobili supporta/
CosG di aggiornamento
Effort richiesto per aggiornare o modificare le diverse versioni dell’applicazione
Qualità dell’interfaccia utente in termini di esperienza utente, interfaccia grafica e rela/ve prestazioni
Metodologie e tecnologie a supporto nello sviluppo di applicazioni mobile di tipo Enterprise!
Facoltà di Ingegneria!Corso di Studi in Ingegneria Informatica!
Portabilità! Accesso ai sensori!Costi di
aggiornamento!Integrazione applicazioni!Performance!
Risultato Ranking globale!
Peso! 44% 7,1% 17,1% 28,1% 3,8% Web
application! 41% 4% 34% 4% 8% 25,45%
Ibrido! 25% 12% 23% 15% 12% 20,56%
Nativo! 3% 49% 3% 42% 41% 18,7% Cross
compiled! 15% 22% 13% 25% 25% 18,55% Custom
container! 15% 12% 26% 15% 13% 16,74%
Risultati AHP!
44,0%
7,1% 17,1%
28,1%
3,8% Portabilità
Accesso ai sensori Cos/ di aggiornamento Integrazione applicazioni Performance
18,70%
18,55%
16,74%
20,56%
25,45%
Na/vo
Cross compiled
Custom Container
Ibrido
Web applica/on
Le distanze tra le alternaGve nel ranking globale sono basse
TuHe le tecnologie sono valide alternaGve, è importante definire il contesto di uGlizzo
Metodologie e tecnologie a supporto nello sviluppo di applicazioni mobile di tipo Enterprise!
Facoltà di Ingegneria!Corso di Studi in Ingegneria Informatica!
Sviluppo applicazione multipiattaforma!
Metodologie e tecnologie a supporto nello sviluppo di applicazioni mobile di tipo Enterprise!
Facoltà di Ingegneria!Corso di Studi in Ingegneria Informatica!
Analisi quantitativa tecnologia utilizzata!
Metodologie e tecnologie a supporto nello sviluppo di applicazioni mobile di tipo Enterprise!
Facoltà di Ingegneria!Corso di Studi in Ingegneria Informatica!
Conclusioni e sviluppi futuri!