User interface engineering for software product lines: the dilemma between automation and usability

Software Product Lines (SPL) are systematic approach to develop families of similar software products by explicating their commonalities and variability, e.g., in a feature model. Using techniques from model-driven development, it is then possible to automatically derive a concrete product from a given configuration (i.e., selection of features). However, this is problematic for interactive applications with complex user interfaces (UIs) as automatically derived UIs often provide limited usability. Thus, in practice, the UI is mostly created manually for each product, which results in major drawbacks concerning efficiency and maintenance, e.g., when applying changes that affect the whole product family. This paper investigates these problems based on real-world examples and analyses the development of product families from a UI perspective. To address the underlying challenges, we propose the use of abstract UI models, as used in HCI, to bridge the gap between automated, traceable product derivation and customized, high quality user interfaces. We demonstrate the feasibility of the approach by a concrete example implementation for the suggested model-driven development process.

[1]  Sean Quan Lau Domain Analysis of E-Commerce Systems Using Feature-Based Model Templates , 2006 .

[2]  P ? ? ? ? ? ? ? % ? ? ? ? , 1991 .

[3]  Kris Luyten,et al.  Dynamic User Interface Generation for Mobile and Embedded Systems with Model-Based User Interface , 2004 .

[4]  David M. Weiss,et al.  Software Product Line Engineering , 2005, SEKE.

[5]  Jean Vanderdonckt,et al.  Plasticity of User Interfaces: A Revised Reference Framework , 2002, TAMODIA.

[6]  Jack Greenfield,et al.  Software factories: assembling applications with patterns, models, frameworks and tools , 2004, OOPSLA '03.

[7]  Ben Shneiderman,et al.  Designing the user interface (videotape) , 1987 .

[8]  Pedro A. Szekely Retrospective and Challenges for Model-Based Interface Development , 1996, DSV-IS.

[9]  Marisa E. Campbell,et al.  Conference preview: HCI 2000: usability or else! , 2000, INTR.

[10]  Juha-Pekka Tolvanen,et al.  Defining Domain-Specific Modeling Languages to Automate Product Derivation: Collected Experiences , 2005, SPLC.

[11]  Peter Bell,et al.  A practical high volume software product line , 2007, OOPSLA '07.

[12]  Nora Koch,et al.  Uml-Based Web Engineering - An Approach Based on Standards , 2008, Web Engineering.

[13]  Klaus Schmid,et al.  A comparison of decision modeling approaches in product lines , 2011, VaMoS.

[14]  Michal Antkiewicz,et al.  Mapping features to models: a template approach based on superimposed variants , 2005, GPCE'05.

[15]  Paul Clements,et al.  Software product lines - practices and patterns , 2001, SEI series in software engineering.

[16]  Klaus Schmid,et al.  Variability issues in the evolution of information system ecosystems , 2011, VaMoS '11.

[17]  Markus Völter,et al.  Model-Driven Software Development: Technology, Engineering, Management , 2006 .

[18]  Goetz Botterweck,et al.  Integrating Automated Product Derivation and Individual User Interface Design , 2010, VaMoS.

[19]  Pierre-Yves Schobbens,et al.  Feature Diagrams: A Survey and a Formal Semantics , 2006, 14th IEEE International Requirements Engineering Conference (RE'06).

[20]  Gustavo Rossi,et al.  Web Engineering: Modelling and Implementing Web Applications , 2008, Human-Computer Interaction Series.

[21]  Eelco Visser,et al.  Product Line Engineering Using Domain-Specific Languages , 2011, 2011 15th International Software Product Line Conference.

[22]  Heinrich Hußmann,et al.  Model-driven development of advanced user interfaces , 2010, CHI EA '10.

[23]  Iris Groher,et al.  Product Line Implementation using Aspect-Oriented and Model-Driven Software Development , 2007, 11th International Software Product Line Conference (SPLC 2007).

[24]  Ben Shneiderman,et al.  Designing The User Interface , 2013 .

[25]  Goetz Botterweck,et al.  A model-driven approach to the engineering of multiple user interfaces , 2006, MoDELS'06.

[26]  Vander Alves,et al.  Extracting and Evolving Mobile Games Product Lines , 2005, SPLC.