Optimal component selection based on cohesion & coupling for component based software system under build-or-buy scheme

Abstract Component based software system approach is concerned with the system development by integrating components. The component based software construction primarily focuses on the view that software systems can be built up in modular fashion. The modular design is a logical collection of several independent developed components that are assembled with well defined software architecture. These components can be developed in-house or can be obtained commercially from outside market making build versus buy decision an important consideration in development process. Cohesion and coupling (C&C) plays a major role in determining the system quality in terms of reliability, maintainability and availability. Cohesion is defined as the internal interaction of components within the module. On the other hand, coupling is the external interaction of the module with other modules i.e. interaction of components amongst the modules of the software system. High cohesion and low coupling is one of the important criteria for good software design. Intra-modular coupling density (ICD) is a measure that describes the relationship between cohesion and coupling of modules in a modular software system and its value lies between zero and one. This paper deals with the selection of right mix of components for a modular software system using build-or-buy strategy. In this paper, fuzzy bi-criteria optimization model is formulated for component selection under build-or-buy scheme. The model simultaneously maximizes intra-modular coupling density (ICD) and functionality within the limitation of budget, reliability and delivery time. The model is further extended by incorporating the issue of compatibility amongst the components of the modules. A case study is devised to explain the formulated model.

[1]  Li-Ning Xing,et al.  Fuzzy Optimization Models for Quality and Cost of Software Systems Based on COTS , 2006 .

[2]  Carlo Ghezzi,et al.  Fundamentals of Software Engineering , 2011, Lecture Notes in Computer Science.

[3]  Oded Berman,et al.  Optimization Models for Reliability of Modular Software Systems , 1993, IEEE Trans. Software Eng..

[4]  Saeed Parsa,et al.  A Framework to Investigate and Evaluate Genetic Clustering Algorithms for Automatic Modularization of Software Systems , 2004, International Conference on Computational Science.

[5]  D.-H. Chi,et al.  Software reliability and redundancy optimization , 1989, Proceedings., Annual Reliability and Maintainability Symposium.

[6]  Vittorio Cortellessa,et al.  An optimization framework for "build-or-buy" decisions in software architecture , 2008, Comput. Oper. Res..

[7]  Byoungju Choi,et al.  Optimization models for quality and cost of modular software systems , 1999, Eur. J. Oper. Res..

[8]  R. N. Rattihalli,et al.  A multicriteria Optimization Model for Quality of Modular Software Systems , 2007, Asia Pac. J. Oper. Res..

[9]  Jiafu Tang,et al.  Optimization of software components selection for component-based software system development , 2010, Comput. Ind. Eng..

[10]  Jiafu Tang,et al.  An optimization model for software component selection under multiple applications development , 2011, Eur. J. Oper. Res..

[11]  P. C. Jha,et al.  Optimal Reliability Allocation Problem for a Modular Software System , 2003 .

[12]  Oded Berman,et al.  Optimization models for recovery block schemes , 1999, Eur. J. Oper. Res..

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

[14]  Jiafu Tang,et al.  A model and its algorithm for software reuse optimization problem with simultaneous reliability and cost consideration , 2011 .

[15]  Fevzi Belli,et al.  An Approach to the Reliability Optimization of Software with Redundancy , 1991, IEEE Trans. Software Eng..

[16]  Thomas Neubauer,et al.  Interactive Decision Support for Multiobjective COTS Selection , 2007, 2007 40th Annual Hawaii International Conference on System Sciences (HICSS'07).

[17]  Glenford J. Myers,et al.  Structured Design , 1999, IBM Syst. J..

[18]  Deepak Kumar,et al.  Optimal Component Selection Problem for Cots Based Software System under Consensus Recovery Block Scheme: A Goal Programming Approach , 2012 .

[19]  Lorenzo Strigini,et al.  On the Use of Testability Measures for Dependability Assessment , 1996, IEEE Trans. Software Eng..

[20]  Pankaj Gupta,et al.  Fuzzy COTS Selection for Modular Software Systems Based on Cohesion and Coupling under Multiple Applications Environment , 2012, Int. J. Appl. Evol. Comput..

[21]  Paula Kotzé,et al.  Assessment of Coupling and Cohesion for Component-Based Software by using Shannon Languages , 2004, Trans. SDPS.

[22]  U. Dinesh Kumar Reliability Analysis of Fault Tolerant Recovery Blocks , 1998 .

[23]  P. C. Jha,et al.  OPTIMAL COMPONENT SELECTION OF COTS BASED SOFTWARE SYSTEM UNDER CONSENSUS RECOVERY BLOCK SCHEME INCORPORATING EXECUTION TIME , 2010 .

[24]  Pankaj Gupta,et al.  COTS selection using fuzzy interactive approach , 2012, Optim. Lett..

[25]  Jiafu Tang,et al.  Integrated model for software component selection with simultaneous consideration of implementation and verification , 2012, Comput. Oper. Res..

[26]  Richard Bellman,et al.  Decision-making in fuzzy environment , 2012 .

[27]  Miguel Goulão,et al.  Coupling and Cohesion as Modularization Drivers: Are We Being Over-Persuaded? , 2001, CSMR.