A Business Process Driven Approach for Generating Software Architecture

Business processes describe business operations of an organization and capture business requirements. Business applications provide automated support for an organization to achieve business objectives. Software architecture represents the gross structure of a business application and shows the distribution of business requirements among software components. However, mainstream design approaches rely on software architects’ craftsmanship to derive software architectures 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 architecture from business processes. We use clustering analysis to analyze dependencies among data and tasks captured in business processes and distribute functionalities to software components. A case study is conducted to generate software architecture from a collection of business processes specified in an industrial setting. The experiment results demonstrate that our proposed approach can generate meaningful software architecture with high modularity.

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

[2]  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).

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

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

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

[6]  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).

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

[8]  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.

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

[10]  IEEE-SA Standards Board , 2000 .

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

[12]  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).

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

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

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

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

[17]  Nicolas Anquetil,et al.  Recovering software architecture from the names of source files , 1999, J. Softw. Maintenance Res. Pract..

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

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

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

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

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

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

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

[25]  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..

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

[27]  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).

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

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

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

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

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

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

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

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

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

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