Abstract

Component-Based Software Engineering (CBSE) is an approach to building and developing software systems based on software components. In component-based software systems, there are various software components, including Commercial off the Shelf (COTS) and in-house components. Software developers can build their desired software component as in-house or COTS. The problem of deciding optimally between COTS and in-house components is one of the major challenges of software developers, which is known as the component selection problem. This can be resolved by evaluating the criteria for optimality in component selection and then solving the component selection problem by optimization techniques. In this paper, an attempt was made to optimize the component selection problem through the multi-objective optimization by maximizing the Fuzzy-Intra Coupling Density (Fuzzy-ICD) and functionality as objective functions, and also taking into account budget, delivery time, reliability, and Fuzzy-ICD as constraints of multi-objective problems. Fuzzy ICD is a more accurate criterion to calculate the relationship between Cohesion and Coupling of components, which is obtained through the fuzzy computing of each of them, based on the Meyers classification. Thus, after a two-criterion optimization model formulation, this optimization problem was solved by fuzzy multi objectives approach. Finally, the proposed method was evaluated by performing the case study of financial-accounting system. Comparison of the results showed that the proposed method could select optimal components with maximum functionality and Fuzzy-ICD and fewer rates of time and Budget (0.29, 0.43, 1.1 s, and 88$ were the improved rates of functionality, Fuzzy-ICD, time, and budget, respectively).

Highlights

  • With the progressive development of software in recent years, software development has become more complex; to overcome this complexity, a lot of cost and time is needed

  • The methods of selecting the optimal components in component-based software systems include the methods based on the Weighted scoring method, the methods based on Analytical Hierarchical Process (AHP), the methods based on artificial intelligence, and the methods based on optimization [14, 15]

  • Based on the principle of maximizing proposed by Bellman-zadeh and by using the fuzzy membership functions defined above in the proposed method, the fuzzy multi-objective optimization model will be along with the results presented as can be seen in Table 23, components SC17, SC5, SC4, SC7, SC14, SC15, SC19, SC20, SB3, SB5, and SB10 are the best components for selection with lambda = 0.7328

Read more

Summary

Introduction

With the progressive development of software in recent years, software development has become more complex; to overcome this complexity, a lot of cost and time is needed. 1. Considering the application of the fuzzy measurement of coupling and cohesion to the problem of component selection: the efficiency of component-based software system depends greatly on the system architecture; coupling and cohesion have a major role in software nonfunctional requirements and reducing software complexity. 2. Applying Fuzzy-ICD to one of the objective functions in multi-objective component selection optimization: accurate calculation of ICD as a criterion for calculating the relationship between coherence and connection of parts in the software plays a major role in developing a qualitative evaluation criterion in software. The formulated bi-objective optimization model for optimal software components selection in the build-or-buy strategy in CBSS will be solved by a fuzzy multi-objective approach. In section “The Result”, the proposed method is evaluated, and in seventh section, the conclusion of the article is stated

Related work
Optimization methods of software components selection
Calculation methods of coupling and cohesion
Conclusion
Method
Full Text
Published version (Free)

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call