Business processes refactoring to improve usability in E-commerce applications

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.

[1]  Gustavo Rossi,et al.  A comprehensive design model for integrating business processes in web applications , 2007, Int. J. Web Eng. Technol..

[2]  Soren Lauesen User Interface Design: A Software Engineering Perspective , 2004 .

[3]  Alireza Pourshahid,et al.  Business process management with the user requirements notation , 2009, Electron. Commer. Res..

[4]  Gustavo Rossi,et al.  Modeling and designing processes in e-commerce applications , 2004, IEEE Internet Computing.

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

[6]  DijkmanRemco,et al.  Identifying refactoring opportunities in process model repositories , 2011 .

[7]  Gustavo Rossi,et al.  Refactoring for Usability in Web Applications , 2011, IEEE Software.

[8]  Gustavo Rossi,et al.  Bridging Test and Model-Driven Approaches in Web Engineering , 2009, ICWE.

[9]  A. Ant Ozok,et al.  An empirical comparison of consumer usability preferences in online shopping using stationary and mobile devices: results from a college student population , 2010, Electron. Commer. Res..

[10]  Gustavo Rossi,et al.  Systematic Improvement of Web Applications Design , 2009, J. Web Eng..

[11]  Ben Shneiderman,et al.  Designing the User Interface: Strategies for Effective Human-Computer Interaction , 1998 .

[12]  Oscar Mauricio Serrano Jaimes,et al.  EVALUACION DE LA USABILIDAD EN SITIOS WEB, BASADA EN EL ESTANDAR ISO 9241-11 (International Standard (1998) Ergonomic requirements For office work with visual display terminals (VDTs)-Parts II: Guidance on usability , 2012 .

[13]  Jakob Nielsen,et al.  Did poor usability kill e-commerce? , 2001 .

[14]  Mario Piattini,et al.  Quality-Driven Business Process Refactoring , 2012 .

[15]  John Michael Pearson,et al.  Integrating website usability with the electronic commerce acceptance model , 2011, Behav. Inf. Technol..

[16]  Nora Koch,et al.  MagicUWE - A CASE Tool Plugin for Modeling Web Applications , 2009, ICWE.

[17]  Carlos Flavián,et al.  The role of usability and satisfaction in the consumer's commitment to a financial services website , 2008 .

[18]  Qi Zhang,et al.  Improving the Usability of E-Commerce Applications using Business Processes , 2007, IEEE Transactions on Software Engineering.

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

[20]  Jakob Nielsen,et al.  Homepage Usability: 50 Websites Deconstructed , 2001 .

[21]  Nora Koch,et al.  Integration of Business Processes in Web Application Models , 2004, J. Web Eng..

[22]  Fabio Casati,et al.  Improving Business Process Quality through Exception Understanding, Prediction, and Prevention , 2001, VLDB.

[23]  Sascha Goldner,et al.  Extending the BPMN Syntax for Requirements Management , 2011, BPMN.

[24]  Rainer Unland,et al.  Objects, Components, Architectures, Services, and Applications for a Networked World , 2003, Lecture Notes in Computer Science.

[25]  David Chenho Kung,et al.  Object-based data flow testing of web applications , 2000, Proceedings First Asia-Pacific Conference on Quality Software.

[26]  Carlo Combi,et al.  Flaws in the Flow: The Weakness of Unstructured Business Process Modeling Languages Dealing with Data , 2009, OTM Conferences.

[27]  Manfred Reichert,et al.  Refactoring large process model repositories , 2011, Comput. Ind..

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

[29]  Steven Walczak,et al.  The relationship between website quality, trust and price premiums at online auctions , 2010, Electron. Commer. Res..

[30]  Ralph E. Johnson,et al.  Creating abstract superclasses by refactoring , 1993, CSC '93.

[31]  Nigel Bevan,et al.  Quality in use: Meeting user needs for quality , 1999, J. Syst. Softw..

[32]  Oege de Moor,et al.  Specifying and implementing refactorings , 2010, OOPSLA.

[33]  Karl Aberer,et al.  Separating Business Process from User Interaction in Web-Based Information Commerce , 2003, Electron. Commer. Res..

[34]  Vicente Pelechano,et al.  Building Business Process Driven Web Applications , 2006, Business Process Management.

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

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

[37]  Shihong Huang,et al.  Web site evolution via transaction reengineering , 2004, Proceedings. Sixth IEEE International Workshop on Web Site Evolution.

[38]  Stefanie Rinderle-Ma,et al.  Change patterns and change support features - Enhancing flexibility in process-aware information systems , 2008, Data Knowl. Eng..

[39]  Yves Le Traon,et al.  Refactoring access control policies for performance improvement , 2012, ICPE '12.

[40]  Jana Koehler,et al.  The refined process structure tree , 2008, Data Knowl. Eng..

[41]  Frank Leymann,et al.  Automatic Workflow Graph Refactoring and Completion , 2008, ICSOC.

[42]  Jakob Nielsen,et al.  Designing Web Usability: The Practice of Simplicity , 1999 .

[43]  Emilio Tuosto,et al.  Refactoring Long Running Transactions , 2008, WS-FM.

[44]  Andreas Reuter,et al.  Transaction Processing: Concepts and Techniques , 1992 .

[45]  ISO / IEC 25010 : 2011 Systems and software engineering — Systems and software Quality Requirements and Evaluation ( SQuaRE ) — System and software quality models , 2013 .

[46]  Jakob Nielsen,et al.  Designing web usability , 1999 .

[47]  Ergonomic requirements for office work with visual display terminals ( VDTs ) — Part 11 : Guidance on usability , 1998 .

[48]  Paul H. P. Yeow,et al.  Crucial web usability factors of 36 industries for students: a large-scale empirical study , 2011, Electron. Commer. Res..

[49]  Manish Parashar,et al.  Enabling flexible queries with guarantees in P2P systems , 2004, IEEE Internet Computing.

[50]  Vitor A. Batista,et al.  A Comparison of BPMN and UML 2.0 Activity Diagrams , 2008, SBQS.

[51]  Jana Koehler,et al.  Improving Business Process Models with Reference Models in Business-Driven Development , 2006, Business Process Management Workshops.

[52]  Remco M. Dijkman,et al.  Identifying refactoring opportunities in process model repositories , 2011, Inf. Softw. Technol..

[53]  Stefano Ceri Process Modeling in Web Applications , 2005, OTM Conferences.