WEB APPLICATION EVALUATION AND REFACTORING: A QUALITYORIENTED IMPROVEMENT APPROACH
Keywords:
Web Model Refactoring, Usability Improvement, External Quality, Web Quality Evaluation, Metrics, Indicators, WebQEM, INCAMIAbstract
Web applications must be usable and accessible; at the same time, their continuous evolution makes it difficult to keep a high degree of external quality. Refactoring is a practice of agile methods well-suited for the maintenance and evolution of Web applications. However, this practice is mainly intended and used to improve maintainability and extensibility of the design and code rather than external qualities such as usability. We believe that the concept of refactoring as “behavior-preserving transformations” can be applied to the navigation and presentation models of a Web application with the purpose of improving external quality. For this reason we have defined the concept of Web model refactoring. This paper demonstrates how it is possible to improve the external quality of a Web application by combining a mature quality measurement and evaluation method (WebQEM) with Web model refactoring. WebQEM is used to identify needs for improvement, recommend Web model refactorings and assess their impact on some defined attributes of a Web product entity. We present a case study showing how a typical shopping cart in an e-commerce site can improve its usability and content quality with our integrated improvement approach.
Downloads
References
Beck, K. (2002) Test-Driven Development. Addison-Wesley.
Beck, K. (2006) Extreme Programming Explained. Addison-Wesley.
Boger, M.; Sturm, T.; Fragemann, P. (2003) Refactoring Browser for UML. LNCS 2591, Springer 2003, pp.
-377.
Cachero, C.; Melia, S.; Genero, M.; Poels, G.; Calero, C. (2007) Towards improving the navigability of Web
applications: a model-driven approach. European Journal of Information Systems 16, pp. 420-447.
Ceri, S., Fraternali, P., Bongio, A. (2000). Web Modeling Language (WebML): a Modeling Language for
Designing Web Sites. Proc WWW9 Conference, Amsterdam, NL.
Covella, G. Olsina, L. (2006). Assessing Quality in Use in a Consistent Way, In Proc. of ACM, Int'l Congress
on Web Engineering, (ICWE05), SF, USA, pp.1-8.
Fowler, M. (2000). Refactoring: Improving the Design of Existing Code. Addison-Wesley.
García, F.; Ruiz, F.; Bertoa, M. F.; Calero, C.; Genero, M.; Olsina, L.; Martín, M.; Quer, C.; Tondori, N.;
Abrahao, S.; Vallecillo, A. and Piattini, M, (2004) An ontology for software measurement, Technical Report
UCLM DIAB-04-02-2, Computer Science Department, University of Castilla-La Mancha, Spain, (In Spanish).
Garcia, F.; Bertoa, M F.; Calero, C.; Vallecillo, A.; Ruiz F.; Piattini, M.; Genero, M. (2005) Towards a
consistent terminology for software measurement. Information and Software Technology 48(8), pp. 631-644.
Garrido, A.; Rossi, G.; Distante, D. (2007). Model Refactoring in Web Applications. In Proceedings of the
th International Symposium on Web Site Evolution (WSE 2007: Oct. 05-06, 2007; Paris, France). Los
Alamitos, CA: IEEE Computer Society Press.
Ivkovic, I.; Kontogiannis, K. (2006). A Framework for Software Architecture Refactoring using Model
Transformations and Semantic Annotations. In Proceedings of the IEEE Conference on Software Maintenance
and Reengineering (CSMR’06), pp. 135-144.
ISO/IEC 14598-1 (1999). “International Standard, Information technology - Software product evaluation -
Part 1: General Overview”.
ISO/IEC 9126-1 (2001). “International Standard, Software Engineering - Product Quality - Part 1: Quality
Model”.
ISO/IEC 15939 (2002). “Software Engineering - Software Measurement Process”.
Kerievsky, J. (2005). Refactoring to Patterns. Addison-Wesley.
Koch, N., Kraus, A. (2002). The Expressive Power of UML-based Web Engineering. In Proc. of 2nd Int’l
Workshop on Web Oriented Software Technology (IWWOST´02) at ECOOP´02. Málaga, Spain, pp. 105-119.
Martín, M.; Olsina, L., (2003) Towards an Ontology for Software Metrics and Indicators as the Foundation
for a Cataloging Web System, In proceed. of IEEE Computer Society (1st Latin American Web Congress),
Santiago de Chile, pp 103-113, ISBN 0-7695-2058-8.
Olsina, L; Rossi, G.; Garrido, A.; Distante, D.; Canfora, G. (2007) Incremental Quality Improvement in Web
Applications Using Web Model Refactoring, LNCS 4832, Springer 2007, pp. 411-422, 1st Int. Workshop on
Web Usability and Accessibility (IWWUA´07), Nancy, France.
Olsina, L., Papa, F., Molina, H. (2007) How to Measure and Evaluate Web Applications in a Consistent Way.
Chapter Thirteenth in Springer Book, Human-Computer Interaction Series, titled Web Engineering: Modelling
and Implementing Web Applications; Rossi, Pastor, Schwabe, and Olsina (Eds.), pp. 385–420.
Olsina, L., Covella, G., Rossi, G. (2006).Web Quality. Chapter fourth in Springer Book titled Web
Engineering, Emilia Mendes and Nile Mosley (Eds), pp. 109–142.
Olsina, L., Martín, M. (2004). Ontology for Software Metrics and Indicators, Journal of Web Engineering,
Rinton Press, US, Vol 2 Nº 4, pp. 262-281, ISSN 1540-9589
Olsina, L., Rossi G., (2002). Measuring Web Application Quality with WebQEM, IEEE Multimedia, 9(4), pp.
-29.
Olsina, L., Lafuente G, Rossi G (2000) E-commerce Site Evaluation: a Case Study, LNCS 1875 of Springer,
st Int’l Conference on Electronic Commerce and Web Technologies, EC-Web 2000, London, UK, pp. 239-
Olsina, L., Godoy, D., Lafuente, G., Rossi, G. (1999). Assessing the Quality of Academic Websites: a Case
Study, New Review of Hypermedia and Multimedia (NRHM) Journal, Taylor Graham Publishers, UK/USA
Vol. 5, pp. 81-103
Opdyke, W. (1992). Refactoring Object-Oriented Frameworks. Ph.D.Thesis, University of Illinois at Urbana-
Champaign.
Ping, Y. and Kontogiannis, K. (2004). Refactoring Web sites to the Controller-Centric Architecture. In Proc.
of the European Conf. on Software Maintenance and Reengineering (CSMR’04). Tampere, Finland.
Ricca, F. and Tonella, P. (2005). Program Transformations for Web Application Restructuring. In Web
Engineering: Principles and Techniques. Woojong Suh (Eds.). Ch. XI: pp. 242-260.
Ricca, F., Tonella, P., Baxter, Ira D. (2001). Restructuring Web Applications via Transformation Rules.
SCAM, pp. 152-162.
Roberts, D. (1999). Eliminating Analysis in Refactoring. Ph.D. Thesis, University of Illinois at Urbana-
Champaign.
Rossi, G., Urbieta, M., Ginzburg, J., Distante, D., Garrido, A. (2008) Refactoring to Rich Internet
Applications. A Model-Driven Approach. In Proc. of 8th International Conference on Web Engineering,
(ICWE 2008), NY, USA.
Schwabe, D., Rossi, G. (1998). An Object Oriented Approach to Web-Based Application Design. Theory and
Practice of Object Systems 4(4), Wiley and Sons, NY.
UWA Consortium, (2002). Ubiquitous Web Applications. Proceedings of the eBusiness and eWork
Conference e2002; Prague, Czech Republic.
Van Duyne, D., Landay, J., Hong, J. (2003). The Design of Sites. Addison-Wesley.
Van Gorp, P., Stenten, H., Mens, T., Demeyer S. (2003). Towards automating source-consistent UML
Refactorings. In Proceedings of the 6th Int’l Conference on UML.
Zhang, J., Lin, Y., Gray, J. (2005). Generic and Domain-Specific Model Refactoring using a
Model Transformation Engine. Chapter 9, In Springer Book Model-driven Software Development,
S. Beydeda, M. Book, and V. Gruhn, (Eds.), pp. 199-218.