A Soft Computing Based Approach to Estimate Reusability of Software Components Shrddha Sagar Centre for Development Advanced Computing, Noida, India. sagarshraddha@gmail.com N.W. Nerurkar Centre for Development Advanced Computing, Noida, India. nerurkar@cdacnoida.in Arun Sharma Galgotias College of Engineering & Technology, UP Technical University, Greater Noida, India. arunsharma2303@gmail.com Abstract Component-based development (CBD) is the process of assembling existing software components in an application such that they satisfy a predefined functionality. Reduced development time, effort and cost are few merits of CBD. As components are black-box, therefore the use of conven- tional metrics in CBD is difficult, because these metrics needs analysis of source codes. To assess the reuse of component, it is important to estimate reusability of these components. Present paper discusses reusability in relation to CBD and proposes a reusability metrics for black box components. It identifies the factors affecting reusability of the components and establishes relationship in between these factors and reusability. Fuzzy logic based approach is used to estimate reusability and results found on real time applications are quite satisfactory. The proposed approach can be used by the application developers to select highly reusable components in the systems which will eventually help in maintaining the system in a better way. Keywords: Component-Based Development, Software Reusability, and Fuzzy Logic. 1. Introduction Many information-based legacy systems contain similar or even identical things, which are developed from scratch again and again. From the scratch, development is more expensive and can take a long time to complete. Critical applications with strict time limits may lose the market due to the delay in the development process. This has led to the evolution of a new approach, called component-based de- velopment, which uses the concept of reusability in the ap- plication development. The past review has shown that object-oriented technology was not alone competent enough to meet the changing requirements of today’s appl i- cation, as present applications are not integrated, complex and large. Though these applications are packaged with wide range of features but many of the features can neither be removed nor replaced or used in different applications. In particular, object-oriented methods do not typically lead to designs that make a clear separation between computa- tional and compositional aspects [1]. Component-Based Software Engineering (CBSE) embodies the “the buy, don’t build’ philosophy [2]. CBSE shifts the emphasis from pro- gramming to composing software systems. CBD has become widely accepted as cost-effective ap- proach to software development, as it emphasizes the de- sign and construction of software systems using reusable components [3]. CBD is both an extension and subset of software engineering. By using this approach, reusable software components can be integrated and adapted to de- velop and deploy complex software system with less effort and cost. Benefits of CBD are in-time, low cost and high quality solutions. Present paper proposes a fuzzy logic based approach to estimate the reusability of software components. This metric can be used by the application developer to identify components having similar functionality but with better reusability. It will also help in better maintai- nability of the application. Paper is divided into 6 sections. Section 2 discusses the basic concepts of reusability and surveys reusability metrics for legacy and component based systems. Proposed ap- proach for estimating reusability is discussed in Sections 3. Fuzzy Logic and its implementation to measure reusability are discussed in Section 4 and 5. Section 6 explains the major findings of the work and conclusions are given in Sec- tion 7 of the paper. 2. Reusability and Reusability Metrics There are a number of metrics [5, 6, 7] available for mea- suring the reusability for Object-Oriented systems and some of these OO metrics can be used in CBD. As complexity is ACM SIGSOFT Software Engineering Notes Page 1 July 2010 Volume 35 Number 4 DOI: 10.1145/1811226.1811235 http://doi.acm.org/10.1145/1811226.1811235