Fuzzy COTS Selection for Modular Software Systems Based on Cohesion and Coupling under Multiple Applications Environment

Fuzzy COTS Selection for Modular Software Systems Based on Cohesion and Coupling under Multiple Applications Environment

Pankaj Gupta (Department of Operational Research, University of Delhi, Delhi, India), Shilpi Verma (Department of Operational Research, University of Delhi, Delhi, India) and Mukesh Kumar Mehlawat (Department of Decision Sciences, Apeejay School of Management, Dwarka, New Delhi, India)
Copyright: © 2012 |Pages: 18
DOI: 10.4018/jaec.2012100101
OnDemand PDF Download:


Due to the rapid growth of development of component based software systems, the selection of optimal commercial-off-the-shelf (COTS) components has become the key of optimization techniques used for the purpose. In this paper, the authors use fuzzy mathematical programming (FMP) for developing bi-objective fuzzy optimization models that aims to select the best-fit COTS components for a modular software system under multiple applications development task. The proposed models maximize the functional performance and minimize the total cost of the software system satisfying the constraints of minimum threshold on intra-modular coupling density and reusability of COTS components. The efficiency of the models is illustrated using a real-world scenario of developing two financial applications for two small-scale industries.
Article Preview


Modern software systems are becoming more and more large-scale, complex and uneasily controlled, resulting in high development cost, low productivity, unmanageable software quality and high risk to move to new technology. Consequently, there is a growing demand of searching for a new, efficient and cost-effective software development paradigm. One of the most promising solutions today is the component-based software development (CBSD) approach. This approach is based on the idea that software systems can be developed by selecting appropriate commercial-off-the-shelf (COTS) components and then assemble them to fit a specific architectural style for some application(s) domain. A COTS component can be developed by different developers using different languages and different platforms. In general, a COTS component has three main features: (i) a component is an independent and replaceable part of a system that fulfils a clear function; (ii) a component works in the context of a well-defined architecture; and (iii) a component communicates with other components of the software system through its interfaces (Brown & Wallnau, 1998). In CBSD, the main focus is how to choose the most appropriate and most suited component from COTS components’ market so that it can significantly reduce development cost and time-to-market, and improve maintainability, reliability and overall quality of software system. Several COTS selection methods (Chung, Cooper, & Courtney, 2004; Grau, Carvallo, Franch, & Quer, 2004; Kontonya & Hutchinson, 2004; Leung & Leung, 2002; Rolland, 1999) have been proposed in literature. However, it may be noted that there is no single method which is accepted as a standard COTS selection method. A detailed list of the COTS selection methods has been provided in Mohamed, Ruhe, and Eberlein (2007).

Alternatively, optimization techniques have been used in the COTS selection process to achieve the different attributes of quality along with the objective of minimizing the cost or keeping cost to a specified budgetary level. Berman and Ashrafi (1993) discussed optimization models for reliability of modular software systems. Chi, Lin, and Kuo (1989) presented a software reliability optimization model. Cortellessa, Marinelli, and Potena (2008) developed an optimization model that supports “build-or-buy” decisions in selecting software components based on cost-reliability trade-off. Jung and Choi (1999) introduced two optimization models for the COTS selection in the development of modular software systems considering cost-reliability trade-off. Neubauer and Stummer (2007) presented a two-phase decision support approach based on multiobjective optimization for the COTS selection. Tang, Mu, Kwong, and Luo (2011) presented an optimization model for software component selection under multiple applications development. Zachariah and Rattihalli (2007) used goal-programming approach in a multi-criteria optimization model for the COTS selection of modular software systems. Zahedi and Ashrafi (1991) discussed software reliability allocation using optimization approach based on structure, utility, price and cost.

Complete Article List

Search this Journal:
Open Access Articles: Forthcoming
Volume 8: 4 Issues (2017): 3 Released, 1 Forthcoming
Volume 7: 4 Issues (2016)
Volume 6: 4 Issues (2015)
Volume 5: 4 Issues (2014)
Volume 4: 4 Issues (2013)
Volume 3: 4 Issues (2012)
Volume 2: 4 Issues (2011)
Volume 1: 4 Issues (2010)
View Complete Journal Contents Listing