A Common Software Development Framework For Coordinating Usability Engineering and Software Engineering Activities

Currently, the Usability Engineering (UE) and Software Engineering (SE) processes are practiced as being independent of each other. However, several dependencies and constraints exist between the interface specifications and the functional core, which make coordination between the UE and the SE teams crucial. Failure of coordination between the UE and SE teams leads to software that often lacks necessary functionality and impedes user performance. At the same time, the UE and SE processes cannot be integrated because of the differences in focus, techniques, and terminology. We therefore propose a development framework that incorporates SE and UE efforts to guide current software development. The framework characterizes the information exchange that must exist between the UE and SE teams during software development to form the basis of the coordinated development framework. The UE Scenario-Based Design (SBD) process provides the basis for identifying UE activities. Similarly, the Requirements Generation Model (RGM), and Structured Analysis and Design are used to identify SE activities. We identify UE and SE activities that can influence each other, and identify the high-level exchange of information that must exist among these activities. We further examine these interactions to gain a more in-depth understanding as to the precise exchange of information that must exist among them. The identification of interacting activities forms the basis of a coordinated development framework that incorporates and synchronizes the UE and SE processes. An examination of the Incremental and Spiral models as they relate to the SBD is provided, and outlines how our integration framework can be composed. Using the results of and insights gained from our research, we also suggest additional avenues for future work.

[1]  Frederick P. Brooks,et al.  No Silver Bullet: Essence and Accidents of Software Engineering , 1987 .

[2]  James Noble,et al.  Usage-Centered Design and Software Engineering: Models for Integration , 2003, ICSE Workshop on SE-HCI.

[3]  James D. Arthur,et al.  Problem Identification and Decomposition within the Requirements Generation Process , 2002 .

[4]  Laurie A. Williams,et al.  Evolving beyond requirements creep: a risk-based evolutionary prototyping model , 2001, Proceedings Fifth IEEE International Symposium on Requirements Engineering.

[5]  Allen E. Milewski Software Engineering Overlaps with Human-Computer Interaction: A Natural Evolution , 2003, ICSE Workshop on SE-HCI.

[6]  Deborah J. Mayhew,et al.  The usability engineering lifecycle , 1999, CHI Extended Abstracts.

[7]  Karl E. Wiegers,et al.  Software Requirements , 1999 .

[8]  Grady Booch,et al.  Object-oriented analysis and design with applications (2nd ed.) , 1993 .

[9]  Ian Sommerville,et al.  Software engineering (5th ed.) , 1995 .

[10]  Natalia Juristo Juzgado,et al.  Guest Editors' Introduction: Introducing Usability , 2001, IEEE Softw..

[11]  D. Norman The psychology of everyday things", Basic Books Inc , 1988 .

[12]  James Martin,et al.  Rapid Application Development , 1991 .

[13]  Edward Yourdon,et al.  Object-oriented analysis , 2012 .

[14]  John A. McDermid,et al.  15 – Software development process models , 1991 .

[15]  Alan M. Davis,et al.  Software Requirements: Objects, Functions and States , 1993 .

[16]  R. J. Rubey,et al.  Quantitative aspects of software validation , 1975, IEEE Transactions on Software Engineering.

[17]  W. W. Royce,et al.  Managing the development of large software systems: concepts and techniques , 1987, ICSE '87.

[18]  Dean Leffingwell,et al.  Managing software requirements: a unified approach , 1999 .

[19]  Barbara Paech,et al.  Usability Engineering integrated with Requirements Engineering , 2003, ICSE Workshop on SE-HCI.

[20]  Rajat Sud A Synergistic Approach to Software Requirements Generation: The Synergistic Requirements Generation Model (SRGM) and, An Interactive Tool for Modeling SRGM (itSRGM) , 2003 .

[21]  L. B. S. Raccoon The chaos model and the chaos cycle , 1995, SOEN.

[22]  Natalia Juristo Juzgado,et al.  Improving software usability through architectural patterns , 2003, ICSE Workshop on SE-HCI.

[23]  Roger S. Pressman,et al.  Software Engineering: A Practitioner's Approach , 1982 .

[24]  Thomas E. Bell,et al.  Software requirements: Are they really a problem? , 1976, ICSE '76.

[25]  Barry W. Boehm,et al.  A spiral model of software development and enhancement , 1986, Computer.

[26]  Markus K. Gröner Capturing Requirements Meeting Customer Intent: A Structured Methodological Approach , 2002 .

[27]  James D. Arthur,et al.  Towards a Model-Based Framework for Integrating Usability and Software Engineering Life Cycles , 2004, ArXiv.

[28]  D. Norman The psychology of everyday things , 1990 .

[29]  Xavier Ferré,et al.  Integration of Usability Techniques into the Software Development Process , 2003, ICSE Workshop on SE-HCI.

[30]  Mary Beth Rosson,et al.  Usability Engineering: Scenario-based Development of Human-Computer Interaction , 2001 .

[31]  Gerald W. Both,et al.  Object-oriented analysis and design with applications , 1994 .

[32]  Kent L. Beck,et al.  Extreme programming explained - embrace change , 1990 .

[33]  Deborah Hix,et al.  Developing user interfaces , 1993 .

[34]  Barry W. Boehm,et al.  Software Engineering Economics , 1993, IEEE Transactions on Software Engineering.