Allowing End-Users to Actively Participate within the Elicitation of Pervasive System Requirements through Immediate Visualization

Efficient requirements engineering activities are essential in order to develop software systems that properly satisfy end-user needs. End-users lack knowledge about requirements engineering techniques or computation in general, and it is very important that they actively participate in the requirements elicitation process because they are the "owners" of the problem. In this paper, we present a tool-supported requirements elicitation technique that is centered on end-users and that allows them to describe the main characteristics of pervasive systems. In addition, we provide end-users with an immediate natural visualization of the described requirements. Furthermore, we present a requirements elicitation process which guides end-users in the description of a pervasive system as well as in the interaction with requirements engineers.

[1]  Brad A. Myers,et al.  Designing the whyline: a debugging interface for asking questions about program behavior , 2004, CHI.

[2]  Ian Sommerville,et al.  Requirements Engineering: Processes and Techniques , 1998 .

[3]  Natalia Juristo Juzgado,et al.  Study of Elicitation Techniques Adequacy , 2008, WER.

[4]  Antonio Ruiz Cortés,et al.  FAMA Framework , 2008, 2008 12th International Software Product Line Conference.

[5]  Mark Weiser,et al.  The computer for the 21st Century , 1991, IEEE Pervasive Computing.

[6]  Karen Holtzblatt,et al.  Apprenticing with the customer , 1995, CACM.

[7]  Tom Rodden,et al.  "Playing with the Bits" User-Configuration of Ubiquitous Domestic Environments , 2003, UbiComp.

[8]  John Steinmetz Computers and Squeak as Environments for Learning , 2000 .

[9]  Mary Shaw,et al.  The "55M End-User Programmers" Estimate Revisited , 2005 .

[10]  Krzysztof Czarnecki,et al.  Staged Configuration Using Feature Models , 2004, SPLC.

[11]  M. Mannion,et al.  Visualising Product Line Requirement Selection Decision Inter-dependencies , 2007, Second International Workshop on Requirements Engineering Visualization (REV 2007).

[12]  Joseph A. Goguen,et al.  Techniques for requirements elicitation , 1993, [1993] Proceedings of the IEEE International Symposium on Requirements Engineering.

[13]  Jakob Nielsen,et al.  Usability engineering , 1997, The Computer Science and Engineering Handbook.

[14]  Kyo Chul Kang,et al.  Issues in Requirements Elicitation , 1992 .

[15]  Henry Lieberman Programming by example (introduction) , 2000, CACM.

[16]  Henry Lieberman,et al.  ZStep 95: A Reversible, Animated Source Code Stepper , 1997 .

[17]  Audris Mockus,et al.  Visualizing Software Changes , 2002, IEEE Trans. Software Eng..

[18]  James C. Spohrer,et al.  KidSim: programming agents without a programming language , 1994, CACM.

[19]  David Garlan,et al.  A programming system for children that is designed for usability , 2002 .

[20]  Piero Mussio,et al.  End users as unwitting software developers , 2008, WEUSE '08.

[21]  Gert-Jan Poulisse,et al.  Requirements Engineering for Pervasive Services , 2005 .

[22]  James H. Aylor,et al.  Computer for the 21st Century , 1999, Computer.

[23]  Graham Clarke,et al.  An End-User Programming Paradigm for Pervasive Computing Applications , 2006, 2006 ACS/IEEE International Conference on Pervasive Services.

[24]  Brad A. Myers,et al.  Natural programming languages and environments , 2004, Commun. ACM.