3.8 Proceedings Paper

Defining and Validating a Client-Based Cohesion Metric for Object-Oriented Classes

向作者/读者索取更多资源

Cohesion of a software module broadly refers to the relatedness of the elements of the module. A highly cohesive module has elements that all contribute to a single common purpose. Such modules are believed to be more understandable and maintainable. Most existing object-oriented class cohesion metrics measure the cohesion of a class based on internal connections between the methods of the class where two methods are internally connected if they both reference common attributes in the class. In this paper, we propose a client-based class cohesion metric which we name CCC and which measures the cohesion of a class based on how its public methods are used by its clients. The required information for CCC to calculate the cohesion of a class can be extracted during the high-level design phase from class and communication diagrams defined by the Unified Modeling Language (UML). We validate the proposed metric theoretically, and we empirically demonstrate its usefulness. Theoretically, we analyze the compliance of CCC with the cohesion metric properties. Empirically, we investigate the relations between fourteen class cohesion metrics, including CCC, to determine if CCC captures an aspect of cohesion that is not addressed by the other class cohesion metrics. Moreover, we analyze the extent to which the fourteen class cohesion metrics, including CCC, can individually and in combination predict class testability in terms of testing effort. Our results show that CCC captures an aspect of class cohesion that has not been addressed by the other metrics and that CCC is a predictor for class testability in terms of testing effort.

作者

我是这篇论文的作者
点击您的名字以认领此论文并将其添加到您的个人资料中。

评论

主要评分

3.8
评分不足

次要评分

新颖性
-
重要性
-
科学严谨性
-
评价这篇论文

推荐

暂无数据
暂无数据