- 7
- 0
- 约1.99万字
- 约 48页
- 2018-11-29 发布于天津
- 举报
软件工程教学课件chapter-23教学材料.ppt
* Metrics for OO Design-II Cohesion The degree to which all operations working together to achieve a single, well-defined purpose Primitiveness Applied to both operations and classes, the degree to which an operation is atomic Similarity The degree to which two or more classes are similar in terms of their structure, function, behavior, or purpose Volatility Measures the likelihood that a change will occur * Class-Oriented Metrics The MOOD Metrics Suite [Har98b]: Method inheritance factor Coupling factor Polymorphism factor * 面向对象设计度量-1 Whitmire [Whi97] 描述了面向对象设计的9个独特的、可测量的特性: 规模 规模可以从4个方面来定义:总数量、容量、长度和功能。 复杂性 面向对象设计的类如何互相关联 耦合性 面向对象设计成分间的物理连接 充分性 “从当前应用的角度看,一个抽象拥有其所需特征的程度,或一个设计构件拥有其抽象特征的程度。 ” 完备性 间接隐含了抽象或设计构件可以复用的程度 * 面向对象设计度量-2 内聚性 使所有的操作一起工作,以达到单一的、明确定义的目标的程度 原始性 应用于操作和类, 原始性是指某操作的原子性 相似性 两个或多个类在其结构、功能、行为或目的方面的相似程度 易变性 测量将发生变更的可能性 * 面向类的度量 方法继承因子 耦合因子 多态因子 MOOD 度量集 [Har98b]: * 面向操作的度量 平均操作规模 操作复杂度 每个操作参数的平均数 由 Lorenz and Kidd [Lor94]提出: MOOD度量集 方法继承因子(MIF)一个面向对象系统的类体系结构利用方法(操作)和属性继承的程度可定义为: MIF=∑Mi(Ci) / ∑Ma(Ci) 这里是对i从1到TC求和。TC定义为体系结构中类的总数,Ci是体系结构中的一个类 * MOOD度量集 Ma(Ci)=Md(Ci)+Mi(Ci) Ma(Ci)为类Ci关联中被调用的方法数量; Md(Ci)为类Ci中声明的方法数量 Mi(Ci)为类Ci中继承的方法数量 MIF的值指示了继承对面向对象软件的影响。 * MOOD度量集 耦合因子(CF)。耦合是对面向对象设计元素间连接的指示。 CF=∑i∑j is_client=1(Ci,Cj) / (T2c-Tc) 这里,对i从1到TC和j到TC求和。函数is_client=1,当且仅当用户类Cc与服务类Cs间存在关系,且Cc≠Cs;否则,is_client=0。 * MOOD结论 尽管许多因素影响软件复杂性、可理解性和可维护性,但是,可以合理地得出这样的结论: 随着CF值的增大,面向对象软件的复杂性将随之增加,由此,可理解性和可维护性和潜在的可复用性将受到损害。 * * 构件级设计度量 内聚度量:一种数据对象和轨迹定义的功能 耦合度量:一种连接输入和输出参数,全局变量和被调用模块的功能 复杂性度量:包含上百种复杂度 (如,结构复杂性) * 用户界面设计度量 布局恰当性:布局实体、地理位置以及实体之间过渡的“开销”的功能。 耦合度量 对于数据与控制流耦合: di=输入参数的个数 ci=输入控制参数的个数 d0=输出数据参数的个数 c0=输出控制参数的个数 对于全局耦合 gd=用作数据的全局变量的个数 gc=用作控制的全局变量的个数 * 耦合度量 对于环境耦合 w=被调用模块的个数(扇出) r=调用所考虑模块的模块数(扇入) 利用这些度量,模块耦合指标mc可用下式定义 mc= k / M 其中,k为比例常数,且 M=di+(a×ci)+d0+(b×c0)+gd+(c×gc)+w+r k,a,b,c的值必须根据经验导出 随着mc值的增大,整体模块的耦合性降低。 * * 源代码度量 Halstead(霍尔斯特德) 的软件科学:基于一个构件或程序的关于操作数和运算符的数字(总和和发生次数)的所有预测的一组综合度量 应该注意到Halstead的“定律”已经引起了很多争议。许多人认为其基本理论有缺点。然而,已经进行了已选编程语言的实验验证
您可能关注的文档
最近下载
- ZXM10 EISU(V1.0)增强智能型采集单元用户手册.pdf VIP
- 统编版(2024)一年级语文下册11浪花课件.pptx VIP
- 语文-江西省吉安市2025届高三上学期1月期末教学质量检测试题和答案.docx VIP
- 物理-江西省吉安市2025届高三上学期1月期末教学质量检测试题和答案.docx VIP
- 英语-江西省吉安市2025届高三上学期1月期末教学质量检测试题和答案.docx VIP
- 2022年度(江苏)高考数学真题(带答案).pdf VIP
- 浙江省温州市2025年七年级上学期期末数学试卷附答案.pdf VIP
- 大气降水的同位素水文学-第3讲-2011版本.pdf VIP
- 02J331_地沟及盖板图集.docx
- 政府机关物业管理服务保洁服务工作计划及操作规程服务方案.docx VIP
原创力文档

文档评论(0)