12
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

tesi di laurea Metodologie e tecnologie a supporto nello sviluppo di applicazioni … · 2018. 3. 12. · Metodologie e tecnologie a supporto nello sviluppo di applicazioni mobile

  • 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!