Incorporating Usability Requirements In a Test/Model-Driven Web Engineering Approach

The success of Web applications is constrained by two key features: fast evolution and usability. Current Web engineering approaches follow a "unified" development style which tends to be unsuitable for applications that need to evolve fast. Moreover, according to the quality standard ISO 9126-1, usability is a key factor to obtain quality systems. In this paper, we show how to address usability requirements in a test-driven and model-based Web engineering approach. More specifically, we focus on usability requirements with functional implications, which do not only concern the visual appearance, but also the architecture design. Usability requirements are contemplated from the very beginning of each cycle, by creating a set of meaningful tests that drive the development of the application and ensure that no functionality related to usability is altered unintentionally through development cycles. Dealing with those usability requirements in the very early steps of the software development process avoids future hard changes in the system architecture to support them. The approach is illustrated with an example in the context of the OOWS suite.

[1]  Steven J. DeRose,et al.  XML Path Language (XPath) , 1999 .

[2]  Leonard J. Bass,et al.  Linking usability to software architecture patterns through general scenarios , 2003, J. Syst. Softw..

[3]  Ivar Jacobson,et al.  The Unified Software Development Process , 1999 .

[4]  Robert B. France,et al.  A Systematic Approach to Generate Inputs to Test UML Design Models , 2006, 2006 17th International Symposium on Software Reliability Engineering.

[5]  Cristina Cachero,et al.  OO-H Method: extending UML to model web interfaces , 2003 .

[6]  Oscar Pastor,et al.  Model-driven architecture in practice - a software production environment based on conceptual modeling , 2007 .

[7]  A. Stefanescu,et al.  Enhancing Test Driven Development with Model Based Testing and Performance Analysis , 2008, Testing: Academic & Industrial Conference - Practice and Research Techniques (taic part 2008).

[8]  Jonathan Rasmusson,et al.  Introducing XP into Greenfield Projects: Lessons Learned , 2003, IEEE Softw..

[9]  Gustavo Rossi,et al.  Modeling and Implementing Web Applications with Oohdm , 2008, Web Engineering.

[10]  André Kushniruk,et al.  Bringing usability to the early stages of software development , 2003, Proceedings. 11th IEEE International Requirements Engineering Conference, 2003..

[11]  Hallvard Trætteberg,et al.  Interaction Patterns in User Interfaces. , 2000 .

[12]  John Mylopoulos,et al.  An Empirical Evaluation of the i* Framework in a Model-Based Software Generation Environment , 2006, CAiSE.

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

[14]  Yuefeng Zhang Test-Driven Modeling for Model-Driven Development , 2004, IEEE Softw..

[15]  Eric S. K. Yu,et al.  Towards modelling and reasoning support for early-phase requirements engineering , 1997, Proceedings of ISRE '97: 3rd IEEE International Symposium on Requirements Engineering.

[16]  Jenifer Tidwell Designing Interfaces , 2005 .

[17]  Soren Lauesen,et al.  Usability requirements in a tender process , 1998, Proceedings 1998 Australasian Computer Human Interaction Conference. OzCHI'98 (Cat. No.98EX234).

[18]  Ivar Jacobson,et al.  Object-Oriented Software Engineering , 1991, TOOLS.

[19]  Gustavo Rossi,et al.  Bridging Test and Model-Driven Approaches in Web Engineering , 2009, ICWE.

[20]  Peri L. Tarr,et al.  Model-driven development : The good , the bad , and the ugly & , 2006 .

[21]  Ivar Jacobson,et al.  Object-oriented software engineering - a use case driven approach , 1993, TOOLS.

[22]  Oscar Pastor,et al.  Dealing with Usability in Model Transformation Technologies , 2008, ER.

[23]  Renée C. Bryce Automatic generation of high coverage usability tests , 2005, CHI EA '05.

[24]  Stefano Ceri,et al.  Web Modeling Language (WebML): a modeling language for designing Web sites , 2000, Comput. Networks.

[25]  Ron Jeffries,et al.  Extreme Programming Installed , 2000 .

[26]  Laurie A. Williams,et al.  Assessing test-driven development at IBM , 2003, 25th International Conference on Software Engineering, 2003. Proceedings..

[27]  CeriStefano,et al.  Web Modeling Language (WebML) , 2000 .

[28]  Christof Ebert,et al.  The Top Risks of Requirements Engineering , 2001, IEEE Softw..

[29]  Kent L. Beck,et al.  Test-driven Development - by example , 2002, The Addison-Wesley signature series.

[30]  Natalia Juristo Juzgado,et al.  Guidelines for Eliciting Usability Functionalities , 2007, IEEE Transactions on Software Engineering.

[31]  Vicente Pelechano,et al.  Development of Web Applications from Web Enhanced Conceptual Schemas , 2003, ER.

[32]  Julio Cesar Sampaio do Prado Leite,et al.  On Non-Functional Requirements in Software Engineering , 2009, Conceptual Modeling: Foundations and Applications.

[33]  Piero Fraternali,et al.  Rich Internet Applications , 2010, IEEE Internet Computing.

[34]  Matthias M. Müller,et al.  About the Return on Investment of Test-driven Development , 2003 .

[35]  Jan Bosch,et al.  Architecting for usability: a survey , 2004, J. Syst. Softw..