Systematic Improvement of Web Applications Design

Web applications are usually characterized by a rapid development process and continuous evolution. This evolution implies growth of the graph of pages and navigation paths, as well as new functionality and new data made available to the user. Measurement of the system usability, periodic or after a time of growth, is crucial to the system's evolution in the line of design maturity and to prevent the system from decay. This kind of evolution is one of the main practices of agile methods, in which design improvement occurs daily during development and often during maintenance. In this paper we propose a list of changes for the design models of a Web application and when they may be applied, in order to improve the application's usability while preserving its functionality. The purpose of the proposed changes is to improve the maturity of the design instead of adding new features; we call them Web design improvements. This paper starts a catalogue of Web design improvements for the navigation and presentation models of a Web application. Since changing these models has direct impact on the user experience with the application, our Web design improvements aim at improving the external quality and user experience.

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

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

[3]  Gustavo Rossi,et al.  Web Application Evaluation and Refactoring: A Quality-Oriented Improvement Approach , 2008, J. Web Eng..

[4]  Donald D. Cowan,et al.  Abstract Data Views: An Interface Specification Concept to Enhance Design for Reuse , 1995, IEEE Trans. Software Eng..

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

[6]  Christopher G. Lasater,et al.  Design Patterns , 2008, Wiley Encyclopedia of Computer Science and Engineering.

[7]  A.M. Leitdo,et al.  A formal pattern language for refactoring of Lisp programs , 2002, Proceedings of the Sixth European Conference on Software Maintenance and Reengineering.

[8]  Meir M. Lehman,et al.  Laws of Software Evolution Revisited , 1996, EWSPT.

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

[10]  Tom Mens,et al.  A survey of software refactoring , 2004, IEEE Transactions on Software Engineering.

[11]  Jocelyne Nanard,et al.  Pushing reuse in hypermedia design: golden rules, design patterns and constructive templates , 1998, HYPERTEXT '98.

[12]  Oscar Pastor,et al.  An Object-Oriented Approach to Automate Web Applications Development , 2001, EC-Web.

[13]  Kent Beck,et al.  Extreme Programming Explained: Embrace Change (2nd Edition) , 2004 .

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

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

[16]  Gustavo Rossi,et al.  Model-Based Web Application Development , 2006, Web Engineering.

[17]  Ralph Johnson,et al.  design patterns elements of reusable object oriented software , 2019 .

[18]  Olga De Troyer,et al.  WSDM: A User Centered Design Method for Web Sites , 1998, Comput. Networks.

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

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

[21]  Tom Mens,et al.  Detecting Inconsistencies between UML Models Using Description Logic , 2003, Description Logics.

[22]  Gustavo Rossi,et al.  Design reuse in hypermedia applications development , 1997, HYPERTEXT '97.

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

[24]  Giuseppe Scanniello,et al.  Using Semantic clustering to enhance the navigation structure of Web sites , 2008, 2008 10th International Symposium on Web Site Evolution.

[25]  Jordi Cabot,et al.  A Catalogue of Refactorings for Navigation Models , 2008, 2008 Eighth International Conference on Web Engineering.

[26]  Gustavo Rossi,et al.  Refactoring to Rich Internet Applications. A Model-Driven Approach , 2008, 2008 Eighth International Conference on Web Engineering.

[27]  Ralph E. Johnson,et al.  Refactoring and Aggregation , 1993, ISOTAS.

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

[29]  Elliotte Rusty Harold,et al.  Refactoring HTML: Improving the Design of Existing Web Applications (The Addison-Wesley Signature Series) , 2008 .

[30]  Arno Scharl,et al.  Evolutionary Web Development , 2000, Applied Computing.

[31]  Christos Faloutsos,et al.  Advanced Database Systems , 1997, Lecture Notes in Computer Science.

[32]  Jeffrey Overbey,et al.  Refactorings for Fortran and high-performance computing , 2005, SE-HPCS '05.

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

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

[35]  Alejandra Garrido,et al.  Program refactoring in the presence of preprocessor directives , 2005 .

[36]  Thorsten Sturm,et al.  Refactoring Browser for UML , 2002, NetObjectDays.

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

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