Strategy-based design of reusable business components

Grounded on principles of manufacturing design, component-based software development (CBSD) has been viewed as the future trend in software development. In this paper, we propose a methodology for component fabrication and argue that, as in classical product development, business strategy of component development companies must guide the design of reusable business components. Accordingly, we link business strategy with component design through managerial goals (identified as cost effectiveness, ease of assembly, customization, reusability, and maintainability). These managerial goals are then mapped to technical features (identified as coupling, cohesion, number of components, component size, and complexity). We develop a formal model, called Business Strategy-based Component Design that uses the object-oriented model of a business to derive the component structure by grouping appropriate object classes to achieve the desired business strategy. We examine the validity of the model by a two-phase application process.

[1]  Norman B. Reilly Successful Systems Engineering for Engineers and Managers , 1993 .

[2]  Deborah Leishman,et al.  Solution Customization , 1999, IBM Syst. J..

[3]  Edward Yourdon,et al.  Object-oriented design , 1991, Yourdon Press Computing Series.

[4]  Chris F. Kemerer,et al.  A Metrics Suite for Object Oriented Design , 2015, IEEE Trans. Software Eng..

[5]  Alan W. Brown Large Scale Component Based Development , 2000 .

[6]  Grier C. I. Lin,et al.  A Design-for-assembly-based Product Redesign Approach , 1998 .

[7]  하수철,et al.  [서평]「Component Software」 - Beyond Object-Oriented Programming - , 2000 .

[8]  Christine L. Braun,et al.  A lifecycle process for the effective reuse of commercial off-the-shelf (COTS) software , 1999, SSR '99.

[9]  Clemens A. Szyperski,et al.  Why objects are not enough , 1998 .

[10]  Ivar Jacobson,et al.  Object-oriented software engineering - a use case driven approach , 1993, TOOLS.

[11]  Sadahiro Isoda,et al.  Success factors of systematic reuse , 1994, IEEE Software.

[12]  Nickolas Makrygiannis,et al.  Toward mass-customized information systems , 1998 .

[13]  Mark Lorenz Object-Oriented Software Metrics , 1994 .

[14]  Ali Mili,et al.  Reusing Software: Issues and Research Directions , 1995, IEEE Trans. Software Eng..

[15]  Peter Eeles,et al.  Building Business Objects , 1998 .

[16]  Brian Henderson-Sellers,et al.  Object-Oriented Metrics , 1995, TOOLS.

[17]  Fatemeh Zahedi,et al.  Knowledge-Based Repository Scheme for Storing and Retrieving Business Components: A Theoretical Design and an Empirical Analysis , 2003, IEEE Trans. Software Eng..

[18]  Dave K. Kythe The promise of distributed business components , 1996, AT&T Tech. J..

[19]  Hau L. Lee,et al.  Mass Customization at Hewlett-Packard : The Power of Postponement , 1999 .

[20]  Stephen R. Rosenthal Effective Product Design and Development: How to Cut Lead Time and Increase Customer Satisfaction , 1992 .

[21]  Alan W. Brown,et al.  The Current State , 2016 .

[22]  Paul Allen,et al.  Component-Based Development for Enterprise Systems: Applying the SELECT Perspective , 1997 .

[23]  Jon Hopkins,et al.  Component primer , 2000, CACM.

[24]  S.A. Hissam,et al.  Building systems from commercial components , 2002, Proceedings of the 24th International Conference on Software Engineering. ICSE 2002.

[25]  Jan Chal,et al.  Design for Assembly: Principles and Practice , 1994 .

[26]  Crispin Hales,et al.  Engineering design: a systematic approach , 1989 .

[27]  Stefan Sigfried Understanding object-oriented software engineering , 1996, Understanding science and technology series.

[28]  David P. Tegarden,et al.  A software complexity model of object-oriented systems , 1995, Decis. Support Syst..

[29]  Oliver Sims,et al.  Business Component Factory : A Comprehensive Overview of Component-Based Development for the Enterprise , 1999 .

[30]  Victor R. Basili,et al.  Software Quality: An Overview from the Perspective of Total Quality Management , 1994, IBM Syst. J..

[31]  Wojtek Kozaczynski,et al.  Architecture framework for business components , 1998, Proceedings. Fifth International Conference on Software Reuse (Cat. No.98TB100203).

[32]  Samuel Webb Williams,et al.  The Component Object Model: A Technical Overview , 1994 .

[33]  Robert L. Glass,et al.  Client/Server Software Maintenance , 1997 .

[34]  Tony Williams,et al.  Reusable components for evolving systems , 1998, Proceedings. Fifth International Conference on Software Reuse (Cat. No.98TB100203).

[35]  Fatemeh Zahedi,et al.  Design, retrieval, and assembly in component-based software development , 2003, CACM.

[36]  Ritu Agarwal,et al.  Cognitive Fit in Requirements Modeling: A Study of Object and Process Methodologies , 1996, J. Manag. Inf. Syst..

[37]  Jr. Robert H. High Component model for managed objects in large-scale distributed systems , 1998 .

[38]  Elaine J. Weyuker,et al.  Testing Component-Based Software: A Cautionary Tale , 1998, IEEE Softw..

[39]  Karl T. Ulrich,et al.  Product Design and Development , 1995 .

[40]  Edward Yourdon Object-Oriented Systems Design: An Integrated Approach , 1993 .

[41]  Sandeep Purao,et al.  Effective distribution of object-oriented applications , 1998, CACM.

[42]  Ali Arsanjani,et al.  A goal-driven approach to enterprise component identification and specification , 2002, CACM.

[43]  Lionel C. Briand,et al.  A Unified Framework for Coupling Measurement in Object-Oriented Systems , 1999, IEEE Trans. Software Eng..

[44]  Scott W. Ambler Building object applications that work , 1997 .

[45]  Michael Sparling,et al.  Lessons learned through six years of component-based development , 2000, CACM.

[46]  Edward B. Magrab,et al.  Integrated product and process design and development : the product realization process , 2009 .

[47]  David P. Darcy,et al.  Managerial Use of Metrics for Object-Oriented Software: An Exploratory Analysis , 1998, IEEE Trans. Software Eng..

[48]  Ivar Jacobson,et al.  The unified modeling language reference manual , 2010 .

[49]  Luiz Fernando Capretz,et al.  Object-Oriented Software: Design and Maintenance , 1996, Series on Software Engineering and Knowledge Engineering.

[50]  Wojtek Kozaczynski,et al.  Component-Based Software Engineering , 1998, IEEE Software.

[51]  John Dodd Developing information systems from components: the role of CASE , 1994 .

[52]  Michael R. Blaha,et al.  Object-Oriented Modeling and Design for Database Applications , 1997 .