Importance of software component characterization for better software reusability. - Gill, Nasib S. (Software engineering notes.)
Component-based software development (CBSD) is the process of assembling existing software components in an application such that they interact to satisfy a predefined functionality. This approach can potentially be used to reduce software development costs, assemble systems rapidly, and reduce the maintenance overhead. One of the key challenges faced by software developers is to make component-based development (CBD) an efficient and effective approach. Since components are to be reused across various products and product-families, components must be characterized and tested properly. The present paper is a survey paper and firstly, it discusses CBD and related issues that help improving software reuse. Testing of third party components is a very difficult task in the absence a properly characterized software component. Besides improving software reusability, component characterization also provides better understanding of architecture, better retrieval, better usage and better cataloguing. This paper mainly discusses the essence of proper component characterization that ultimately helps the developers in software reuse, which is highly desirable in component-based software development. Further, paper also discusses other benefits of component characterization that are most essential in component-based development.