An overview of metrics-based approaches to support software components reusability assessment <s> Motivation <s> From the Publisher: ::: Component Software: Beyond Object-Oriented Programming explains the technical foundations of this evolving technology and its importance in the software market place. It provides in-depth discussion of both the technical and the business issues to be considered, then moves on to suggest approaches for implementing component-oriented software production and the organizational requirements for success. The author draws on his own experience to offer tried-and-tested solutions to common problems and novel approaches to potential pitfalls. Anyone responsible for developing software strategy, evaluating new technologies, buying or building software will find Clemens Szyperski's objective and market-aware perspective of this new area invaluable. <s> BIB001 </s> An overview of metrics-based approaches to support software components reusability assessment <s> Motivation <s> The success of software component applications dependsupon a number of factors, one of the most important being the quality of components. According to the ISO/IEC 9126 standard, quality characteristics can be used both as goals to be attained in the processes of developing, selecting or acquiring components and as criteria for predicting the properties of final applications. This chapter identifies the quality characteristics and sub-characteristics most relevant for software components and organizes them in dimensions that are critical to their assessment. A quality guide is presented, which was elaborated through a field research carried out with developers of components and component-based applications. A software quality evaluation model was used to treat collected data. <s> BIB002
Component-based development (CBD) is playing an increasing role in the software industry   . There is an economic push to such growth: the claim is that CBD allows the reduction of cost and time to market, while increasing software quality, through reuse BIB001 . The rationale is that cost savings can be obtained through economy of scale, while improved quality results from the reuse of such components in different environments and applications. Recently, a component broker conducted a case study with the cooperation of component producers  . Its goal was to estimate the return on investment of commercial-of-the-shelf components (COTS). The referred case study reports that the costs of acquiring such components are about 1/50 of the ones for developing their required functionalities from scratch. The Software Engineering Institute (SEI) defines a component as "an opaque implementation of functionality subject to third party composition and conformant to a component model" [5] . With an increasing percentage of component-based architectures relying on black-box software components, the quality of such architectures depends, to a large extent, on the quality of those components and on the interactions among them BIB002 . Therefore, components evaluation should be integrated in CBD  . One of the key roles in CBD is that of the component assembler. A component assembler starts with application requirements, searches component repositories for selecting appropriate components, and assembles them by providing the required glue BIB001 . His focus of attention is on component composition rather than on component construction. From a component assembler perspective, being able to assess the complexity of candidate alternative component assemblies is crucial. This task is difficult, as he has to consider the integration of components that may be acquired from different providers, each offering a different documentation detail level for every component. Deciding whether to reuse components or to develop the corresponding functionality from scratch is also part of the tasks performed by the component assembler. In this context, it would be helpful for a component assembler to have an objective, integrated, independent view of existing techniques that may assist him in this task. Objectivity can be obtained by performing a quantitative comparison among alternatives, rather than just a qualitative one. The integration of such comparative studies can be facilitated by using a common evaluation framework. Independency can only be achieved by integrating assessments from different independent sources. In contrast, it is common for component assemblers to be forced to base decisions on their personal experience and the qualitative judgement of "experts". Component assemblers are therefore potentially vulnerable to biased information sources and hype.