A business process‐driven approach for generating software modules

Business processes describe the business operations of an organization and capture the business requirements. Business applications provide automated support for an organization to achieve their business objectives. A software modular structure represents the structure of a business application and shows the distribution of functionality to software components. However, mainstream design approaches rely on software architects' craftsmanship to derive software modular structures from business requirements. Such a manual approach is inefficient and often leads to inconsistency between business requirements and business applications. To address this problem, we propose an approach to derive software modular structures from business processes. We use clustering algorithms to analyze dependencies among data and tasks captured in business processes and group the strongly dependent tasks and data into a software component. A case study is conducted to generate software modular structures from a collection of business processes from the industrial setting and open‐source development domain. The experiment results illustrate that our proposed approach can generate meaningful software modular structures with high modularity. Copyright © 2011 John Wiley & Sons, Ltd.

[1]  Richard C. Holt,et al.  On the stability of software clustering algorithms , 2000, Proceedings IWPC 2000. 8th International Workshop on Program Comprehension.

[2]  Vincenzo Ambriola,et al.  Transformations for Architectural Restructuring , 2004 .

[3]  Ali Arsanjani,et al.  Service-oriented modeling and architecture , 2004 .

[4]  Chung-Horng Lung,et al.  Software Architecture Decomposition Using Attributes , 2007, Int. J. Softw. Eng. Knowl. Eng..

[5]  Anthony I. Wasserman Toward a Discipline of Software Engineering , 1996, IEEE Softw..

[6]  Bashar Nuseibeh,et al.  Weaving Together Requirements and Architectures , 2001, Computer.

[7]  Robert W. Schwanke,et al.  An intelligent tool for re-engineering software modularity , 1991, [1991 Proceedings] 13th International Conference on Software Engineering.

[8]  G GriswoldWilliam,et al.  The structure and value of modularity in software design , 2001 .

[9]  Jana Koehler,et al.  The Role of Visual Modeling and Model Transformations in Business-driven Development , 2008, GT-VMT@ETAPS.

[10]  Nicolas Anquetil,et al.  Experiments with clustering as a software remodularization method , 1999, Sixth Working Conference on Reverse Engineering (Cat. No.PR00303).

[11]  T. A. Wiggerts,et al.  Using clustering algorithms in legacy systems remodularization , 1997, Proceedings of the Fourth Working Conference on Reverse Engineering.

[12]  Adam A. Porter,et al.  Empirical studies of software engineering: a roadmap , 2000, ICSE '00.

[13]  Mary Shaw,et al.  An Introduction to Software Architecture , 1993, Advances in Software Engineering and Knowledge Engineering.

[14]  Stephen A. White,et al.  Business Process Modeling Notation (BPMN), Version 1.0 , 2004 .

[15]  Victor R. Basili,et al.  System Structure Analysis: Clustering with Data Bindings , 1985, IEEE Transactions on Software Engineering.

[16]  Haiyan Zhao,et al.  Feature-driven requirement dependency analysis and high-level software design , 2006, Requirements Engineering.

[17]  Vassilios Tzerpos,et al.  An effectiveness measure for software clustering algorithms , 2004, Proceedings. 12th IEEE International Workshop on Program Comprehension, 2004..

[18]  Paul Clements,et al.  Software Architecture in Practice: Addison-Wesley , 1998 .

[19]  Janne Merilinna,et al.  A Tool for Quality-Driven Architecture Model Transformation: Master's thesis , 2005 .

[20]  Philippe Krutchen,et al.  Architectural blueprints--the '4+1' view model of software architecture , 1995 .

[21]  Chung-Horng Lung,et al.  Applications of clustering techniques to software partitioning, recovery and restructuring , 2004, J. Syst. Softw..

[22]  Leonard J. Bass,et al.  Attribute-Based Architecture Styles , 1999, WICSA.

[23]  Ryan K. L. Ko,et al.  A computer scientist's introductory guide to business process management (BPM) , 2009, ACM Crossroads.

[24]  Ying Zou,et al.  Assessing the efficacy of user and developer activities in facilitating the development of OSS projects , 2009 .

[25]  Robert L. Glass,et al.  Measuring software design quality , 1990 .

[26]  Brian S. Mitchell,et al.  A heuristic approach to solving the software clustering problem , 2003, International Conference on Software Maintenance, 2003. ICSM 2003. Proceedings..

[27]  William G. Griswold,et al.  The structure and value of modularity in software design , 2001, ESEC/FSE-9.

[28]  Richard C. Holt,et al.  ACCD: an algorithm for comprehension-driven clustering , 2000, Proceedings Seventh Working Conference on Reverse Engineering.

[29]  Michael A. Jackson,et al.  Software requirements and specifications - a lexicon of practice, principles and prejudices , 1995 .

[30]  Linda M. Northrop,et al.  Design Evolution: Implications for Academia and Industry , 1991, CSEE.

[31]  Walter P. Bond,et al.  Toward software requirements modularization using hierarchical clustering techniques , 2005, ACM Southeast Regional Conference.

[32]  Chung-Horng Lung,et al.  Software architecture recovery and restructuring through clustering techniques , 1998, ISAW '98.

[33]  Peter Sommerlad,et al.  Pattern-Oriented Software Architecture , 1996 .

[34]  Ying Zou,et al.  Recovering business processes from business applications , 2009, J. Softw. Maintenance Res. Pract..

[35]  Onaiza Maqbool,et al.  The weighted combined algorithm: a linkage algorithm for software clustering , 2004, Eighth European Conference on Software Maintenance and Reengineering, 2004. CSMR 2004. Proceedings..

[36]  Emden R. Gansner,et al.  Using automatic clustering to produce high-level system organizations of source code , 1998, Proceedings. 6th International Workshop on Program Comprehension. IWPC'98 (Cat. No.98TB100242).

[37]  John A. Zachman,et al.  A Framework for Information Systems Architecture , 1987, IBM Syst. J..

[38]  Emden R. Gansner,et al.  Bunch: a clustering tool for the recovery and maintenance of software system structures , 1999, Proceedings IEEE International Conference on Software Maintenance - 1999 (ICSM'99). 'Software Maintenance for Business Change' (Cat. No.99CB36360).

[39]  IEEE-SA Standards Board , 2000 .

[40]  Nenad Medvidovic,et al.  Reconciling software requirements and architectures with intermediate models , 2004, Software & Systems Modeling.

[41]  Paul Clements,et al.  Software architecture in practice , 1999, SEI series in software engineering.

[42]  Robert L. Nord,et al.  Generalizing a Model of Software Architecture Design from Five Industrial Approaches , 2005, 5th Working IEEE/IFIP Conference on Software Architecture (WICSA'05).

[43]  Antony Tang,et al.  A comparative analysis of architecture frameworks , 2004, 11th Asia-Pacific Software Engineering Conference.

[44]  Robert O. Briggs,et al.  EasyWinWin: managing complexity in requirements negotiation with GSS , 2002, Proceedings of the 35th Annual Hawaii International Conference on System Sciences.

[45]  Frank Leymann,et al.  Architectural Decision Models as Micro-Methodology for Service-Oriented Analysis and Design , 2007 .

[46]  Onaiza Maqbool,et al.  Hierarchical Clustering for Software Architecture Recovery , 2007, IEEE Transactions on Software Engineering.

[47]  藤崎 繁,et al.  TOGAF Version 9.1 : the Open Group Architecture Framework (TOGAF) : 日本語訳版 , 2012 .

[48]  Arie van Deursen,et al.  Identifying objects using cluster and concept analysis , 1999, Proceedings of the 1999 International Conference on Software Engineering (IEEE Cat. No.99CB37002).

[49]  Doug McDavid The Business-IT Gap : A Key Challenge , 2003 .

[50]  Ying Zou,et al.  Migration to object oriented platforms: a state transformation approach , 2002, International Conference on Software Maintenance, 2002. Proceedings..

[51]  Philippe Kruchten,et al.  Architecture blueprints—the “4+1” view model of software architecture , 1995, TRI-Ada '95.

[52]  Philippe Kruchten,et al.  The 4+1 View Model of Architecture , 1995, IEEE Softw..

[53]  Harpal S. Dhama Quantitative models of cohesion and coupling in software , 1995, J. Syst. Softw..