Incremental Quality Improvement in Web Applications Using Web Model Refactoring

Web applications must be usable and accessible; besides, they evolve at a fast pace and it is difficult to sustain a high degree of external quality. Agile methods and continuous refactoring are well-suited for the rapid development of Web applications since they particularly support continuous evolution. However, the purpose of traditional refactorings is to improve internal quality, like maintainability of design and code, rather than usability of the application. We have defined Web model refactorings as transformations on the navigation and presentation models of a Web application. In this paper, we demonstrate how Web model refactorings can improve the usability of a Web application by using a mature quality evaluation approach (WebQEM) to assess the impact of refactoring on some defined attributes of a Web product entity. We present a case study showing how a shopping cart in an e-commerce site can improve its usability by applying Web model refactorings.

[1]  Woojong Suh Web Engineering: Principles And Techniques , 2005 .

[2]  Gustavo Rossi,et al.  An Object Oriented Approach to Web-Based Applications Design , 1998, Theory Pract. Object Syst..

[3]  Martin Fowler,et al.  Refactoring - Improving the Design of Existing Code , 1999, Addison Wesley object technology series.

[4]  Joshua Kerievsky,et al.  Refactoring to Patterns , 2004, XP/Agile Universe.

[5]  William F. Opdyke,et al.  Refactoring object-oriented frameworks , 1992 .

[6]  Kostas Kontogiannis,et al.  Refactoring Web sites to the controller-centric architecture , 2004, Eighth European Conference on Software Maintenance and Reengineering, 2004. CSMR 2004. Proceedings..

[7]  Boris Magnusson,et al.  ECOOP 2002 — Object-Oriented Programming , 2002, Lecture Notes in Computer Science.

[8]  Gustavo Rossi,et al.  Measuring Web Application Quality with WebQEM , 2002, IEEE Multim..

[9]  Tom Mens,et al.  Towards Automating Source-Consistent UML Refactorings , 2003, UML.

[10]  Franca Garzotto Ubiquitous Web Applications , 2001, ADBIS.

[11]  Jeffrey G. Gray,et al.  Generic and Domain-Specific Model Refactoring Using a Model Transformation Engine , 2005, Model-Driven Software Development.

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

[13]  Igor Ivkovic,et al.  A framework for software architecture refactoring using model transformations and semantic annotations , 2006, Conference on Software Maintenance and Reengineering (CSMR'06).

[14]  Volker Gruhn,et al.  Model-Driven Software Development , 2005 .

[15]  Gustavo Rossi,et al.  Web Engineering , 2001, Lecture Notes in Computer Science.

[16]  Paolo Tonella,et al.  Program Transformation for Web Application Restructuring , 2005 .

[17]  Grzegorz Rozenberg,et al.  Developments in Language Theory II , 2002 .

[18]  Gustavo Rossi,et al.  Model Refactoring in Web Applications , 2007, 2007 9th IEEE International Workshop on Web Site Evolution.

[19]  Douglas K. van Duyne,et al.  The Design of Sites , 2003 .

[20]  Don Roberts,et al.  Practical analysis for refactoring , 1999 .

[21]  Paolo Tonella,et al.  Restructuring Web applications via transformation rules , 2001, Proceedings First IEEE International Workshop on Source Code Analysis and Manipulation.