Electronic Commerce Research

, Volume 14, Issue 4, pp 497–529 | Cite as

Business processes refactoring to improve usability in E-commerce applications

  • Damiano Distante
  • Alejandra Garrido
  • Julia Camelier-Carvajal
  • Roxana Giandini
  • Gustavo Rossi


Refactoring is a technique that applies step-by-step transformations intended to improve the quality of software while preserving its behavior. It represents an essential activity in today’s software lifecycle and a powerful tool against software decay. Software decay, however, is not only about code becoming legacy, but it is also about systems becoming less usable compared to competitor solutions adopting new designs and new technologies. If we narrow the focus on e-commerce systems, the role of usability becomes essential: higher usability is in fact a requirement to win the market competition and to retain customers from turning to other choices. One reason why an e-commerce application can start suffering from poor usability is because of its business processes (BPs) becoming difficult to access, complicated to execute, and, overall, offering a poor user experience. In this paper we argue that refactoring can be a key solution for this kind of usability issues. In particular, we propose a catalog of refactorings as a means to systematically identify and address lack of usability in the BPs of an e-commerce application, and to seize opportunities for usability improvement. To make the presentation concrete and to provide evidence of the benefits that applying our refactorings can bring, we present a number of examples with reference to well-known e-commerce websites.


E-commerce websites Business processes Business Web applications Usability Quality-in-use Refactoring  Web model refactoring Web business process refactoring 


  1. 1.
    Aberer, K., Datta, A., Despotovic, Z., & Wombacher, A. (2003). Separating business process from user interaction in web-based information commerce. Electronic Commerce Research, 3(1), 83–111.CrossRefGoogle Scholar
  2. 2.
    AGConsult (2009). 48% of visitors on e-commerce websites don’t buy due to lack of usability.
  3. 3.
    Ambler, S. (2012). User interface flow diagrams (Storyboards).
  4. 4.
    Bevan, N. (1999). Quality in use: Meeting user needs for quality. Journal of Systems and Software, 49(1), 89–96.CrossRefGoogle Scholar
  5. 5.
    Boger, M., Sturm, T., & Fragemann, P. (2003). Refactoring browser for UML. Objects, components, architectures, services, and applications for a networked world (pp. 366–377)., Lecture notes in computer science Berlin: Springer.CrossRefGoogle Scholar
  6. 6.
    Brambilla, M., Ceri, S., Fraternali, P., & Manolescu, I. (2006). Process modeling in web applications. ACM transactions on software engineering and methodology (TOSEM). New York: ACM Press.Google Scholar
  7. 7.
    Busch, M., & Koch, N. (2009). MagicUWE—A CASE tool plugin for modeling web applications. In: Proceedings of the 9th international conference on web engineering (ICWE 2009) (pp. 505–508). Berlin: Springer.Google Scholar
  8. 8.
    Casalo, L., Flavian, C., & Guinaliu, M. (2008). The role of usability and satisfaction in the consumer’s commitment to a financial services website. International Journal of Electronic Finance, 2(1), 31–49.CrossRefGoogle Scholar
  9. 9.
    Combi, C., & Gambini, M. (2009). Flaws in the flow: The weakness of unstructured business process modeling languages dealing with data. Proceeding of the confederated international conferences, CoopIS, DOA, IS, and ODBASE 2009 (OTM ’09) on the move to meaningful internet systems: Part I. Lecture notes in computer science, 5870 LNCS (Part 1) (pp. 42–59). Berlin: Springer.Google Scholar
  10. 10.
    Dijkman, R., Gfeller, B., Küster, J., & Völzer, H. (2011). Identifying refactoring opportunities in process model repositories. Information and Software Technology, 53, 937–948.CrossRefGoogle Scholar
  11. 11.
    Distante, D., Rossi, G., Canfora, G., & Tilley, S. (2007). A comprehensive design model for integrating business processes in web applications. International Journal of web Engineering and Technology (IJWET), 3(1), 43–72.CrossRefGoogle Scholar
  12. 12.
    Fernández-Ropero, M., Pérez-Castillo, R., Caballero, I., & Piattini, M. (2012). Quality-driven business process refactoring. World Academy of Science, Engineering and Technology, Issue, 66, 960–966.Google Scholar
  13. 13.
    Ferrari, G. L., Guanciale, R., Strollo, D., & Tuosto, E. (2009). Refactoring long running transactions. In: Proceedings of the 6th international workshop on web services and formal methods (WS-FM 2008) (Vol. 5387, pp. 207–223)., Lecture notes in computer science Heidelberg: Springer.Google Scholar
  14. 14.
    Fowler, M. (1999). Refactoring: Improving the design of existing code. Boston: Addison-Wesley.Google Scholar
  15. 15.
    Garrido, A., Rossi, G., & Distante, D. (2007). Model refactoring in web applications. In: Proceedings of the 9th IEEE international symposium on web site evolution (WSE 2007). New York: IEEE Computer Society.Google Scholar
  16. 16.
    Garrido, A., Rossi, G., & Distante, D. (2009). Systematic improvement of web applications design. Journal of Web Engineering, 8(4), 371–404.Google Scholar
  17. 17.
    Garrido, A., Rossi, G., & Distante, D. (2011). Refactoring for Usability in Web Applications. IEEE Software, May/June 2011 (pp. 31–38). New York: IEEE Computer Society.Google Scholar
  18. 18.
    Grayand, J., & Reuter, A. (1993). Transaction processing: Concepts and techniques. San Francisco: Morgan Kaufmann.Google Scholar
  19. 19.
    Green, D. T., & Pearson, J. M. (2011). Integrating website usability with the electronic commerce acceptance model. Behaviour & Information Technology, 30(2), 181–199.CrossRefGoogle Scholar
  20. 20.
    Gregg, D. G., & Walczak, S. (2010). The relationship between website quality, trust and price premiums at online auctions. Electronic Commerce Research, 10(1), 1–25.CrossRefGoogle Scholar
  21. 21.
    Grigori, D., Casati, F., Dayal, U., & Shan, M.-C. (2001). Improving business process quality through exception understanding, prediction, and prevention. In Proceedings of the 27th Very Large Data Base Conference (VLDB ’01). San Francisco, CA: Morgan Kaufmann Publishers Inc.Google Scholar
  22. 22.
    Harold, E. R. (2008). Refactoring HTML: Improving the design of existing web applications. Boston: Addison-Wesley.Google Scholar
  23. 23.
    ISO 9241–11:1998 (1998). Ergonomic requirements for office work with visual display terminals (VDTs)—Part 11: Guidance on usability. Geneva: ISO Copyright Office.Google Scholar
  24. 24.
    ISO/IEC 25010:2011 (2011). Systems and software engineering—Systems and software Quality requirements and evaluation (SQuaRE)—System and software quality models. Geneva: ISO Copyright Office.Google Scholar
  25. 25.
    Kateb, D. E., Mouelhi, T., Le Traon, Y., Hwang, J. H., & Xie, T. (2012). Refactoring access control policies for performance improvement. In: Proceedings of the 3rd ACM/SPEC international conference on performance Engineering (ICPE’12) (pp. 323–334). New York: ACM Press.Google Scholar
  26. 26.
    Koch, N., Kraus, A., Cachero, C., & Meliá, S. (2004). Integration of business processes in web applications. Journal of Web Engineering, 3(1), 22–49.Google Scholar
  27. 27.
    Küster, J. M., Koehler J., Ryndina, K. (2006). Improving Business Process Models with Reference Models in Business-Driven Development. In: Proceedings of the international business process management workshops 2006. Lecture notes in computer science (Vol. 4103/2006, pp. 35–44). Berlin: Springer.Google Scholar
  28. 28.
    Lauesen, S. (2005). User interface design—a software engineering perspective—the Virtual Windows method. Boston: Addison-Wesley.Google Scholar
  29. 29.
    Liu, C.-H., Kung, D. C., Hsia, P., & Hsu, C.-T. (2000). Object-based data flow testing of web applications. In: Proceedings of the First Asia-Pacific Conference on Quality Software (APAQS ’00). Washington, DC: IEEE Computer Society.Google Scholar
  30. 30.
    Nathan, R. J., & Yeow, P. H. P. (2010). Crucial web usability factors of 36 industries for students: a large-scale empirical study. Electronic Commerce Research, 11(2), 151–180.CrossRefGoogle Scholar
  31. 31.
    Nielsen, J. (1999). Designing web usability. New York: New Riders Publishing.Google Scholar
  32. 32.
    Nielsen, J. (2001). Homepage usability: 50 websites deconstructed. New York: New Riders Publishing.Google Scholar
  33. 33.
    Nielsen, J. (2011). E-commerce usability.
  34. 34.
    Nielsen, J. (2001). Did poor usability kill E-Commerce?.
  35. 35.
    Object Management Group (2010). Unified modeling language version 2.3.
  36. 36.
    Object Management Group (2011). Business process modeling and notation (BPMN) version 2.0.
  37. 37.
    Olsina, L., & Rossi, G. (2002). Measuring web application quality with WebQEM. IEEE Multimedia, 9, 20–29.CrossRefGoogle Scholar
  38. 38.
    Olsina, L., Garrido, A., Distante, D., & Canfora, G. (2008). Web application evaluation and refactoring: A quality-oriented improvement approach. Journal of Web Engineering, 7(4), 258–280.Google Scholar
  39. 39.
    Opdyke, W., & Johnson, R. (1993). Creating abstract superclasses by refactoring. In: Proceedings of the 1993 ACM conference on computer science (CSC 93) (pp. 66–73). New York: ACM Press.Google Scholar
  40. 40.
    Ozok, A., & Wei, J. (2010). An empirical comparison of consumer usability preferences in online shopping using stationary and mobile devices: results from a college student population. Electronic Commerce Research, 10(2), 111–137.CrossRefGoogle Scholar
  41. 41.
    Peixoto, D. C. C., Batista, V. A., Atayde, A. P., Borges, E. P., Resende, R. F., Isaías, C., et al. (2008). A Comparison of BPMN and UML 2.0 activity diagrams. VII Simpósio Brasileiro de Qualidade de Software (SBQS 2008). Florianópolis, SC: Sociedade Brasileira de Computação – SBC, ISBN:978-85-7669-180-8.Google Scholar
  42. 42.
    Pourshahid, A., Amyot, D., Peyton, L., Ghanavati, S., Chen, P., Weiss, M., et al. (2009). Business process management with the user requirements notation. Electronic Commerce Research, 9(4), 269–316.CrossRefGoogle Scholar
  43. 43.
    Robles Luna, E., Grigera, J., & Rossi, G. (2009). Bridging test and model-driven approaches in web engineering. In: Proceeding of the 9th international conference in web engineering (ICWE 2009). Lecture notes in computer science 5648 Springer 2009 (pp. 136–150). Heidelberg: Springer.Google Scholar
  44. 44.
    Schäfer, M., de Moor, O. (2010). Specifying and Implementing Refactorings. In: Proceedings of the 25th ACM international conference on object oriented programming systems languages and applications (OOPSLA ’10) (pp. 286–301). New York: ACM Press.Google Scholar
  45. 45.
    Schaffer, E., & Sorflaten, J. (1998). Web usability illustrated: Breathing easier with your useable E-commerce site. EDI Forum: The Journal of Electronic Commerce, 11(4), pp. 50–52, 57–64.Google Scholar
  46. 46.
    Schmid, H., & Rossi, G. (2004). Modeling and designing processes in E-commerce applications. IEEE Internet Computing, 8(1), 19–27.CrossRefGoogle Scholar
  47. 47.
    Shneiderman, B., Plaisant, C., Cohen, M., & Jacobs, S. (2009). Designing the User Interface: Strategies for Effective Human-Computer Interaction (5th edition). Englewood Cliffs: Prentice Hall.Google Scholar
  48. 48.
    Tilley, S., Distante, D., & Huang, S. (2004). Web site evolution via transaction reengineering. In: Proceedings of the 6th international workshop on web site evolution (WSE 2004). Los Alamitos, CA: IEEE Computer Society Press.Google Scholar
  49. 49.
    Torres, V., & Pelechano, V. (2006). Building business process driven web applications. In:Proceedings of business process management 2006 (pp. 322–337). Berlin: Springer.Google Scholar
  50. 50.
    Vanhatalo, J., Völzer, H., & Koehler, J. (2008). The Refined process structure tree. In:Proceedings of the 6th international conference on business process management (BPM ’08) (Vol. 5240, pp. 100–115). Lecture notes in computer science. Heidelberg: Springer.Google Scholar
  51. 51.
    Vanhatalo, J., Völzer, H., Leymann, F., & Moser, S. (2008). Automatic workflow graph refactoring and completion. In: Proceedings of the 6th international conference on service-oriented computing (ICSOC ’08) (pp. 100–115). Lecture notes in computer science, 5364 LNCS. Heidelberg: Springer.Google Scholar
  52. 52.
    Weber, B., Reichert, M., Mendling, J., & Reijers, H. A. (2011). Refactoring large process model repositories. Computers in Industry, 62(5), 467–486.CrossRefGoogle Scholar
  53. 53.
    Weber, B., Reichert, M., & Rinderle-Ma, S. (2008). Change patterns and change support features—enhancing flexibility in process-aware information systems. Data & Knowledge Engineering, 66, 438–466.CrossRefGoogle Scholar
  54. 54.
    Zou, Y., Zhang, Q., & Zhao, X. (2007). Improving the usability of E-commerce applications using business processes. IEEE Transactions Software Engineering, 33, 837–855.CrossRefGoogle Scholar

Copyright information

© Springer Science+Business Media New York 2014

Authors and Affiliations

  • Damiano Distante
    • 1
  • Alejandra Garrido
    • 2
    • 3
  • Julia Camelier-Carvajal
    • 2
  • Roxana Giandini
    • 2
  • Gustavo Rossi
    • 2
    • 3
  1. 1.Unitelma Sapienza UniversityRomeItaly
  2. 2.LIFIA, Fac. de InformáticaUniversidad Nacional de La PlataLa PlataArgentina
  3. 3.CONICETLa PlataArgentina

Personalised recommendations