Studio e implementazione di uno strumento di configurazione e visualizzazione di dati di progetto, nell’ambito delle applicazioni cae (computer aided engineering)
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, …
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
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
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