# Fuzzy Logic-Based Approaches for Estimating Efforts Invested in Component Selection

4.1 Introduction

Every developed software company must play a significant role in Software Effort Estimation. Effort estimation is one of the most important and most analyzed tasks that a developer has to face. Component-Based Software Engineering (CBSE) is the new area in software development. The source of origin and features for these two component-based software and Commercial off the Shelf (COTS) software components are different, but on combining these components an effective software system may be developed. The concept of designing software related to components is significant nowadays, especially in the software industry. Based on this technique the combination of these components can help in attaining an effective application. The achievement of effective application relies on the selection of components. It is very necessary to evaluate the efforts invested for selecting these components. However, the market is working quickly in terms of utilization of these approaches, but a lower number may be achieved by means of the measurement of efforts invested in this emerging approach.

Software Estimation models can be classified into three groups:

Expert judgment: These methods are based upon the experts. Experts in this field may provide judgment easily without using any complicated methods. However, because it is a human-dependent method it will be difficult to repeat.

Comparison-based methods: These methods may be used as good alternative to expert-based methods. In these estimation methods first a similar project in history is identified, and then on the basis of that project, estimates may be derived. These methods may be considered as a systematic approach to expert methods.

Algorithmic models: These methods are known to be the most popular models. In these methods using statistical data, an analysis parametric equation for estimation is established, e.g., COCOMO, SLIM.

Fuzzy set theory provides a framework for addressing the uncertainty of many aspects of human cognition. Nowadays, fuzzy governance-based systems are applied to a wide variety of real-world problems from a variety of sectors and to many real- world applications, such as stability or multi-criteria decision domains. Although a system may be defined mathematically in general terms, engineers and researchers still prefer fuzzy logic system representation. The application of fuzzy logic is under investigation due to the inherent uncertainty of software estimation. Thus, to include qualitative and quantitative aspects of software selection projects, the project proposes a goal-oriented programming model for optimization of the selection process. Such studies are meaningful but do not rely directly on software assessment. The regression model is one of the options for software assessment and proposes a regression model for software estimation, enhanced by the application of a fragile fuzzy injection system.

Several methods are proposed for estimating efforts using fuzzy logic; these methods are based upon some factors or parameters. Some fuzzy logic-based proposed models for efforts estimation of CBSD are as follows:

Martin et al. (2005) describes an application comparing multiple regression. Based on ten programs, a subset consisting of 41 modules was designed and it was considered as data. From the experimental result it was found that the utilization of fuzzy logic mean magnitude of relative error (MMRE) achieves higher result when compared to using multiple regression of the MMRE. The value for (20) was found to be higher only after using fuzzy logic. The higher value of (20) was not achieved using multiple regression. Additionally, for about six of the 41 MREs subset the value of zero was obtained on using fuzzy logic. (On using multiple analogous models the same sort of case cannot be illustrated).

The analysis is carried out in this chapter for a single level by means of small programs. Then the results were calculated utilizing simple multiple regression and a fuzzy logic system. From the experimental result it was found that for designing software fuzzy logic can be used as a substituent. The research was carried out to evaluate the software expansion efforts on the rest of the other modules on which fuzzy logic systems can be executed. A high rate of coefficient (r2) is given for the data subset. Much research was carried out for combining multiple regression and fuzzy logic through which the lower rate of coefficient r2 can be achieved. Additionally, to obtain a hybrid system the research must be focused for correlating artificial neural networks along with fuzzy logic.

Carrasco et al. (2012) describes that estimation of effort in software design is found to be significant. So, for improving the accuracy in this estimation the framework, namely the SEffEst (Software Effort Estimation) framework, was developed in this present work. In this framework the combination of a neural network and fuzzy logic is used. The training phase in this framework is carried out through

ISBSG data and the best result is achieved with a higher rate of prediction accuracy. The authors tested the same framework using ANN, but without the fuzzy in these regression problems it is necessary to estimate the value from a set of input variables. Previous research work showed that the hit rate performed by 24 authors was 0.8525. This implies that SEffEst improves the hit rate by 6.15%. The reason for this improvement is the SEffEst fuzzy logic component, which allowed for the inclusion of some test cases in which some information was vaguely determined. Respectfully, although the domain is not comparable (software predictions vs. ballistic effects), it can be seen that the SEffEst hit rate is similar to the two scenarios proposed. First, all hit rates can be considered too high, commenting on the good results SEffEst has achieved. Finally, although the research functions are different, they depend on the development of the optimization method and its implementation in the concrete framework. Therefore, it can be assumed that the optimization method can be applied to different domains that achieve excellent results. It can also be concluded that the inclusion of new' elements in the methodology (such as fuzzy logic components in SEffEst) allowed for improved results. Research results indicated that the ANN structure was obtained for accurate fuzzy logic - effort estimation. Through utilizing SEffEst the mean correlation that w'as achieved w'as 0.9140. This implies that compared to previous work nearly 6.15% improvement was achieved. For the case of estimation of software designing effort the value that was obtained was found to be satisfactory. This estimation of effort mainly depends upon a greater number of variables. Future research will focus on the application of SEffEst in project phases where more variables are known. To play with more relevant and accurate information about the project, provides a better perspective.

Xu and Khoshgoftaar (2004) proposed a technique based on the fuzzy model. The language data can be performed by means of a technique called Innovative Fuzzy Recognition Cost Estimation Modeling. Through this approach the membership rules and function can be developed spontaneously. Comparison analysis is made by the proposed method with another three models related to COCOMO such as extended, intermediate, and basic by means of utilizing the COCOMO 81 database. From the comparison analysis it was found that better a cost was achieved by means of the fuzzy method in contrast with to other three methods. The finding of effort estimates and software costs is mostly done through the COCOMO cost estimate model. In this model the dataset is created from many software developments. The estimation of effort and cost w'ill be carried out with the help of this dataset. In cases of software development, the size and difficulty increases, due to which the desired accuracy is not possible to achieve in estimation. The software development that is used as fuzzy recognition software to perform the cost assessment technique w'ill contain some unclear information. The developed fuzzy-related technology for the purpose of prediction is the combination of several techniques such as diffusion, fuzzy effects, space projection, and fuzzy clustering. The model developed based on fuzzy is found to be quite simple and related to the fuzzy group number, the set of infection rules will be provided as similar. The preprocessing technique which is carried out related to data-driven w'ill lead to a decrease in the size of the database.

The input data will be provided by means of fuzzy in this present work for obtaining the membership function and rules. The comparison analysis is carried out for the cost estimation of the proposed method and the other three models such as detailed, intermediate, and basic COCOMO models. From the experimental result it was proved that a better accuracy rate is obtained by utilizing a fuzzy model in comparison to the Kokomo model. Other issues, like the size of the project, can be overcome by means of fuzzy model in the upcoming research. The proposed fuzzy model can be analyzed through several case studies.

Prakash, Mittal, and Mittal (2010) implemented fuzzy logic for SCE (Software Cost Estimation ). Authors described cost estimation models as one of the hot topics for the software development industry. Fourteen projects are used in this research (which includes KEMERER). The results show that the mean absolute error percentage of relative error and productivity rate improved compared to algorithmic methods. The number of application lines and application thousand-lines have a direct impact on software cost estimation.

Lalit Patil et al. (2014) proposed a technique related to quantitative measurement will be compared for effectively achieving accuracy in effort estimation within software development. This is the main purpose of this chapter. Naturally, for estimating the size more accurately in Component Point Component the method called Black Box is well suited. Secondly the comparison of the proposed model based on fuzzy logic is used with the COCOMO II model for finding the input, as well as to find newer cost driver estimation methods, in order to achieve accuracy in estimation of effort.

The analysis must be carried out for newer cost driver estimation in future in order to achieve effective outcomes. This analysis will be carried out by software companies only after obtaining many components related to software.

Some important parameters proposed for software estimation efforts are described in Table 4.1.

In this chapter a model proposed by Seth et al. (2009) that integrates five factors, namely Reusability, Portability, Functionality, Security, and Performance, and provides a measure of Component Selection efforts, is explained.