An overview of metrics-based approaches to support software components reusability assessment <s> The need for CBD-specific evaluation techniques <s> As Component-based Software Development (CBSD) starts to be effectively used, some software vendors have commenced to successfully sell and license commercial off-the-shelf (COTS) components. One of the most critical processes in CBSD is the selection of the COTS components that meet the user requirements. Current proposals have shown how to deal with the functional aspects of this evaluation process. However, there is a lack of appropriate quality models that allow an effective assessment of COTS components. Besides, the international standards that address the software products' quality issues (in particular, those from ISO and IEEE) have shown to be too general for dealing with the specific characteristics of software components. In this position paper we propose a quality model for CBSD based on ISO 9126, that defines a set of quality attributes and their associated metrics for the effective evaluation of COTS components. <s> BIB001 </s> An overview of metrics-based approaches to support software components reusability assessment <s> The need for CBD-specific evaluation techniques <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
Building upon SEI's definition of a component, we can contrast evaluation of CBD with that of object-oriented or structured development. The first major difference relates to the opaqueness of components. While several metrics-based approaches for evaluation of software complexity (e.g: McCabe metrics) rely on access to the source code, similar approaches for CBD should depend only on the information publicly available on black-box components. Indeed, the component's source code is often not available to component assemblers. Moreover, there is a problem of scope. The component assembler is not concerned with the internal complexity of a component, but rather with the complexity involved in reusing it. Internal code metrics for analysing the components are not useful, from his point of view. Instead, complexity analysis on the interface of a component, the contracts associated with it and the adaptability of the component to different contexts should be assessed. There is no widely accepted quality model for CBD, although the community has proposed extensions of the ISO9126 standard  to fit the needs of CBD BIB002 BIB001 . Such a model is required for quality evaluation, whether this evaluation is of a qualitative or quantitative nature. A typical example of qualitative evaluation is an expert's opinion on the component artefact. Qualitative evaluation is subjective, posing problems in results comparison and generalization. Besides, experts may not be available at all. The quantitative approach to evaluation provides a more pragmatic way of dealing with this problem. It consists on defining, collecting and analyzing objective quantitative metrics that can be used, when framed by a quality model, to replace (or complement) the expert's opinion in an automated fashion. The goal is to provide heuristicsbased help as guidance to practitioners in the component selection process.