Integration of usability evaluation and model-based software development
Introduction
Model-based software development describes a process, which starts with abstract models and refines them iteratively. Models are transformed and adapted to more concrete models for different platforms and finally transformed into code which is deployed at the target platform. Traditional usability evaluation provides methods to evaluate a couple of different artifacts, but lacks a seamless integration into the development process from early development stages to the deployment of the product. Therefore we aim at bridging the gap between development and usability evaluation, through enabling the cooperative use of artifacts with developers and usability experts and pave the way towards a seamless integration of both processes.
Our work specifically focuses on the task model-based development of interactive systems [2]. Task models describe possible sequences of sub tasks to accomplish a certain goal and temporal relations between tasks [7]. Task models serve as basis for the model-based development of user interfaces. To evaluate the usability of the derived user interface the underlying task model can be used to track the user interaction at a task-based level of abstraction. The particular advantage is a concise overview, which hides the device specific user interface events. Therefore the analysis of a task trace is better readable and traces through an application deployed at different devices can be compared directly. Examples using this technique are RemUSINE [8] and ReModEl [1]. RemUSINE firstly captures the user interactions and subsequently maps the interactions to a trace of tasks, which were carried out. However ReModEl deploys a task engine which natively recognizes the tasks at runtime and captures the tasks without mapping stage. For the subsequent analysis of task traces, Malý and Slavík suggested a visualization technique [5], further developed in [8], [9]. A task trace is depicted as timeline to compare different users’ behavior at a task-based level.
The previously stated approaches serve as individual methods and target deployed applications, but are not integrated into the development environment. This paper discusses our approach of integration to provide usability testing at all stages of the development instantly on the artifacts currently under development. A prototypical implementation of the described usability evaluation tool support as extension to an existing task interpretation engine developed at our working group [2] is presented as well. This implementation covers the creation, simulation modification and refinement of task models and provides support in developing dialog graphs and graphical user interfaces based upon pattern-driven UI development [11]. Details of the interpretation engine are given in Section 2.2.2. Evaluations as described here are intended to seamlessly fit into the development process. Within these evaluations, the focus lies on the efficiency of the system developed so far. The approach is discussed in Section 2. The integration into the development tools implemented as plugins for the Eclipse IDE is exemplified in Section 3.
Section snippets
Model-based usability evaluation
From our perspective it is a main principle of model driven software development (MDSD), that both software engineers and user interface designers base their work on the same models. Progress in development is reflected in a sequence of transformations from the initial models (task model, user model, device model) as results of the requirements analysis to a finished software product. Those transformations cannot be done in a fully automated way but require humans using interactive tools. In
Example
To illustrate the integration of development and usability, we discuss an example following the four development steps depicted in Fig. 1. A flight booking system allows users to search for flights and make reservations. We enhanced the Eclipse IDE with functionalities for model-based usability evaluation.
- (1)
Usability evaluation on task models
As a result of requirements analysis the left hand side of Fig. 3 depicts a task tree in CTT notation. As we will concentrate on the sub task “enter
Conclusion and future work
In this paper we have shown how to integrate usability evaluation methods and tools into model-based software development enabling the cooperative use of artifacts. Hence usability experts save time to prepare an evaluation and results are easier to incorporate back into the development process. The example given demonstrated the tool support at different stages of development and provided a glance at the new opportunities of cooperative work on usability and development artifacts. Furthermore,
Acknowledgement
The work of the first author was supported by a grant of the German National Research Foundation (DFG), Graduate School 1424.
References (11)
- Buchholz G, Engel J, Märtin C, Propp S. Model-based usability evaluation – evaluation of tool support. HCII 2007,...
- Forbrig P, Dittmar A, Reichart D, Sinnig D. From models to interactive systems – tool support and XIML. IUI/CADUI 2004,...
- Griethe H, Fuchs G, Schumann H. A classification scheme for lens techniques. WSCG’2005, Plzen, Czech Republic,...
- et al.
Extracting usability information from user interface events
ACM Comput Surv
(2000) - Malý I, Slavı´k P. Towards visual analysis of usability test logs. Tamodia 2006, Hasselt, Belgium, 2006. p....
Cited by (8)
A guide to agile development of interactive software with a "user Objectives"-driven methodology
2013, Science of Computer ProgrammingA systematic review of software usability studies
2017, International Journal of Information Technology (Singapore)Modeling how to understand a target system: Bridging the gap between software engineers and usability experts
2016, Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics)Designing an educational music software using a student-centred strategy
2015, Progress in EducationHow do software engineers apply an early usability inspection technique? A qualitative study
2015, Proceedings of the International Conference on Software Engineering and Knowledge Engineering, SEKEModels as a starting point of software development for smart environments
2014, Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics)