Model-Based Software Development for Interactive Systems: Ready for Practice (original) (raw)

Embedding Requirements in Design Rationale to Deal Explicitely with User eXperience and Usability in an intensive Model-Based Development Approach (regular paper

Requirements engineering for interactive systems remains a cumbersome task still under-supported by development processes. Indeed, in the field of HCI, currently the most common practice is to perform user testing to assess the compatibility between the designed system and its intended user. Other approaches such as scenario-based design , promote a design process based on the analysis of the actual use of a technology in order to design new technologies better supporting users' tasks. However, these approaches do not provide any support for a) the definition of a set of requirements that have to be fulfilled by the system under design and b) as a consequence for assessing which of these requirements are embedded in the system and which ones have been discarded. This position paper proposes a notation and a tool for addressing precisely these two challenges. These elements are integrated within a more global approach aiming at providing notations and tools for supporting a rationalized design of interactive systems following a model-based approach.

Embedding Requirements in Design Rationale to Deal Explicitly with User eXperience and Usability in an “intensive” Model-Based Development Approach

2010

Requirements engineering for interactive systems remains a cumbersome task still under-supported by development processes. Indeed, in the field of HCI, currently the most common practice is to perform user testing to assess the compatibility between the designed system and its intended user. Other approaches such as scenario-based design , promote a design process based on the analysis of the actual use of a technology in order to design new technologies better supporting users' tasks. However, these approaches do not provide any support for a) the definition of a set of requirements that have to be fulfilled by the system under design and b) as a consequence for assessing which of these requirements are embedded in the system and which ones have been discarded. This position paper proposes a notation and a tool for addressing precisely these two challenges. These elements are integrated within a more global approach aiming at providing notations and tools for supporting a rationalized design of interactive systems following a model-based approach.

Toward a closer integration of usability in software development: a study of usability inputs in a model-driven engineering process

2011

Even though the benefits of usability have widely been proven, it seems that development-oriented companies face many difficulties to introduce usability practices into their defined development processes. This paper describes the overall methodology deployed as an attempt to achieve a closer integration of usability practices in the software development process. Model-Driven Engineering (MDE) is used as a basis for this integration. Providing a precise framework composed of models and transformations, it allows to track usability problems and to highlight where exactly they occur in the development process. We will thus be able to link every step of the process to specific ergonomic inputs and to study their consequences on the usability of the generated system. Because MDE will only be used as a way among others to investigate some hypotheses on usability and User-Centered Design (UCD) in general, our results are expected to provide valuable and generic information on usability and UCD processes.

Including functional usability features in a model-driven development method

Computer Science and Information Systems, 2013

The Software Engineering (SE) community has historically focused on working with models to represent functionality and persistence, pushing interaction modelling into the background, which has been covered by the Human Computer Interaction (HCI) community. Recently, adequately modelling interaction, and specifically usability, is being considered as a key factor for success in user acceptance, making the integration of the SE and HCI communities more necessary. If we focus on the Model-Driven Development (MDD) paradigm, we notice that there is a lack of proposals to deal with usability features from the very first steps of software development process. In general, usability features are manually implemented once the code has been generated from models. This contradicts the MDD paradigm, which claims that all the analysts' effort must be focused on building models, and the code generation is relegated to model to code transformations. Moreover, usability features related to functionality may involve important changes in the system architecture if they are not considered from the early steps. We state that these usability features related to functionality can be represented abstractly in a conceptual model, and their implementation can be carried out automatically.

Integrating Usability Methods into Model-Based Software Development

Computer-Aided Design of User Interfaces VI, 2009

Model-based Software Development is carried out as a well definied 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 manyfold 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, through enabling the cooperative use of artifacts with the particular tools. Hence usability experts save time to prepare an evaluation and results are easier to incorporate 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.

Introducing Usability in a Conceptual Modeling-Based Software Development Process

Lecture Notes in Computer Science, 2012

Usability plays an important role to satisfy users' needs. There are many recommendations in the HCI literature on how to improve software usability. Our research focuses on such recommendations that affect the system architecture rather than just the interface. However, improving software usability in aspects that affect architecture increases the analyst's workload and development complexity. This paper proposes a solution based on model-driven development. We propose representing functional usability mechanisms abstractly by means of conceptual primitives. The analyst will use these primitives to incorporate functional usability features at the early stages of the development process. Following the model-driven development paradigm, these features are then automatically transformed into subsequent steps of development, a practice that is hidden from the analyst.

Towards method engineering of model-driven user interface development

2007

Model-driven user interface development environments and their associated methodologies have evolved over time to become more explicit, flexible, and reusable but they still lack to reach a level that allows tailoring a method to the reality of software development organizations and their projects. In order to address this shortcoming, method engineering provides strategies to define and tailor software engineering methods.

Model-Based Usability Evaluation and Analysis of Interactive Techniques (short paper

Modern User Interfaces (UI) must deal with the increasing complexity of applications as well as new features such as the capacity of UIs to be dynamically adapted to the context of use. The complexity does not necessarily imply a better quality. Thus, it becomes necessary to make users understand the UIs. This paper describes an on-going research about Self-Explanatory User Interfaces (SE-UI) by Model-Driven Engineering (MDE). Self-explanation makes reference to the capacity of a UI to provide the end-user with information about its rationale (which is the purpose of the UI), its design rationale (why is the UI structured into this set of workspaces?, what's the purpose of this button?), its current state (why is the menu disabled?) as well as the evolution of the state (how can I enable this feature?). Explanations are provided by embedded models. We explore modeldriven engineering to understand why and how this approach can lead us to overcome shortcomings of UI quality successfully.

Model-based usability evaluation and analysis of interactive techniques

2010

Modern User Interfaces (UI) must deal with the increasing complexity of applications as well as new features such as the capacity of UIs to be dynamically adapted to the context of use. The complexity does not necessarily imply a better quality. Thus, it becomes necessary to make users understand the UIs. This paper describes an on-going research about Self-Explanatory User Interfaces (SE-UI) by Model-Driven Engineering (MDE). Self-explanation makes reference to the capacity of a UI to provide the end-user with information about its rationale (which is the purpose of the UI), its design rationale (why is the UI structured into this set of workspaces?, what's the purpose of this button?), its current state (why is the menu disabled?) as well as the evolution of the state (how can I enable this feature?). Explanations are provided by embedded models. We explore modeldriven engineering to understand why and how this approach can lead us to overcome shortcomings of UI quality successfully.

Evaluating user interface generation approaches: model-based versus model-driven development

Software & Systems Modeling, 2018

Advances in software design possibilities have led to a growing interest in the study of User Interfaces (UIs). Many Model-Based User Interface Development Environments (MB-UIDEs) have been proposed to deal with the generation of the UIs (semi) automatically by using models with different levels of abstraction. Often, this generation is limited to the UI-part of an application. However, achieving true model-driven development (MDD) requires the co-development of application and user interface and hence needs to go a step further. This paper analyzes a large set of existing MB-UIDEs and evaluates, from a critical perspective, to what extent they can be considered full MDD environments and adequately addressing the co-design of UI and application. A robust assessment framework is defined and applied for this purpose. Following the guidelines proposed by Kitchenham & Charters in 2007, we performed a systematic literature review. A total of 82 papers were examined. Based on these papers, an assessment framework containing 10 criteria with specific metrics to evaluate MB-UIDEs was defined and 29 different environments were evaluated following these criteria. The evaluation shows that, although a strong progress has being achieved over the last years, the existing environments do not yet fully exploit the benefits and potentialities of MDD, nor do they adequately integrate UI design with application logic design and generation. Further research needs to be done to support the model-driven development of user interfaces and the co-design of the underlying application. The difficulty of use of the existing MB-UIDEs, the lack of UI design flexibility, and the lack of complete and integrated development support, are the main research gaps that need to be addressed.