INCORPORATING USABILITY REQUIREMENTS IN A TEST/MODEL-DRIVEN WEB ENGINEERING APPROACH
Keywords:
Test-Driven Development, Usability, Conceptual Models, Model-Driven DevelopmentAbstract
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.
Downloads
References
Agile Model Driven Development (AMDD): The Key to Scaling Agile Software Development.
Bass, L., Bonnie, J.: Linking usability to software architecture patterns through general scenarios. The
journal of systems and software 66 (2003) 187-197
Beck, K.: Test Driven Development: By Example (Addison-Wesley Signature Series), 2002
Bryc, R.: Automatic Generation of High Coverage Usability Tests. Conference on Human Factors in
Computing Systems (CHI), Doctoral Consortium. ACM, Portland, USA (2005) 1108-1109
CARE: www.care-t.com. Last visit: October 2009
Ceri, S., Fraternali, P., Bongio, A. Web Modeling Language (WebML): A Modeling Language for
Designing Web Sites. Computer Networks and ISDN Systems, 33(1-6), 137-157 June (2000).
Chung, L., Nixon, B., Yu, E., Mylopoulos, J.: Non-Functional Requirements in Software Engineering.
Kluwer Academic Publishing, London (2000).
Cysneiros, L.M., Kushniruk, A.: Bringing Usability to the Early Stages of Software Development.
International Requirements Engineering Conf. IEEE(2003) 359- 360
Dinh-Trong, T.T., Ghosh, S., France, R.B.: A Systematic Approach to Generate Inputs to Test UML
Design Models. 17th International Symposium on Software Reliability Engineering (2006) 95-104
Duhl, J. Rich Internet Applications. A white paper sponsored by Macromedia and Intel, IDC Report,
Estrada H., Martínez A., Pastor O. and Mylopoulos J., An empirical evaluation of the i* framework in a
model-based software generation environment, CAISE 2006, Springer LNCS 4001, (2006) pp: 513-527.
Folmer, E., Bosch, J.: Architecting for usability: A Survey. Journal of Systems and Software, Vol. 70 (1)
(2004) 61-78
Fons J., P.V., Albert M., and Pastor O: Development of Web Applications from Web Enhanced
Conceptual Schemas. ER 2003, Vol. 2813. LNCS. Springer (2003) 232-245
Fowler, M., Beck, K., Brant, J., Opdyke, W. and Roberts, D. 1999. Refactoring: Improving the Design of
Existing Code. Addison-Wesley Professional.
Hailpern, B., Tarr, P.: Model-Driven Development: the Good, the Bad, and the Ugly. IBM Syst. J. 45
(2006) 451-461
IEEE Software, vol. 24, no. 3, May/June 2007.
Gómez, J. and Cachero, C. 2003. OO-H Method: extending UML to model web interfaces. In
information Modeling For internet Applications, P. van Bommel, Ed. IGI Publishing, Hershey, PA, 144-
Griffiths, R.: The Brighton Usability Pattern Collection.
http://www.cmis.brighton.ac.uk/research/patterns/home.html (2002)
Jacobson, I, Object-Oriented Software Engineering: A Use Case Driven Approach, ACM Press, Addison-
Wesley, 1992.
Jacobson, I., Booch, G. and Rumbaugh, J (1999). The Unified Software Development Process
Jeffries, R. E., Anderson, A., and Hendrickson, C. 2000 Extreme Programming Installed. Addison-
Wesley Longman Publishing Co., Inc.
Juristo, N., Moreno, A.M., Sánchez, M.I.: Guidelines for Eliciting Usability Functionalities. IEEE
Transactions on Software Engineering, Vol. 33 (2007) 744-758
Koch, N., Knapp, A.. Zhang G., Baumeister, H.: UML-Based Web Engineering, An Approach Based On
Standards. In Web Engineering, Modelling and Implementing Web Applications, 157-191. Springer
(2008).
Lauesen, S.: Usability Requirements in a Tender Process. Computer Human Interaction Conference,
, Australia (1998) 114-121
Lawrence, B., Wiegers, K. and Ebert, C., The top risk of requirements engineering, IEEE Software, Vol.
(2001), pp: 62-63.
Maximilien, E. M. and Williams, L. 2003. Assessing test-driven development at IBM. In Proceedings of
the 25th international Conference on Software Engineering (Portland, Oregon, May 03 - 10, 2003).
International Conference on Software Engineering. IEEE Computer Society, Washington, DC, 564-569.
MDA: http://www.omg.org/mda Last visit: October 2009.
Müller, M., Padberg, P. About the Return on Investment of Test-Driven Development. International
Workshop on Economics-Driven (2003)
Nielsen, J.: Agile Usability: Best Practices for User Experience on Agile Development Projects. Nielsen
Norman Group Report (2008)
Panach, J.I., España, S., Moreno, A., Pastor, Ó. Dealing with Usability in Model Transformation
Technologies. ER 2008. Springer LNCS 5231, Barcelona (2008) 498-511
Pastor, O., Molina, J.: Model-Driven Architecture in Practice. Springer, Valencia (2007)
Perzel, K., Kane, D.: Usability Patterns for Applications on the World Wide Web. PloP'99 Conference
(1999)
Rasmussen, J.: Introducing XP into Greenfield Projects: lessons learned. IEEE Softw, 20, 3 (May-June
21- 28
Robles Luna, E.; Grigera, J.; Rossi, G.: Bridging Test and Model Driven Approaches in Web
Engineering. ICWE 2009.
Rossi, G., Schwabe, D.: Modeling and Implementing Web Applications using OOHDM. In Web
Engineering, Modelling and Implementing Web Applications, 109-155. Springer (2008).
Selenium web application testing system. http://seleniumhq.org/
TestNG: http://testng.org/ Last visit: November 2009
Tidwell, J.: Designing Interfaces. O'Reilly Media (2005)
UML: http://www.uml.org/ Last visit: November 2009
Welie, M.v., Traetteberg, H.: Interaction Patterns in User Interfaces. 7th. Pattern Languages of Programs
Conference, Illinois, USA (2000)
XML Path Language (XPath). http://www.w3.org/TR/xpath
Yu, E.: Towards Modelling and Reasoning Support for Early-Phase Requirements Engineering. In: IEEE
(ed.): IEEE Int. Symp. on Requirements Engineering (1997) 226-235
Watir: http://watir.com/ Last visit: November 2009
Wieczorek, S., Stefanescu, A., Fritzsche, M., Schnitter, J.: Enhancing test driven development with
model based testing and performance analysis. Testing: Academic and Industrial Conf Practice and
Research Techniques, TAIC PART ’08 (2008)82-86.
Zhang, Y.: Test-driven modeling for model-driven development. IEEE Software 21 (2004) 80-86