UNIVERSITA’ DEGLI STUDI DI ROMA TOR VERGATA

Slides:



Advertisements
Presentazioni simili
Interazione Uomo - Macchina
Advertisements

MODULO 4 – Il Foglio elettronico
MODULO 3 – ELABORAZIONE TESTI
Mobile.istat.it Dietro le quinte Paolo Di Domenico
CONOSCIAMO IL WINDOWS '95.
Università degli Studi di Modena e Reggio Emilia Facoltà di Ingegneria – Sede di Modena Corso di Laurea in Ingegneria Informatica – Nuovo Ordinamento Relatore:
Motore di news per portali Web: progetto ed implementazione Relatore: Chiar.mo Prof. Sonia Bergamaschi Tesi di Laurea di: Roberto Delfini Anno Accademico.
UNIVERSITA DEGLI STUDI DI MODENA E REGGIO EMILIA Facoltà di Ingegneria – Sede di Modena Corso di Laurea in Ingegneria Informatica Progetto e sviluppo di.
Università degli Studi di Modena e Reggio Emilia
COMPARAZIONE DI STRUMENTI SOFTWARE PER LA CREAZIONE, LA GESTIONE E LINTEGRAZIONE DI ONTOLOGIE Università degli Studi Modena e Reggio Emilia Facoltà di.
ANALISI COMPARATIVA DEGLI ERP: SAP E MICROSOFT DYNAMICS
SINCRONIZZAZIONE E TRASFERIMENTO VIA WEB DI IMMAGINI E DATI MULTIMEDIALI CON INFORMAZIONI GEOGRAFICHE E RAPPRESENTAZIONI CARTOGRAFICHE Laureando: Mitja.
Realizzazione di un robot mobile controllato mediante comandi labiali
LINTERFACCIA GRAFICA Linterfaccia grafica è quello che appare sullo schermo del computer e serve a far comunicare lutente con il computer. Con il termine.
JavaScript Laboratorio di Applicazioni Informatiche II mod. A.
Smartphone e applicazioni: analisi e linee guida
OPEN OFFICE e IMPRESS Masucci Antonia Maria.
UNIVERSITÀ DEGLI STUDI DI MODENA E REGGIO EMILIA Facoltà di Scienze Matematiche, Fisiche e Naturali Corso di Laurea in Scienze dellInformazione Applicazione.
Università degli studi di Modena e Reggio Emilia Facoltà di Ingegneria Enzo Ferrari Modena Corso di Laurea in Ingegneria Informatica PROGETTO E SVILUPPO.
DBMS ( Database Management System)
Laboratorio di Informatica AA 2009/2010
Laboratorio di Informatica AA 2008/2009
UNIVERSITA’ POLITECNICA DELLE MARCHE
Gestione sito Dario Zucchini 29/02/2012.
Università Politecnica delle Marche
Concetti di base sul Software dei PC Unitre Anno
UNIVERSITÀ DEGLI STUDI DI MODENA E REGGIO EMILIA Facoltà di Ingegneria “Enzo Ferrari” – Sede di Modena Corso di Laurea Specialistica in Ingegneria Informatica.
Introduzione a PowerPoint
VIRTUALIZZAZIONE Docente: Marco Sechi Modulo 1.
Lavagna interattiva Smart Board Installazione Presentazione
Servizi Grid ed agenti mobili : un ambiente di sviluppo e delivering
- Modulo AM3 - Corso Avanzato Word
Configurabilità del servizio Voic in Asterisk Università degli studi di Pisa Facoltà di Ingegneria Laurea specialistica in Ingegneria Informatica.
Sviluppo di un’applicazione ludica in ambiente Symbian/Bluetooth
Federico Vigna - 22/09/04 Framework didattico per lo sviluppo di applicazioni per basi di dati Università degli studi “Roma Tre” Dipartimento di informatica.
Gestione spese e trasferte Riepilogo scenario
CORSO INFORMATICA BASE
L’Emeroteca Virtuale … goes mobile! Seminario CIBER 2010 Lecce, Università del Salento, Edificio “Studium 2000” 7-9 Giugno 2010 Ugo Contino – Gino Farinelli.
LABVIEW Sommario Che cosa è uno strumento virtuale (VI) creato con LABVIEW Parti di un VI: pannello frontale diagramma a blocchi Confronto tra il principio.
Un ambiente di sviluppo User Friendly per Java
© 2012 Microsoft Corporation. Tutti i diritti sono riservati. Pianificare una riunione Lync È possibile pianificare una riunione Lync tramite il componente.
Corso di Introduzione all’Informatica
SimplyMobile Auriga ha realizzato un anno fa la piattaforma SimplyMobile L’investimento costante di Auriga sul mobile banking ha l’obiettivo di rendere.
Tecnologie informatiche. PowerPoint CREA UNA PRESENTAZIONE.
Interfacce grafiche Capitolo 27 marzo 2004 Interfacce grafiche.
SVILUPPO DI UN SERVIZIO DI STAMPA PER DISPOSITIVI MOBILI BASATO SULLE PIATTAFORME JINI E J2ME Candidato Relatore Marco Lazzara Prof. Ing. Vincenzo Grassi.
Università degli studi di Pavia Comunicazione Interculturale e Multimediale Prova finale di Ilenia Pasotti Oltre le barriere comunicative: disabili e accessibilità.
Università degli Studi di Roma “Tor Vergata”
Università degli studi di Roma “Tor Vergata” Facoltà di Ingegneria Dipartimento di Ingegneria Informatica Progetto e realizzazione di un sistema di localizzazione.
Strumenti per la gestione efficiente di connessioni tra terminali mobili Android Università degli Studi di Roma Tor Vergata Facoltà di Ingegneria Corso.
Progetto di Ingegneria del Web Anno Accademico 2007/2008 Stefano Pigiani Bruno Ricci Marco Ruzzon.
Relatore: Prof. Ing. Stefano SalsanoLaureando: Flaminio Antonucci.
UML Corso ingegneria del software. UML Attore: cittadino - utente Caso d’uso: ricerca di una licenza edilizia 1.Visualizzata la pagina relativa all’interrogazione.
ELABORAZIONE TESTI MICROSOFT WORD EM 09.
Università degli Studi di Firenze Facoltà di Ingegneria Dipartimento di Sistemi e Informatica Corso di Laurea in Ingegneria Informatica Modelli e strumenti.
Corso WEB DESIGN Aprile – Maggio E – COMMERCE.
Elementi di base di Microsoft Powerpoint
Tecnologie informatiche. PowerPoint CREA UNA PRESENTAZIONE.
Flipped classroom e nuove metodologie didattiche Modulo 2 – Terza lezione Antonio Todaro “ Il Sito Web del docente ” prima parte.
Piattaforma Documentale EDMA –Evoluzione Interfaccia Client
Il C `e un linguaggio di programmazione di uso generale, originariamente sviluppato per la scrittura del sistema operativo Unix, ed oggi disponibile su.
Un sito con Wordpress Includere Digital-mente – Corso livello 4 docente: prof.ssa MANUELA MARSILI.
Programmazione orientata agli Oggetti Introduzione a Java.
Insegnamento “Tecniche audiovisive” Corso di Laurea in Ingegneria delle Comunicazioni Yahoo! Widget TV Marco Teodori Assistente Ricercatore - Fondazione.
COMPONENTI DI UN SISTEMA INFORMATICO HardwareSoftware Parte fisicaComponenti logiche Componenti fisiche (elettroniche e meccaniche) di un computer Istruzioni.
Progetto WELL-FIR Manuale Utente del Web GIS Versione 0.1.
Presentazione SIWA Sito web realizzato con Prestashop Mario Farace - Dario Utzeri.
The Tavolo™. DESCRIZIONE 1 IL BISOGNO DELL’AZIENDA La necessità dell’azienda consiste nella volontà di posizionarsi come figura di riferimento innovativo.
Transcript della presentazione:

UNIVERSITA’ DEGLI STUDI DI ROMA TOR VERGATA Facoltà di Ingegneria Informatica Buonasera. Il mio nome è Giancarlo Conti e sono qui per presentare la mia tesi in ingegneria informatica dal titolo: Progettazione e realizzazione di estensioni ad un framework grafico multipiattaforma per servizi su terminali mobili. (CLICK) PROGETTAZIONE E REALIZZAZIONE DI ESTENSIONI AD UN FRAMEWORK GRAFICO MULTI-PIATTAFORMA PER SERVIZI SU TERMINALI MOBILI Relatore: Prof. Stefano Salsano Candidato: Giancarlo Conti

INNOVAZIONI NELL’AMBIENTE MOBILE AMBITI: Hardware Software - Sistemi operativi - Applicazioni / Servizi Il lavoro della mia tesi riguarda la risoluzione di alcune problematiche su un framework per lo sviluppo di servizi, che introdurrò in seguito, seguite all’innovazione nell’ambiente mobile . Le novità introdotte nei dispositivi in commercio riguardano principalmente 2 ambiti: La parte fisica del dispositivo, quindi l’hardware, e la parte software. Per quest’ultima queste novità riguardano 2 settori fondamentali che sono La realizzazione o l’aggiornamento dei sistemi operativi e lo sviluppo di applicazioni e servizi nei maggiori campi di interesse dell’utente. Il problema di fondo che ho affrontato riguarda fondamentalmente le applicazioni ed i servizi del framework. (CLICK) ossia garantirne la portabilità : è ovviamente preferibile che esse possano adattarsi e girare su dispositivi totalmente differenti, non seguendo la strada tracciata da applicazioni come le APP di iPhone oppure il servizio OviMaps di Nokia, totalmente proprietarie ed incompatibili con altri device. PROBLEMATICA : PORTABILITA’

Paradigma della semplicità SMS E MOVE PROGETTO SMS MOVE è il framework per lo sviluppo di servizi SMS: scritto in Java Micro Edition , è disponibile per gli OS Symbian, Windows Mobile, Blackberry e (presto) Android. CARATTERISTICHE: cross-platform (!!!) Open Source rispetta i principi del progetto SMS: Il framework su cui ho operato è stato sviluppato nell’ambito del progetto SMS per lo sviluppo di servizi per terminali mobili ed è chiamato MOVE. Esso fornisce una soluzione al proprio problema del porting mediante la costruzione di apposite versioni per i diversi sistemi operativi al momento supportati. (CLICK) Questo framework, scritto in Java Micro Edition, presenta altre caratteristiche, oltre al cross-platform, quali l’essere OpenSource e il rispetto dei principi fondamentali del progetto SMS. Facilità d’uso Configurazioni automatizzate Meccanismi di affidabilità end-to-end Aiuti per lo sviluppatore Paradigma della semplicità in 4 punti

SERVIZI OFFERTI DA MOVE I servizi offerti da MOVE sono già molti: tra i principali è possibile citare i 3 mostrati in figura: il servizio per la condivisione e l’invio di note elettroniche categorizzate, quello per la navigazione indoor ed outdoor e la community. (CLICK)

IL FRAMEWORK GRAFICO OBIETTIVI DELLA TESI piattaforme Widgets di Thinlet OBIETTIVI DELLA TESI Lavorare al porting sulle diverse piattaforme Superare le limitazioni preesistenti del framework Migliorare/introdurre funzioni per aumentare le potenzialità grafiche Facilitare l’aggiunta di nuovi servizi Thinlet è il toolkit grafico utilizzato per la costruzione delle pagine del client. La parte grafica dell’applicazione è realizzata con Thinlet, un toolkit grafico che estende Canvas (la classe con la grafica di base per j2me) e che è stato evoluto rispetto alla sua “forma” originale. (CLICK) L’obiettivo della tesi, ossia lo sviluppo dell’intero framework, è mirato a 4 aspetti principali. Nel particolare ho lavorato sulla questione del porting, cercando di superare alcune limitazioni preesistenti. Ho introdotto inoltre nuove funzioni o migliorato quelle già presenti per aumentarne le potenzialità del comparto tecnico e grafico dell’applicazione. Infine ho cercato di elaborare una logica di inserimento e manipolazione di pagine comune a tutti i servizi e ho provato tutte le modifiche in un nuovo servizio da me aggiunto.

GESTIONE DEI CAMPI DI TESTO Thinlet “simula” il comportamento dei campi di testo. L’input dell’utente è gestito da un elemento di javax.microedition.lcdui (il comparto grafico di base per Canvas) Digitazione utente Pressione Ok [abc] IMPORTANTE: definizione di gestioni appropriate per i diversi tipi di tastiera (qwerty, normale, su schermo) APPROPRIATA!! Un primo problema “tecnico” risolto riguarda il “disaccoppiamento” di Thinlet dal pacchetto LCDUI di java microedition per la gestione dei campi di testo. Thinlet , che come abbiamo detto estende Canvas, non usa questi elementi. Nel caso delle caselle di testo, il nostro framework le “simula” mediante elementi grafici come rettangoli su cui disegnare l’input utente. L’input in sé viene invece catturato e gestito da una TextBox di LCDUI. La modifica che ho apportato rende Thinlet in grado di gestire personalmente l’interazione tra utente e campi di testo. (CLICK) Inoltre, ho provveduto ad inserire un indicatore della modalità di input utilizzata (indicato nella slide in rosso di fianco al testo), originariamente non prevista sul framework in quanto già presente nella TextBox. INAPPROPRIATA!! Modifica apportata: gestione “locale” dell’interazione tra utente ed elemento grafico.

“Stratagemma grafico “ che aggira i problemi di Canvas in 5 fasi MODALITA’ FULL SCREEN FASE 1: RAPPRESENTAZIONE DEL MENU’ Sx Menu “Stratagemma grafico “ che aggira i problemi di Canvas in 5 fasi Pagina senza menu Composizione di immagini Menubar PROBLEMI DI PORTING  SOLUZIONE: Dx Menu Un problema relativo al porting in cui mi sono imbattuto riguardava l’abilitazione della modalità full screen su tutti i dispositivi. Originariamente generava problemi con alcuni modelli di dispositivi. La soluzione implementata si articola in 5 fasi ed adotta uno stratagemma “grafico”: (CLICK) Invece di utilizzare pulsanti o menù standard di Canvas o Thinlet, il menù viene “disegnato” mediante la composizione di 3 immagini: 2 per i pulsanti destro e sinistro ed una per la barra centrale. Dopo esserci riservati una porzione della parte bassa dello schermo alta quanto le immagini e aver forzato i componenti a proporzionarsi alle sue nuove misure, le 3 immagini che compongono il menù vengono disegnate secondo necessità. Questo tipo di soluzione permette di poter utilizzare altre immagini per i menù semplicemente mantenendo inalterate le dimensioni delle originali, sovrascrivendo quelle di base. La seconda fase consiste nella stampa sulle immagini che rappresentano il menù del testo indicante l’azione associata. La maniera più semplice di far questo è sostituire l’aggiunta di un comando con la stampa del testo sull’immagine del menù corrispondente. Se ad esempio nella parte sinistra veniva caricato il pulsante “Back” ora sul menù di sinistra si stampa invece la scritta. FASE 2: ASSEGNAZIONE DELLE AZIONI Aggiunta del testo sui pulsanti: conversione da inserimento di un comando a disegno di una stringa sullo schermo. Es: da addCommand(backCommand) a drawString(“Back”)

MODALITA’ FULL SCREEN FASE 3: CONVERSIONE DELLE PAGINE JAVAX IN THINLET Sostituzione di tutte le pagine costruite con elementi del package javax.microedition.lcdui con le stesse fatte in Thinlet. FASE 4: GESTIONE DELLE AZIONI Avvio della porzione di codice prevista per il comando sostituito: La terza fase consiste in un passaggio intermedio di riprogettazione di pagine. Bisogna ricreare quelle fatte che contengono elementi LCDUI utilizzando soltanto widgets Thinlet. Il motivo associato a questa operazione è legato a dei problemi di ridisegno che gli elementi javax impongono al framework e che portano alla comparsa del menù standard anche in modalità a schermo intero. L’aspetto principale di questo passaggio è mantenere inalterata la logica delle azioni di ogni singolo elemento presente sulla pagina. (CLICK) La quarta fase consiste nella gestione delle azioni. Alla pressione dei tasti assegnati ai menù, si rileva l’azione leggendo la scritta sul menù associato. Poi, basta ricopiare il codice contenuto nella gestione del comando sostituito nella porzione di codice che gestisce quella particolare azione stampata sul menù. if (command==backcommand) { if (action.equals(“Back”)){ Codice per la gestione del comando Codice per la gestione del comando } else if … } else if …

Se il dispositivo è dotato della funzionalità, alla pressione delle MODALITA’ FULL SCREEN FASE 5: ABILITAZIONE DEL TOUCH-SCREEN Se il dispositivo è dotato della funzionalità, alla pressione delle zone di interesse del menù viene avviata la gestione codice come sopra. if (command==backcommand) { Codice per la gestione del comando Codice per la gestione del comando } else if … La quinta ed ultima fase riguarda l’abilitazione del touch screen sul menù. Alla pressione del puntatore sullo schermo, si analizzano le coordinate del punto premuto e, se corrispondono ad una zona interessata dal menù (CLICK) si esegue la stessa operazione fatta in precedenza. Nel metodo pointerPressed(int x, int y): if ( x <65 && y > getHeight() – 17 && txt==“Back”) { } else if …

PROGETTAZIONE DI ESTENSIONI GRAFICHE Un’ulteriore aggiunta al GUI toolkit riguarda la possibilità di aggiungere elementi grafici che rendono le pagine più gradevoli. Home Page originale del Client Uno sviluppo alle modifiche finora apporate consiste in una serie di migliorie all’apparato grafico che rendano il look&feel del framework più gradevole, oltre che semplice da utilizzare. (CLICK) Per quanto semplice da gestire, la grafica di Thinlet rimane un po’ povera. Necessita di modifiche per migliorare il Look&Feel.

PROGETTAZIONE DI ESTENSIONI GRAFICHE Il programmatore può inserire un’immagine, indicando se adattarla alle dimensioni della pagina o definendo la posizione dove disegnarla (la prima esclude l’altra). L’uso degli sfondi può essere combinato con la scelta dei colori di background. SOLUZIONE: opzione per l’uso di immagini di sfondo nei pannelli. ADATTAMENTO POSIZIONAMENTO XPosition XPosition YPosition Left Center Right YPosition Left Center Right Top Top Una prima soluzione riguarda la possibilità di inserire immagini di sfondo sui pannelli che contengono i vari componenti da combinare con il colore di background. (CLICK) Adottando un sistema a coordinate come quelle in figura con cui possono essere identificati i punti chiave dei pannelli e delle immagini, per il programmatore è ora possibile aggiungere sfondi indicando la tipologia di inserimento. Le opzioni sono 2: adattare l’immagine alla dimensione dello schermo. In questo caso è buona norma verificare l’effetto della scalatura delle dimensioni dell’immagine e far si che non risulti eccessivamente distorta. Oppure, si può scegliere di posizionare l’immagine in uno dei 9 punti cardinali principali del pannello, individuati da delle costanti, e combinarlo con il colore di background. Center Center Immagine da aggiungere Bottom Bottom

PROGETTAZIONE DI ESTENSIONI GRAFICHE SOLUZIONE 2: migliorare l’aspetto dei componenti esistenti Introduzione di temi personalizzati: Modifica alla rappresentazione di qualche componente Modifica alla colorazione dell’intero ambiente Una seconda soluzione è quella dell’introduzione dei temi. L’operazione si sviluppa in due fasi: La prima (CLICK) riguarda la modifica alla rappresentazione di alcuni componenti. La seconda modifica riguarda la colorazione di default degli elementi sullo schermo. Nei settaggi del client l’utente potrà poi scegliere tra i temi precaricati sulla piattaforma.

AGGIUNTA DI UN SERVIZIO Sfruttando il framework con le nuove funzionalità e le funzioni a disposizione all’interno del client ho aggiunto alla piattaforma il servizio ACEA. Si compone di due parti principali: SEZIONE INFORMATIVA: descrizioni della società ACEA, dei “nasoni” (fontanelle romane), e della qualità dell’acqua, pagina con i Credits. L’ultima parte del lavoro della tesi consiste nel combinare e testare le varie modifiche in un nuovo servizio da aggiungere alla piattaforma. Principalmente informativo, esso riguarda la società ACEA, operatore principale a livello nazionale nel settore idrico, e la localizzazione su mappa delle fontanelle romane chiamate “nasoni”. (CLICK) Analizzando un video di presentazione sulle necessità del servizio ho individuato 2 sezioni principali: Una parte informativa con descrizioni varie e una pagina con i credits; Ed una parte che si aggancia al servizio di navigazione presente su MOVE per la localizzazione di fontanelle e/o monumenti. SEZIONE SU MAPPA: localizzazione di “nasoni” e monumenti sul navigatore.

IL RISULTATO FINALE Icona di avvio WELCOME PAGE INFO PAGE MAIN PAGE CREDITS NAVIGATOR Sfruttando il lavoro eseguito sul framework, ho costruito le varie sezioni del servizio e ho raggiunto il seguente risultato. (CLICK) Per costruire pagine di questo tipo, dopo il lavoro fatto, basta seguire uno schema comune per l’aggiunta dei componenti e la definizione delle caratteristiche di pagina e dei widgets; aggiungere UNA singola riga di codice per assegnare uno sfondo al pannello; e opzionalmente costruire un menù ad hoc per il servizio.

CONCLUSIONI NUOVE BASI PER SVILUPPI FUTURI: FUNZIONALITA’ : aggiunta di elementi originariamente non previsti (es: T9 per le text) ; MENU’ NON STANDARD : visualizzazioni alternative; Sia le modifiche apportate che il modo in cui sono state progettate possono essere utilizzate come base per sviluppare ulteriormente il framework. Si possono aggiungere funzionalità “nuove” non previste dalla piattaforma ma presenti negli standard odierni; Si può valutare la progettazione di visualizzazioni alternative di menù, ad esempio in stile iPhone. Si possono progettare delle estensioni alla personalizzazioni dei temi oltre il semplice cambio di colorazione. Altre estensioni o modifiche possono riguardare la parte più interna del core del framework, ma l’importante è che tutte queste modifiche garantiscano la portabilità dell’applicazione sulle varie piattaforme come nelle soluzioni da me proposte. (CLICK) GRAFICA: estendere il raggio d’azione della personalizzazione a temi dell’applicazione; IL TUTTO PROGETTANDO SOLUZIONI CHE GARANTISCONO IL PRINCIPIO DI PORTABILITA’

GRAZIE PER L’ATTENZIONE (CLICK)