Advertisement

Empirical Software Engineering

, Volume 21, Issue 3, pp 1224–1271 | Cite as

Assessing refactorings for usability in e-commerce applications

  • Julián Grigera
  • Alejandra Garrido
  • Jose Ignacio Panach
  • Damiano Distante
  • Gustavo Rossi
Article

Abstract

Refactoring has been reported as a helpful technique to systematically improve non-functional attributes of software. This paper evaluates the relevance of refactoring for improving usability on web applications. We conducted an experiment with two replications at different locations, with subjects of different profiles. Objects chosen for the experiment were two e-commerce applications that exhibit common business processes in today’s web usage. Through the experiment we found that half of the studied refactorings cause a significant improvement in usability. The rest of the refactorings required a post-hoc analysis in which we considered aspects like user expertise in the interaction with web applications or type of application. We conclude that, when improving quality in use, the success of the refactoring process depends on several factors, including the type of software system, context and users. We have analyzed all these aspects, which developers must consider for a better decision support at the time of prioritizing improvements and outweighing effort.

Keywords

Refactoring Quality in use Usability measurement Web engineering Software maintenance and evolution 

Notes

Acknowledgments

This work was developed with the support of the Spanish Ministry of Science and Innovation project SMART ADAPT (TIN2013-42981-P) and was co-financed by ERDF. It also has the support of Generalitat Valenciana-funded IDEO project (PROMETEOII/2014/039).

References

  1. Barnes S, Vidgen R (2000) WebQual: An Exploration of Web-Site Quality. In: Proceedings of the eighth European conference on information systems. pp 298–305Google Scholar
  2. Barnes SJ, Vidgen R (2003) Measuring Web site quality improvements: a case study of the forum on strategic management knowledge exchange. Ind Manag Data Syst 103(5):297–309CrossRefGoogle Scholar
  3. Basili VR, Caldiera G, Rombach HD (1994) The goal question metric approach. Encycl Softw Eng 1:528–532Google Scholar
  4. Benjamini Y, Hochberg Y (1995) Controlling the false discovery rate: a practical and powerful approach to multiple testing. J R Stat Soc Ser B Methodol 57:289–300MathSciNetzbMATHGoogle Scholar
  5. Blaikie N (2003) Analyzing quantitative data: From description to explanation. Sage PublicationsGoogle Scholar
  6. Bruun A et al (2014) Active Collaborative Learning: Supporting Software Developers in Creating Redesign Proposals. In: Human-Centered Software Engineering. Springer Berlin Heidelberg, pp 1–18Google Scholar
  7. Cohen L, Manion L, Morrison K (2007) Research Methods in EducationGoogle Scholar
  8. Dearden A, Finlay J (2006) Pattern languages in HCI: a critical review. Human–Comput Interact 21(1):49–102CrossRefGoogle Scholar
  9. Dig D (2011) A refactoring approach to parallelism. IEEE Softw 28(1):17–22CrossRefGoogle Scholar
  10. Distante D et al (2014) Business processes refactoring to improve usability in e-commerce applications. Electron Commer Res 14(4):1–42CrossRefGoogle Scholar
  11. Dybå T, Kampenes VB, Sjøberg DIKK (2006) A systematic review of statistical power in software engineering experiments. Inf Softw Technol 48(8):745–755CrossRefGoogle Scholar
  12. Faul F et al (2007) G* power 3: a flexible statistical power analysis program for the social, behavioral, and biomedical sciences. Behav Res Methods 39(2):175–191CrossRefGoogle Scholar
  13. Fernandez A, Insfran E, Abrahão S (2011) Usability evaluation methods for the web: a systematic mapping study. Inf Softw Technol 53(8):789–817CrossRefGoogle Scholar
  14. Fernández-Ropero M et al (2012) Quality-Driven Business Process Refactoring. In: International Conference on Business Information Systems (ICBIS 2012). pp 960–966Google Scholar
  15. Fowler M, Beck K (1999) Refactoring: improving the design of existing code. Addison-WesleyGoogle Scholar
  16. Garrido A, Rossi G, Distante D (2009) Systematic improvement of web applications design. J Web Eng 8(4):371–404Google Scholar
  17. Garrido A, Rossi G, Distante D (2011) Refactoring for usability in web applications. IEEE Softw 28(3):60–67CrossRefGoogle Scholar
  18. Garrido A et al (2013) Personalized web accessibility using client-side refactoring. IEEE Internet Comput 17(4):58–66CrossRefGoogle Scholar
  19. Grissom RJ, Kim JJ (2005) Effect Sizes For Research: A Broad Practical Approach. Taylor & Francis GroupGoogle Scholar
  20. Harold E (2008) Refactoring html: improving the design of existing web applications. Addison-Wesley ProfessionalGoogle Scholar
  21. ISO I (2011) ISO/IEC 25010 - Systems and software engineering - Systems and software Quality Requirements and Evaluation (SQuaRE) - System and software quality modelsGoogle Scholar
  22. Jönsson P, Wohlin C (2004) An evaluation of k-nearest neighbour imputation using lIkert data. In: Proceedings - International Software Metrics Symposium. pp 108–118Google Scholar
  23. Juristo, N. & Moreno, A., 2010. Basics of software engineering experimentation, Springer Publishing Company, IncorporatedGoogle Scholar
  24. Kim M, Zimmermann T, Nagappan N (2012) A Field Study of Refactoring Challenges and Benefits. In: Proceedings of the ACM SIGSOFT 20th International Symposium on the Foundations of Software Engineering - FSE’12. ACM. p 50Google Scholar
  25. Maruyama K (2007) Secure Refactoring - Improving the Security Level of Existing Code. In: ICSOFT 2007, Proceedings of the Second International Conference on Software and Data Technologies, Volume SE, Barcelona, Spain, July 22–25, 2007. pp 222–229Google Scholar
  26. Moody D et al (2003) Evaluating the quality of information models: empirical testing of a conceptual model quality framework. Proceedings of the 25th International Conference on Software Engineering. pp 295–305Google Scholar
  27. Murphy-Hill E, Parnin C, Black AP (2012) How we refactor, and how we know it. IEEE Trans Softw Eng 38:5–18CrossRefGoogle Scholar
  28. Nanard M, Nanard J, Kahn P (1998) Pushing Reuse in Hypermedia Design: Golden Rules, Design Patterns and Constructive Templates. In: Proceedings of the ninth ACM conference on Hypertext and hypermedia : links, objects, time and space---structure in hypermedia systems links, objects, time and space---structure in hypermedia systems - HYPERTEXT’98. ACM Press, New York, pp 11–20Google Scholar
  29. Nielsen J (1999) Designing Web Usability, New Riders PublishingGoogle Scholar
  30. Nielsen J, Tahir M (2002) Homepage usability: 50 websites deconstructed, New RidersGoogle Scholar
  31. Olsina L et al (2008) Web applications refactoring and evaluation: a quality-oriented improvement approach. J Web Eng 7(4):258–280Google Scholar
  32. Rieger M et al (2007) Refactoring for performance: an experience report. Proc Softw Evol 2:9Google Scholar
  33. Shneiderman S, Plaisant C (2005) Designing the user interface, 4th edn. Pearson Addison Wesley, USAGoogle Scholar
  34. Vakilian M et al (2012) Use, disuse, and misuse of automated refactorings. In: Proceedings - International Conference on Software Engineering. pp 233–243Google Scholar
  35. Van Duyne D, Landay J, Hong J (2007) The design of sites: Patterns for creating winning web sites. Prentice Hall ProfessionalGoogle Scholar
  36. Van Welie M, Trætteberg H (2000) Interaction patterns in user interfaces. 7th Pattern Languages of Programs Conference, 13, p 16Google Scholar
  37. Wnuk K, Gorschek T, Zahda S (2013) Obsolete software requirements. Inf Softw Technol 55:921–940CrossRefGoogle Scholar
  38. Wohlin C et al (2012) Experimentation in software engineering: an introduction. SpringerGoogle Scholar
  39. Ying M, Miller J (2013) Refactoring legacy AJAX applications to improve the efficiency of the data exchange component. J Syst Softw 86(1):72–88CrossRefGoogle Scholar
  40. Zibran MF, Roy CK (2011) A constraint programming approach to conflict-aware optimal scheduling of prioritized code clone refactoring. In: Proceedings - 11th IEEE International Working Conference on Source Code Analysis and Manipulation, SCAM 2011. pp 105–114Google Scholar
  41. Zou Y, Zhang Q, Zhao X (2007) Improving the usability of e-commerce applications using business processes. IEEE Trans Softw Eng 33(12):837–855CrossRefGoogle Scholar

Copyright information

© Springer Science+Business Media New York 2015

Authors and Affiliations

  • Julián Grigera
    • 1
  • Alejandra Garrido
    • 1
  • Jose Ignacio Panach
    • 2
  • Damiano Distante
    • 3
  • Gustavo Rossi
    • 1
  1. 1.LIFIA, Facultad de InformáticaUniversidad Nacional de La PlataLa PlataArgentina
  2. 2.Escola Tècnica Superior d’Enginyeria, Departament d’InformàticaUniversitat de ValènciaValenciaEspaña
  3. 3.Unitelma Sapienza UniversityRomeItaly

Personalised recommendations