UNDERSTANDING OF E-COMMERCE IS THROUGH FEATURE MODELS AND THEIR METRICS TO SUPPORT RE-MODULARIZATION

The paper addresses the e-commerce system (interpreted here as information system IS) understandability problem from the maintenance and evolution perspective. We propose a methodology that includes: (1) identification of the 3 representative systems (through clustering of a set of previously developed IS on the basis of user-oriented and temporal criteria); (2) extraction of feature models from representative systems for evaluation using similarity (measured by absolute difference value ADV) and complexity metrics leading to the definition of the reference IS RIS; (3) construction of the business logic feature model, represented as meta-graph, to reason about quality of the systems and to understand evolution trends; (4) feature model refactoring / modularization of the RIS; (5) Code-level modularization of the RIS. The methodology is supported by experiments to evaluate the analysed problems. The basic results are: (1) feature models of the representative systems; (2) metrics to evaluate complexity and similarity of the represented systems; (3) the re-engineered RIS to support better maintainability and design procedures.

[1]  Penny Grubb,et al.  Software Maintenance: Concepts and Practice , 2003 .

[2]  Sergiu M. Dascalu,et al.  A product-line architecture for web service-based visual composition of web applications , 2008, J. Syst. Softw..

[3]  Woo-Sung Jung,et al.  An Entropy-Based Complexity Measure for Web Applications Using Structural Information , 2011, J. Inf. Sci. Eng..

[4]  Dragan Gasevic,et al.  Assessing the maintainability of software product line feature models using structural metrics , 2011, Software Quality Journal.

[5]  Alexander Egyed,et al.  From Requirements to Features: An Exploratory Study of Feature-Oriented Refactoring , 2011, 2011 15th International Software Product Line Conference.

[6]  Sven Apel,et al.  An Overview of Feature-Oriented Software Development , 2009, J. Object Technol..

[7]  Federico Ciccozzi,et al.  Round-trip support for extra-functional property management in model-driven engineering of embedded systems , 2013, Inf. Softw. Technol..

[8]  Robert W. Blanning,et al.  Metagraphs and their applications , 2007, Integrated series in information systems.

[9]  Dewayne E. Perry,et al.  Metrics and laws of software evolution-the nineties view , 1997, Proceedings Fourth International Software Metrics Symposium.

[10]  William G. Griswold,et al.  When refactoring acts like modularity: keeping options open with persistent condition checking , 2008, WRT '08.

[11]  Frans Coenen,et al.  Reverse Engineering of Web Applications : A Technical Review , 2007 .

[12]  Raghvinder S. Sangwan,et al.  Structural Epochs in the Complexity of Software over Time , 2008, IEEE Software.

[13]  Paul A. Strooper,et al.  Evaluating software refactoring tool support , 2006, Australian Software Engineering Conference (ASWEC'06).

[14]  Hausi A. Müller,et al.  Reverse engineering: a roadmap , 2000, ICSE '00.

[15]  Avinash C. Kak,et al.  API-Based and Information-Theoretic Metrics for Measuring the Quality of Software Modularization , 2007 .

[16]  Tom Mens,et al.  A survey of software refactoring , 2004, IEEE Transactions on Software Engineering.

[17]  Robertas Damasevicius,et al.  Meta-Programming and Model-Driven Meta-Program Development , 2012, Advanced Information and Knowledge Processing.

[18]  James H. Cross,et al.  Reverse engineering and design recovery: a taxonomy , 1990, IEEE Software.

[19]  Girish Maskeri Rama,et al.  Software modularization operators , 2010, 2010 IEEE International Conference on Software Maintenance.

[20]  Marija Katić,et al.  Towards an appropriate software refactoring tool support , 2009 .

[21]  Gustavo Rossi,et al.  Refactoring to Rich Internet Applications. A Model-Driven Approach , 2008, 2008 Eighth International Conference on Web Engineering.

[22]  Don S. Batory Program Refactoring, Program Synthesis, and Model-Driven Development , 2007, CC.

[23]  Jia Liu,et al.  Feature oriented refactoring of legacy applications , 2006, ICSE.

[24]  Allan Tucker,et al.  Munch: An Efficient Modularisation Strategy to Assess the Degree of Refactoring on Sequential Source Code Checkings , 2011, 2011 IEEE Fourth International Conference on Software Testing, Verification and Validation Workshops.

[25]  Raed Shatnawi,et al.  An Empirical Assessment of Refactoring Impact on Software Quality Using a Hierarchical Quality Model , 2011 .

[26]  William F. Opdyke,et al.  Refactoring object-oriented frameworks , 1992 .

[27]  Giancarlo Guizzardi,et al.  An ontological approach to domain engineering , 2002, SEKE '02.

[28]  Oscar Díaz,et al.  Feature refactoring a multi-representation program into a product line , 2006, GPCE '06.

[29]  Giuseppe A. Di Lucca,et al.  Reverse engineering Web applications: the WARE approach , 2004, J. Softw. Maintenance Res. Pract..

[30]  Anil Kumar Thurimella,et al.  On the communication problem between domain engineering and application engineering: formalism using sets, conflicts of-interests and artifact redundancies , 2011, SOEN.

[31]  Clemente Izurieta,et al.  Evolution of legacy system comprehensibility through automated refactoring , 2011, MALETS '11.

[32]  Visualization and Analysis of Open Source Software Evolution using an Evolution Curve Method , 2008 .

[33]  Daniel Oberle,et al.  Towards a modularized semantic web , 2002 .

[34]  Allan Tucker,et al.  A Seeded Search for the Modularisation of Sequential Software Versions , 2012, J. Object Technol..

[35]  Jeffrey G. Gray,et al.  Generic and Domain-Specific Model Refactoring Using a Model Transformation Engine , 2005, Model-Driven Software Development.

[36]  ASIT KUMAR GAHALAUT,et al.  REVERSE ENGINEERING : AN ESSENCE FOR SOFTWARE RE-ENGINEERING AND PROGRAM ANALYSIS , 2010 .

[37]  Stefano Ceri,et al.  Model-driven development of context-aware Web applications , 2007, TOIT.

[38]  Uwe Zdun,et al.  Architecture-Centric Evolution: New Issues and Trends , 2006, ECOOP Workshops.

[39]  Daniela Cruzes,et al.  Understanding Structural Complexity Evolution: A Quantitative Analysis , 2012, 2012 16th European Conference on Software Maintenance and Reengineering.

[40]  John A. McDermid,et al.  Towards Cost-Effective High-Assurance Software Product Lines: The Need for Property-Preserving Transformations , 2011, 2011 15th International Software Product Line Conference.