The major drivers for complex applications are cost, efficiency, development time, understandability, usability and more importantly the maintainability. Due to their black box nature, complexity of software components is more crucial for component-based systems. This paper discusses various complexity concerns for these systems and reviews a number of complexity metrics for software components and component-based systems. As interfaces are the only source of information to know about the black-box components, this paper proposes a new interface complexity metric for these components. This metric is based on the information available in the interfaces like interface methods and properties. It also discusses the methodology to assign the weight values to these methods and properties to finally evaluate the complexity of the component. This paper validates the proposed metric against standard Weyukar's properties and empirically evaluates the metric for several Java Bean components. Finally a correlation analysis between proposed metrics and several other metrics like performance, customizability and readability is done to validate the metric.
[1]
Sallie M. Henry,et al.
Object-oriented metrics that predict maintainability
,
1993,
J. Syst. Softw..
[2]
Rengaramanujam Srinivasan,et al.
A retrospective on software component quality models
,
2008,
SOEN.
[3]
P. S. Grover,et al.
Few useful considerations for maintaining software components and component-based systems
,
2007,
SOEN.
[4]
Pearl Brereton,et al.
Component-Based Systems: A Classification of Issues
,
2000,
Computer.
[5]
Nasib S. Gill,et al.
Software size prediction before coding
,
2004,
SOEN.
[6]
Anas N. Al-Rabadi,et al.
A comparison of modified reconstructability analysis and Ashenhurst‐Curtis decomposition of Boolean functions
,
2004
.