A critique of cohesion measures in the object-oriented parad(2)
Cohesion refers to the "relatedness " of a module's components. In the object-oriented paradigm, cohesion refers to the "relatedness " among the methods of a class. Most of the current measures of cohesion in the object-oriented paradig
measures we propose for measuring data cohesion in the object-oriented paradigm. Contrary to our hypothesis that data abstractions and data interactions go hand in hand, we see that the measures always give low values. Typically, methods used only a small subset of the slice data tokens. This caused us to step back and reconsider our assumption about cohesion in the object-oriented paradigm. The result is this thesis. We examine the existing measures in the object-oriented paradigm claimed to be cohesion measures to determine if they were proper numerical characterization of cohesion. As a preliminary step towards validation of these measures, we present a list of properties that any cohesion measure should satisfy. The existing measures are then compared with the properties to see if they satisfy the properties. Although most of the measures satis ed the list of properties, there were other inconsistencies between the measures and our understanding of cohesion. The measures were not proper numer
ical characterization of cohesion. Hence, we conclude that the measures are not appropriate for measuring cohesion in the object-oriented paradigm. Chapter 2 introduces some of the basic concepts of the object-oriented paradigm, and provides a discussion of some existing metrics for measuring various attributes of objectoriented software. An introduction to the concept of cohesion and cohesion in the objectoriented paradigm is also given. Chapter 3 is a discussion of some existing measures claimed to be cohesion measures in the object-oriented paradigm. A list of properties of cohesion that any cohesion measure must satisfy is presented in Chapter 4. This is followed by a comparison of the measures discussed in Chapter 3 with the list of properties to determine if the measures satisfy the properties. In addition, inconsistencies between the measures and our understanding of cohesion are also discussed. We then look at an example class with no data interactions to see what the measures indicate about the cohesion of such a class. Along with our earlier ndings, this raises questions about the concept of cohesion in the object-oriented paradigm. We hypothesize that in addition to data cohesion another form of cohesion exists which is based in the application domain and hence we refer to it as application-based cohesion. Chapter 5 is a summary of the research work and also suggests future directions for research.
2
Cohesion refers to the "relatedness " of a module's components. In the object-oriented paradigm, cohesion refers to the "relatedness " among the methods of a class. Most of the current measures of cohesion in the object-oriented paradig
Chapter 2
Background2.1 The Object-Oriented ParadigmIn order to be able to de ne metrics to measure the attributes of a paradigm, it is of foremost importance to rst understand the paradigm. Details of the object-oriented paradigm can be found in most C++ books such as 23, 27]. This section is a brief introduction to some of the concepts of the object-oriented paradigm, such as classes, methods, and objects. The procedural paradigm is based on the approach of functional decomposition of the tasks to achieve the goal (or solve a problem). The basic unit is a procedure or a function. Languages that support this paradigm provide facilities for passing arguments to functions and returning values from the functions 27]. Unlike the procedural paradigm, the objectoriented paradigm views any given problem as being a collection of interacting objects 26, 28]. Languages that support the object-oriented paradigm have facilities for de ning a set of operations (functions or operators) for a data type and then restricting the access to the objects of the particular type only to the set of operations de ned 27]. The basic unit of the object-oriented paradigm is a class. A class is an aggregate of named data elements, and a set of operations designed to manipulate that data. The class members or methods are composed of operations that can be performed on the data type by the class and the data required to represent the class abstraction. Methods can have their own local variables and can use the variables de ned in the class. A class can use the me
thods of another class. The same methods are always invoked in response to a similar message from its own class or from another class. The protected, private and public keywords control access to the class members. Members that occur in the public section of the class can be accessed from anywhere within the general program. Members and data elements that occur in a protected or private section can be accessed only by members of the class. The data elements are also referred to as the instance variables of the class. A private declaration of data elements or instance variables is said to be encapsulated 27]. A class can encapsulate a data type. Such access restriction is referred to as information hiding. An object is an instantiation of a class. An object, too, encapsulates both data and operations.
3
Cohesion refers to the "relatedness " of a module's components. In the object-oriented paradigm, cohesion refers to the "relatedness " among the methods of a class. Most of the current measures of cohesion in the object-oriented paradig
2.2 Measures in the Object-Oriented ParadigmResearchers have proposed various metrics in an attempt to measure the attributes of the object-oriented paradigm such as complexity, and reuse. In 24], Monarchi, Sheetz and Tegarden address object-oriented system complexity at the application, object, method, and variable le …… 此处隐藏:6551字,全部文档内容请下载后查看。喜欢就下载吧 ……
相关推荐:
- [教育文库]夜场KTV服务员的岗位职责及工作流程[1]
- [教育文库]企划、网络、市场绩效考核方案
- [教育文库]学党史、知党情、强党性--“党的基本理
- [教育文库]2016年高考物理大一轮总复习(江苏专版
- [教育文库]干部廉洁自律自查自纠的报告
- [教育文库]2010年北京大学心理学系拟录取硕士研究
- [教育文库]资金时间价值练习题及答案
- [教育文库]保护环境的心得体会
- [教育文库]英语角内容:英语趣味小知识
- [教育文库]档案收集与管理工作通知
- [教育文库]劳动规章制度范本范本
- [教育文库]高考物理一轮复习课后限时作业1运动的
- [教育文库]机械工艺夹具毕业设计195推动架设计说
- [教育文库]通用技术教学比赛说课稿2
- [教育文库]2018年四年级英语下册 Module 7 Unit 2
- [教育文库]第2章 宽带IP网络的体系结构
- [教育文库]九年级化学第五单元课题3《根据化学方
- [教育文库]小学英语六年级情态动词用法归纳
- [教育文库]甲级单位编制窑井盖项目可行性报告(立
- [教育文库]2016-2021年中国城市规划行业全景调研
- 高考英语听力十大场景词汇总结
- 全省领导班子思想政治建设座谈会会议精
- 人教版新课标高一英语提优竞赛试题 下
- 江西省2014年生物中考试题
- 长沙镇食品药品安全事故应急预案
- 《金刚石、石墨和C60》片段教学设计
- 福州教育学院(王旭东)
- 基于EDA音乐播放器的设计
- 9、古诗两首《夜书所见》《九月九日忆
- 小学语文课外阅读有效策略探讨
- 贵州文化产业发展成支柱产业的问卷调查
- 膀胱类癌的诊治体会(附3例报告)
- 发动机积碳产生的原因
- Configuring Code Composer Studio for
- 学生良好的心理素质如何培养点滴谈
- 46 电沉积法制备锂离子电池用硅-锂薄膜
- 美舍雅阁公司管理中各部门职责
- 去壳剥皮的小妙招
- 六自由度运动平台的仿真研究
- Pride and Prejudice(傲慢与偏见)




