Japanese | English
In our research, JavaBeans is the targeted component system. A JavaBeans component is composed of one or more Java classes, and, opens one Facade class to the public based on Facade design pattern. The important factors of JavaBeans are attributes, readable/writable properties, read/write methods and business method. Information about these factors are available without source codes of target components.
Attributes are member fields of the componentfs Facade class. Readable properties are attributes whose value can be observed from the outside of components using read methods. Writable properties are attributes whose value can be updated from the outside of components using write methods. Business methods are executable operations from the outside of components.
For example, the right figure shows a UML class diagram of one JavaBeans component. This component has three methods as its interface. Using the naming conventions, the attribute (gfooh) can be recognized as the readable and writable property because there are a read method (ggetFooh) and a write method (gsetFooh). This component also has one business method (gdosomeh). And, by preparing BeanInfo classes that present meta-information of components, component developers can specify the read/write methods and properties without the naming conventions.
If the reliability of an individual component were low, the entire systemfs reliability would become also low. Therefore, when we develop software systems according to CBD, it is important to measure the quality of components that we want to reuse.
We propose five metrics for JavaBeans black-box components using available information from the outside of components. Our metrics are defined according to a reusability model for the component.
We calculated effective intervals of our four metrics. If the value of our metric, for example, RCO, is in the effective interval, understandability, testability and usability are assumed to be high.
At a website JARS.COM, all submitted JavaBeans components are ranked in eight levels based on judged overall quality of components by a rating committee. The evaluation value for the component C is described as J(C).
We assumed that reusability of components which satisfy J(C) is equal or greater than 0.875 are high. And we calculated effective intervals using 125 JavaBeans components provided at JARS.COM, including such high reusable components, based on a statistical analysis.
As a result of the statistical analysis, we found that:
Component-based software development is based on building software systems from reusable components. It is important to measure components' quality in order to ensure the entire system's quality. In this paper, we propose metrics for Black-Box components using limited information that can be obtained from the outside of components without source codes. Our metrics can measure the component's reusability that is composed of understandability, testability, usability and portability.
Copyright(c) 2002, CBSE Group, Fukazawa Laboratory
Componeng-Based Software Engineering Group