ºÝºÝߣ

ºÝºÝߣShare a Scribd company logo
STUDIO E IMPLEMENTAZIONE DI UNO STRUMENTO DI
CONFIGURAZIONE E VISUALIZZAZIONE DI DATI DI

PROGETTO, NELL’AMBITO DELLE APPLICAZIONI CAE
(COMPUTER AIDED ENGINEERING)
MATTEO MIOTTO

Relatore:

prof. ALBERTO BARTOLI

Correlatore:

ing. SERGIO BENEDETTI

DIA - UNIVERSITÀ DEGLI STUDI DI TRIESTE
CORSO DI LAUREA IN INGEGNERIA INFORMATICA
Scenario: SOMO
Applicazione web
Controllo e collaborazione nella progettazione e nello
sviluppo di un prodotto in ambito ingegneristico
Es.: Modellazione, simulazione, raccolta e analisi dei dati, processi decisionali

Ambito d’uso
Organizzazioni, anche geograficamente distribuite
Progetti multidisciplinari che coinvolgono più dipartimenti
Problema: utenti «diversi»
Utenti di SOMO
Professionisti che ricoprono ruoli diversi
Responsabilità diverse
Competenze diverse
Necessità diverse

Utenti diversi hanno bisogno di informazioni diverse
Necessità diverse
Complessità diverse
Priorità diverse
Soluzione: personalizzazione
Personalizzazione di alcune pagine dell’applicazione web
(Necessità, complessità, priorità)

utente A (ruolo X)

utente A (ruolo X)
utente B (ruolo Y)
utente B (ruolo Y)

NO PERSONALIZZAZIONE

PERSONALIZZAZIONE
Obiettivo tesi: cosa?
Cosa?
Progettare e realizzare strumento per la
personalizzazione delle pagine di SOMO

Integrazione in SOMO
Strumento fruibile da browser senza la necessità di
componenti aggiuntivi
Esempio di componenti aggiuntivi: Flash, Silverlight, …
Obiettivo tesi: perché?
Perché?
Esplorare le opportunità di personalizzazione in SOMO
Lavoro di tesi svolto presso Esteco S.p.A.
Valutazione di eventuali benefici per gli utenti
«Personalizzazione» è un trend in crescita nelle applicazioni enterprise

Stato dell’arte
Le applicazioni web utilizzate nello stesso ambito di
SOMO non offrono soluzioni simili
I tratti innovativi riguardano soprattutto le tecnologie impiegate
Obiettivo tesi: come?
Vincoli di progetto sulle tecnologie
HTML, CSS, JavaScript, JavaEE (Enterprise Edition)
Funzionalità fruibili da browser senza necessità di componenti aggiuntivi
JavaEE: piattaforma lato server usata in SOMO

Obiettivi tattici
Studio delle tecnologie necessarie e sviluppo Agile
(HTML5, CSS3, JavaScript), JSF JavaServer Faces, JPA Java Persistence API
Metodologie Agile: Framework Scrum
Requisiti: in generale
Posizionamento,
ridimensionamento,
configurazione di..

Molteplici
versioni
personalizzate

WIDGET

PAGE EDITOR

PAGE MANAGER

Componenti
informativi
configurabili

Personalizzazione di
una qualsiasi pagina
di SOMO

Gestione delle
versioni e scelta di
quella da utilizzare
Requisiti: widget
Componente autonomo che contiene informazioni
configurabili
Informazioni e configurazioni sono definite dallo sviluppatore

Ha attributi: Categoria, Scope, Dimensioni di default
Tipo di informazioni contenute (es: tabella)
Ambito (pagina) di applicazione
Dimensioni predefinite (altezza, larghezza)

Si richiede la definizione di linee guida per la costruzione
Uniformare la struttura e il funzionamento
Prevedere la possibilità che sviluppatori di terze parti producano widget
Requisiti: page editor
Strumento di personalizzazione, integrato in SOMO
Accessibile da qualsiasi pagina considerata «personalizzabile»

Contiene lista di widget utilizzabili
Disponibili in base allo scope

Utilizza i widget senza conoscerne il contenuto
Aggiunta, Rimozione, Posizionamento, Ridimensionamento

Mostra informazioni reali
Anteprima fedele delle informazioni contenute nella pagina
Modifica delle configurazioni causa aggiornamento delle informazioni
Requisiti: page manager
Strumento per la gestione di molteplici versioni
personalizzate di una pagina
Accessibile dal Page Editor

Permette semplici operazioni sulle versioni (pagine)
Creazione, Modifica, Rimozione
Impostazione come «corrente»
Progettazione page editor: layout
MENU DI SOMO

WIDGET STORE

F-SHAPED
PATTERN

EDITOR ACTION PANE

DESIGN AREA
Progettazione widget: widget container
Contenitore del widget
Permette al Page Editor di gestire il widget senza conoscerne il contenuto

Possiede informazioni per gestire il contenuto
Posizione, Dimensione, Come recuperare il contenuto, Come applicare le
configurazioni

POSIZIONAMENTO
MEDIANTE
DRAG & DROP
WIDGET WRAPPER

RIMOZIONE E ACCESSO
ALLA CONFIGURAZIONE
RESIZE GRIP
Progettazione widget: contenuto
2 viste: informazioni reali + configurazioni applicabili
Visualizzate alternativamente nel widget wrapper
Definite dallo sviluppatore, rispettando vincoli su struttura e funzionamento

Esempio:

WIDGET VIEW

CONFIGURATION VIEW
Progettazione widget: contenuto
Problema
Generazione e caricamento del contenuto possono
richiedere tempi non trascurabili
Es: Generare un grafico può richiedere qualche decina di secondi

Quando si presenta?

• Aggiunta di un widget alla design area
• Caricamento della pagina nella design area
• Applicazione delle configurazioni
Ricorda: Si vuole che i widget di una pagina contengano informazioni reali

Soluzione: caricamento asincrono del contenuto
Utente può interagire con page editor e widget container
Progettazione page editor: design area
POSIZIONE: COPPIA DI COORDINATE

WIDGET BASE DIMENSION

(2,1)
3x3

(1,4)
6x1

ALTEZZA E LARGHEZZA
MULTIPLI DI BASE DIMENSION

SUDDIVISIONE IN N COLONNE
Progettazione page manager: layout
FINESTRA POPUP

PAGE BOX:
ANTEPRIMA
+ NOME

DETTAGLIO +
GESTIONE

CREA NUOVA PAGINA
O CHIUDI
Demo: esempio d’uso
Personalizzazione della dashboard di SOMO
Sono stati creati 3 widget a fini dimostrativi

VIDEO DEMO
Conclusioni: obiettivi raggiunti
Strumento integrato in SOMO per la creazione e la
gestione di pagine personalizzate
Fruibile da browser senza necessità di componenti aggiuntivi

Definizione di linee guida e creazione infrastruttura per
widget di terze parti
Sviluppati anche da terze parti

Attualmente
Test e validazione (tecnica e funzionale)
Aspetti tecnici validazione: usabilità e performance
Conclusioni: sviluppi futuri
Rafforzamento linee guida per costruzione widget
Evoluzione dell’infrastruttura

Consolidamento integrazione in SOMO
Sviluppo di nuovi widget
Estensione della «personalizzazione» ad altre pagine

Evoluzione del Page Manager
Es: introduzione di funzionalità di condivisione pagine

In futuro
Ingresso in ambiente di produzione se validazione positiva
Grazie per l’attenzione

More Related Content

Studio e implementazione di uno strumento di configurazione e visualizzazione di dati di progetto, nell’ambito delle applicazioni cae (computer aided engineering)

  • 1. STUDIO E IMPLEMENTAZIONE DI UNO STRUMENTO DI CONFIGURAZIONE E VISUALIZZAZIONE DI DATI DI PROGETTO, NELL’AMBITO DELLE APPLICAZIONI CAE (COMPUTER AIDED ENGINEERING) MATTEO MIOTTO Relatore: prof. ALBERTO BARTOLI Correlatore: ing. SERGIO BENEDETTI DIA - UNIVERSITÀ DEGLI STUDI DI TRIESTE CORSO DI LAUREA IN INGEGNERIA INFORMATICA
  • 2. Scenario: SOMO Applicazione web Controllo e collaborazione nella progettazione e nello sviluppo di un prodotto in ambito ingegneristico Es.: Modellazione, simulazione, raccolta e analisi dei dati, processi decisionali Ambito d’uso Organizzazioni, anche geograficamente distribuite Progetti multidisciplinari che coinvolgono più dipartimenti
  • 3. Problema: utenti «diversi» Utenti di SOMO Professionisti che ricoprono ruoli diversi Responsabilità diverse Competenze diverse Necessità diverse Utenti diversi hanno bisogno di informazioni diverse Necessità diverse Complessità diverse Priorità diverse
  • 4. Soluzione: personalizzazione Personalizzazione di alcune pagine dell’applicazione web (Necessità, complessità, priorità) utente A (ruolo X) utente A (ruolo X) utente B (ruolo Y) utente B (ruolo Y) NO PERSONALIZZAZIONE PERSONALIZZAZIONE
  • 5. Obiettivo tesi: cosa? Cosa? Progettare e realizzare strumento per la personalizzazione delle pagine di SOMO Integrazione in SOMO Strumento fruibile da browser senza la necessità di componenti aggiuntivi Esempio di componenti aggiuntivi: Flash, Silverlight, …
  • 6. Obiettivo tesi: perché? Perché? Esplorare le opportunità di personalizzazione in SOMO Lavoro di tesi svolto presso Esteco S.p.A. Valutazione di eventuali benefici per gli utenti «Personalizzazione» è un trend in crescita nelle applicazioni enterprise Stato dell’arte Le applicazioni web utilizzate nello stesso ambito di SOMO non offrono soluzioni simili I tratti innovativi riguardano soprattutto le tecnologie impiegate
  • 7. Obiettivo tesi: come? Vincoli di progetto sulle tecnologie HTML, CSS, JavaScript, JavaEE (Enterprise Edition) Funzionalità fruibili da browser senza necessità di componenti aggiuntivi JavaEE: piattaforma lato server usata in SOMO Obiettivi tattici Studio delle tecnologie necessarie e sviluppo Agile (HTML5, CSS3, JavaScript), JSF JavaServer Faces, JPA Java Persistence API Metodologie Agile: Framework Scrum
  • 8. Requisiti: in generale Posizionamento, ridimensionamento, configurazione di.. Molteplici versioni personalizzate WIDGET PAGE EDITOR PAGE MANAGER Componenti informativi configurabili Personalizzazione di una qualsiasi pagina di SOMO Gestione delle versioni e scelta di quella da utilizzare
  • 9. Requisiti: widget Componente autonomo che contiene informazioni configurabili Informazioni e configurazioni sono definite dallo sviluppatore Ha attributi: Categoria, Scope, Dimensioni di default Tipo di informazioni contenute (es: tabella) Ambito (pagina) di applicazione Dimensioni predefinite (altezza, larghezza) Si richiede la definizione di linee guida per la costruzione Uniformare la struttura e il funzionamento Prevedere la possibilità che sviluppatori di terze parti producano widget
  • 10. Requisiti: page editor Strumento di personalizzazione, integrato in SOMO Accessibile da qualsiasi pagina considerata «personalizzabile» Contiene lista di widget utilizzabili Disponibili in base allo scope Utilizza i widget senza conoscerne il contenuto Aggiunta, Rimozione, Posizionamento, Ridimensionamento Mostra informazioni reali Anteprima fedele delle informazioni contenute nella pagina Modifica delle configurazioni causa aggiornamento delle informazioni
  • 11. Requisiti: page manager Strumento per la gestione di molteplici versioni personalizzate di una pagina Accessibile dal Page Editor Permette semplici operazioni sulle versioni (pagine) Creazione, Modifica, Rimozione Impostazione come «corrente»
  • 12. Progettazione page editor: layout MENU DI SOMO WIDGET STORE F-SHAPED PATTERN EDITOR ACTION PANE DESIGN AREA
  • 13. Progettazione widget: widget container Contenitore del widget Permette al Page Editor di gestire il widget senza conoscerne il contenuto Possiede informazioni per gestire il contenuto Posizione, Dimensione, Come recuperare il contenuto, Come applicare le configurazioni POSIZIONAMENTO MEDIANTE DRAG & DROP WIDGET WRAPPER RIMOZIONE E ACCESSO ALLA CONFIGURAZIONE RESIZE GRIP
  • 14. Progettazione widget: contenuto 2 viste: informazioni reali + configurazioni applicabili Visualizzate alternativamente nel widget wrapper Definite dallo sviluppatore, rispettando vincoli su struttura e funzionamento Esempio: WIDGET VIEW CONFIGURATION VIEW
  • 15. Progettazione widget: contenuto Problema Generazione e caricamento del contenuto possono richiedere tempi non trascurabili Es: Generare un grafico può richiedere qualche decina di secondi Quando si presenta? • Aggiunta di un widget alla design area • Caricamento della pagina nella design area • Applicazione delle configurazioni Ricorda: Si vuole che i widget di una pagina contengano informazioni reali Soluzione: caricamento asincrono del contenuto Utente può interagire con page editor e widget container
  • 16. Progettazione page editor: design area POSIZIONE: COPPIA DI COORDINATE WIDGET BASE DIMENSION (2,1) 3x3 (1,4) 6x1 ALTEZZA E LARGHEZZA MULTIPLI DI BASE DIMENSION SUDDIVISIONE IN N COLONNE
  • 17. Progettazione page manager: layout FINESTRA POPUP PAGE BOX: ANTEPRIMA + NOME DETTAGLIO + GESTIONE CREA NUOVA PAGINA O CHIUDI
  • 18. Demo: esempio d’uso Personalizzazione della dashboard di SOMO Sono stati creati 3 widget a fini dimostrativi VIDEO DEMO
  • 19. Conclusioni: obiettivi raggiunti Strumento integrato in SOMO per la creazione e la gestione di pagine personalizzate Fruibile da browser senza necessità di componenti aggiuntivi Definizione di linee guida e creazione infrastruttura per widget di terze parti Sviluppati anche da terze parti Attualmente Test e validazione (tecnica e funzionale) Aspetti tecnici validazione: usabilità e performance
  • 20. Conclusioni: sviluppi futuri Rafforzamento linee guida per costruzione widget Evoluzione dell’infrastruttura Consolidamento integrazione in SOMO Sviluppo di nuovi widget Estensione della «personalizzazione» ad altre pagine Evoluzione del Page Manager Es: introduzione di funzionalità di condivisione pagine In futuro Ingresso in ambiente di produzione se validazione positiva