Integration of usability evaluation and model-based software development

https://doi.org/10.1016/j.advengsoft.2009.01.025Get rights and content

Abstract

Model-based software development is carried out as a well defined process. Depending on the applied approach, different phases can be distinguished, e.g. requirements specification, design, prototyping, implementation and usability evaluation. During this iterative process manifold artifacts are developed and modified, including, e.g. models, source code and usability evaluation data. CASE tools support the development stages well, but lack a seamless integration of usability evaluation methods. We aim at bridging the gap between development and usability evaluation, through enabling the cooperative use of artifacts with the particular tools. As a result of integration usability experts save time to prepare an evaluation and evaluation results can be easier incorporated back into the development process. We show exemplary our work on enhancing the Eclipse framework to support usability evaluation for task 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,...
  • D. Hilbert 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....
There are more references available in the full text version of this article.

Cited by (8)

View all citing articles on Scopus
View full text