Modellazione dell'interfaccia utente - User interface modeling
La modellazione dell'interfaccia utente è una tecnica di sviluppo utilizzata dai programmatori di applicazioni per computer. Le odierne interfacce utente (UI) sono componenti software complessi, che svolgono un ruolo essenziale nell'usabilità di un'applicazione. Lo sviluppo delle interfacce utente richiede quindi non solo linee guida e rapporti sulle migliori pratiche, ma anche un processo di sviluppo che includa l'elaborazione di modelli visivi e una notazione standardizzata per questa visualizzazione.
Il termine modellazione dell'interfaccia utente viene utilizzato principalmente in un contesto di tecnologia dell'informazione . Un modello di interfaccia utente è una rappresentazione di come gli utenti finali interagiscono con un programma per computer o un altro dispositivo e anche di come risponde il sistema. Il compito di modellazione è quindi quello di mostrare tutti gli " aspetti sperimentati direttamente di una cosa o di un dispositivo" [Trætteberg2002].
La modellazione delle interfacce utente è una disciplina consolidata a sé stante. Ad esempio, le tecniche di modellazione possono descrivere oggetti di interazione, attività e finestre di dialogo di livello inferiore nelle interfacce utente. L'utilizzo di modelli come parte dello sviluppo dell'interfaccia utente può aiutare a catturare i requisiti degli utenti, evitare l'impegno prematuro per layout e widget specifici e rendere esplicite le relazioni tra le diverse parti di un'interfaccia ei loro ruoli. [SilvaPaton2003].
Le lingue
MARIA
MARIA XML (Model-based lAnguage for Interactive Applications) è un linguaggio di markup dell'interfaccia utente universale, dichiarativo, a più livelli di astrazione, basato su XML per la modellazione di applicazioni interattive in ambienti ubiquitari.
UML
Alcuni aspetti della modellazione dell'interfaccia utente possono essere realizzati utilizzando UML . Tuttavia, il linguaggio non è destinato principalmente a questo tipo di modellazione, il che potrebbe rendere i modelli in qualche modo sintetici.
UMLi
UMLi è un'estensione di UML e aggiunge il supporto per la rappresentazione che si verifica comunemente nelle interfacce utente.
Poiché i modelli applicativi in UML descrivono pochi aspetti delle interfacce utente e poiché gli ambienti di sviluppo dell'interfaccia utente basati su modello (MB-UIDE) mancano di capacità per le applicazioni di modellazione, l'Università di Manchester ha avviato il progetto di ricerca UMLi nel 1998. UMLi mira a risolvere questo problema problema di progettazione e implementazione di interfacce utente utilizzando una combinazione di UML e MB-UIDE.
UsiXML
UsiXML (USer Interface eXtensible Markup Language) è un linguaggio di specifica basato su XML per la progettazione dell'interfaccia utente. Supporta la descrizione dell'interfaccia utente per più contesti di utilizzo come le interfacce utente dei caratteri (CUI), le interfacce utente grafiche (GUI), le interfacce utente uditive e le interfacce utente multimodali .
DiaMODL
DiaMODL combina un linguaggio orientato al flusso di dati (astrazione interactor di Pisa) con gli statecharts UML che si concentra sul comportamento. È in grado di modellare il flusso di dati e il comportamento degli oggetti di interazione. Può essere utilizzato per documentare la funzione e la struttura delle interfacce utente concrete.
Himalia
Himalia combina i modelli Hypermedia con il paradigma di controllo / composito. È un linguaggio dell'interfaccia utente completo, può essere utilizzato per specificarlo ma anche per eseguirlo, per questo motivo lo strumento di progettazione può essere classificato come fiorino. [1]
Tipi di modello
I diversi aspetti di un'interfaccia utente richiedono diversi tipi di modello. Alcuni dei modelli che possono essere considerati per la modellazione dell'interfaccia utente sono:
- Modello di dominio , incluso il modello di dati (definisce gli oggetti che un utente può visualizzare, accedere e manipolare tramite l'interfaccia utente)
- Modello di navigazione , definisce il modo in cui gli oggetti che una visualizzazione utente può essere esplorata attraverso l'interfaccia utente
- Modello di attività . (descrive le attività che un utente finale esegue e determina quali capacità di interazione devono essere progettate)
- Modello utente (rappresenta le diverse caratteristiche degli utenti finali e i ruoli che stanno giocando all'interno dell'organizzazione)
- Modello di piattaforma (utilizzato per modellare i dispositivi fisici destinati a ospitare l'applicazione e il modo in cui interagiscono tra loro)
- Modello di dialogo (come gli utenti possono interagire con la presentazione degli oggetti (come pulsanti, comandi, ecc.), Con i mezzi di interazione (come input vocale, touch screen, ecc.) E le reazioni che l'interfaccia utente comunica tramite questi oggetti)
- Modello di presentazione (aspetto dell'applicazione, rappresentazione degli elementi visivi, tattili e uditivi che l'interfaccia utente offre ai suoi utenti)
- Modello dell'applicazione (comandi e dati forniti dall'applicazione)
UML può essere utilizzato per molti dei modelli sopra menzionati con vari gradi di successo, ma manca il supporto per la modellazione utente, la modellazione della piattaforma e il modello di presentazione.
Approcci
Esistono diversi approcci alla modellazione di un'interfaccia utente.
Design incentrato sull'utilizzo
Nella progettazione centrata sull'utilizzo, l'attività di modellazione consiste nel mostrare come la presentazione effettiva di un sistema pianificato e come dovrebbe avvenire l'interazione dell'utente. Questo è probabilmente l'approccio più apprezzato ed è stato utilizzato con successo su una varietà di progetti su piccola e grande scala. I suoi punti di forza sono problemi complessi.
Approcci alternativi alle interfacce utente basate su modelli
I problemi noti degli approcci basati su modelli includono la riformulazione delle informazioni e la mancanza di meccanismi per risolvere efficacemente i problemi trasversali [Cerny2013]. Le soluzioni basate su modello possono funzionare bene da sole, ma l'integrazione con approcci alternativi comporta complessità negli sforzi di sviluppo e manutenzione.
Basato sull'ispezione del codice
Questi approcci sono basati su basi di codice GPL (General Purpose Language) esistenti [Cerny2012]. Ispezionano il codice attraverso la meta-programmazione e assemblano un modello strutturale che viene trasformato nell'interfaccia utente. Questo approccio affronta la riformulazione delle informazioni. Questi approcci non si adattano alle interfacce utente adattive e sensibili al contesto.
Programmazione generativa
Questi approcci collegano i metodi di dominio con la GPL [programmazione generativa]. I problemi trasversali vengono affrontati in fase di compilazione, che non si adatta direttamente alle future interfacce utente adattive che necessitano di informazioni di runtime.
UI basate sugli aspetti
La soluzione basata sugli aspetti suggerita da [Cerny2013] [Cerny2013a] [AspectFaces] integra i vantaggi degli approcci di programmazione generativa e basati sull'ispezione del codice. Ispeziona il codice esistente e applica metodi orientati agli aspetti per affrontare problemi trasversali. Funziona a runtime, riduce la riformulazione delle informazioni e allo stesso tempo separa le preoccupazioni dell'interfaccia utente che consente di riutilizzare ciascuna indipendentemente dagli altri. Nello studio di [Cerny2013], gli autori riducono il codice dell'interfaccia utente del 32% attraverso un approccio dell'interfaccia utente basato sugli aspetti applicato a un sistema di produzione. I principali vantaggi sono la creazione di modelli per l'adeguamento della presentazione, definizioni separate delle preoccupazioni e regole di trasformazione per lo più generiche applicabili a vari dati.
Modelli di contenuto
I modelli di questo tipo mostrano il contenuto di un'interfaccia utente e dei suoi diversi componenti. I dettagli estetici e comportamentali non sono inclusi in questo tipo di modello in quanto è una forma di modello di progettazione centrato sull'uso.
Guarda anche
Riferimenti
- [Paternò 2005] - F Paternò, Model-based tools for pervasive usability, Interacting with Computers 17 (3), 291-315
- [Trætteberg2002] - H. Trætteberg, Progettazione dell'interfaccia utente basata su modelli, tesi di dottorato, Università norvegese di scienza e tecnologia, 2002
- [SilvaPaton2003] - P. Pinheiro da Silva, NW Paton, User Interface Modeling in UMLi, Stanford University / University of Manchester, 2003
- [Markopoulos1997] - P. Markopoulos, Un modello compositivo per la specifica formale del software di interfaccia utente, Tesi di dottorato, Queen Mary e Westfield College University of London, 1997
- [Trevisan2003] - D. Trevisan, J. Vanderdonck, B. Macq, Model-Based Approach and Augmented Reality Systems, Université catholique de Louvain, 1348 Louvain-la-Neuve, Belgio, 2003
- [wwwUMLi] - Il linguaggio di modellazione unificato per applicazioni interattive
- [Cerny2013] - Černý, T. - Čemus, K. - Donahoo, MJ - Song, MJ: progettazione delle interfacce utente orientata agli aspetti, riflessiva sui dati e sensibile al contesto (pagina 53). In: ACM SIGAPP Applied Computing Review [online , 2013, vol. 13, n. 4, p. 53-65, ISSN 1559-6915 .
- [Cerny2013a] - Černý, T. - Donahoo, MJ - Song, E .: Towards Effective Adaptive User Interfaces Design , Proceedings of 2013 Research in Applied Computation Symposium (RACS 2013), Montreal: ACM, 2013, ISBN 978-1- 4503-2348-2 .
- [AspectFaces] - AspectFaces
- [Cerny2012] - T. Cerny e E. Song. Generazione di Rich Form basata su modello . Informazioni: An International Interdisciplinary Journal, 15 (7, SI): 2695-2714, LUGLIO 2012.
- [Programmazione generativa] - Krzysztof Czarnecki e Ulrich W. Eisenecker. 2000. Programmazione generativa: metodi, strumenti e applicazioni . ACM Press / Addison-Wesley Publ. Co., New York, NY, USA.