This Article 
 Bibliographic References 
 Add to: 
Refactoring for Usability in Web Applications
May/June 2011 (vol. 28 no. 3)
pp. 60-67
Alejandra Garrido, Universidad Nacional de La Plata
Gustavo Rossi, Universidad Nacional de La Plata
Damiano Distante, Unitelma Sapienza University
Refactoring was originally conceived as a technique for enhancing the design of an existing code base by applying small behavior-preserving transformations to the code. Later research extended scope of refactoring to other software artifacts, such as design models, and widened its intent to improve additional software quality factors, such as performance. In this article, the authors discuss how to improve the usability of a Web application by applying refactoring on its design structure. We also classify each refactoring by the specific usability factor it improves and the bad usability smells it targets. Some examples of Web model refactorings illustrate our claims.

1. W. Opdyke and R. Johnson, "Creating Abstract Superclasses by Refactoring," Proc. 1993 ACM Conf. Computer Science (CSC 93), ACM Press, 1993, pp. 66–73.
2. M. Fowler, Refactoring: Improving the Design of Existing Code, Addison-Wesley, 1999.
3. M. Boger, T. Sturm, and P. Fragemann, "Refactoring Browser for UML," Objects, Components, Architectures, Services, and Applications for a Networked World, LNCS 2591, Springer, 2003, pp. 366–377.
4. S.W. Ambler and P.J. Sadalage, Refactoring Databases: Evolutionary Database Design, Addison-Wesley, 2006.
5. E.R. Harold, Refactoring HTML: Improving the Design of Existing Web Applications, Addison-Wesley, 2008.
6. G. Rossi et al., eds., Web Engineering. Modelling and Implementing Web Applications, Springer, 2008.
7. A. Garrido, G. Rossi, and D. Distante, "Systematic Improvement of Web Application Design," J. Web Eng., vol. 8, no. 4, 2009, pp. 371–404.
8. N. Koch et al., "UML-Based Web Engineering: An Approach Based on Standards," Web Engineering: Modelling and Implementing Web Applications, G. Rossi et al., eds., Springer, 2008, pp. 157–191.
9. D.K. van Duyne, J.A., Landay, and J.I. Hong, The Design of Sites: Patterns for Creating Winning Web Sites, 2nd ed., Prentice Hall PTR, 2006.
10. J. Nielsen, Designing Web Usability, New Riders, 1999.
11. J. Cabot and C. Gomez, "A Catalogue of Refactorings for Navigation Models," Proc. 8th Int'l Conf. Web Eng. (ICWE 08), IEEE CS Press, 2008, pp. 75–85.
12. L. Olsina et al., "Web Application Evaluation and Refactoring: A Quality-Oriented Improvement Approach," J. Web Eng., vol. 7, no. 4, 2008, pp. 258–280.

Index Terms:
design tools and techniques. distribution, maintenance, enhancement. usability testing
Alejandra Garrido, Gustavo Rossi, Damiano Distante, "Refactoring for Usability in Web Applications," IEEE Software, vol. 28, no. 3, pp. 60-67, May-June 2011, doi:10.1109/MS.2010.114
Usage of this product signifies your acceptance of the Terms of Use.