软件度量
2023-04-27 12:08:49 0 举报
AI智能生成
中南大学软件工程专业 大三下选修课《软件度量及应用》,杨柳老师授课,期末复习思维导图
作者其他创作
大纲/内容
CH1 软件测量
引言
Making decisions based on data.
3P
product
process
project
软件质量模型
CMM
PSP
IOS9126
功能性,可靠性,可用性,效率,可维护性,可移植性
The Six Sigma movement
DMAIC
define,measure,analyze,improve,and control
测量阶段
Measuring with the Mind : Cognitive Phase
认知阶段
Measuring with the Words:Semantic Phase
语义阶段
Measuring with the Numbers:Quantitative Phase
定量阶段
测量尺度
间隔尺度
含有对各个类进行分隔的间隔规模信息
可以看出一次函数,比如项目a比项目b早完成一个月
比例尺度
含有对各个类进行分隔的比例规模信息
不仅保持了顺序、实体间的间隔规模,还能描述实体之间的比率
看成比例函数,eg项目A的开发成本是项目B的2倍
不能用软件可靠性和规模的可理解性之间描述,但是可以间接描述
比如(1)采用平均无故障时间MTTF来计算软件可靠性;(2)采用程序模块的注释比率来计算模块的可理解性
比如(1)采用平均无故障时间MTTF来计算软件可靠性;(2)采用程序模块的注释比率来计算模块的可理解性
绝对尺度
用实际计数的方式来统计实体的集合,对计数的结果可以进行任何算术运算
标称标度
标定尺度
类型尺度
经验关系系统仅由不同的类 ( class ) 组成,这些类或类别即使加上1,2,3的数字标识,也不存在顺序关系
eg:人的血型、性别
序列尺度
在标称标度的基础上添加了类的顺序
eg:CMM的五个等级
连续测量
连续统一体MMM(Measure、Metrics、models).处理方法复杂的测量技术问题在更高的分析水平,而不是在数据收集级别。
直接测量&间接测量
CH 2 Software Metrics
度量映射
软件度量是被用来量化软件产品、软件开发资源和软件开发过程的度量。
有助于识别
哪些用户需求可能会改变
哪些模块最容易出错
每个模块应该计划多少测试
简单&复杂度量
度量类型
Types of Entities
度量步骤
Step1:Identify Metrics Custom
内部属性度量
外部属性度量
CH3 软件规模量
代码行LoC
功能点度量
FP = VAF*UFC
UFC:未调整的功能点数
EI:输入
EO:输出
EQ:用户查询
ILF:内部逻辑文件
EIF:外部接口个数
VAF:调整因子
特征点度量
对象点度量
用例点度量
UAW:未调整前的角色权重
UUCW:未调整前的用用例权重
基于事物的
基于分析类的
未调整前的用例点UUCP=UAW+UUCW
技术复杂因子TFC
环境因子EF
调整后的用例点:UPC = UUCP*TFC*EF
CH4 软件结构度量方法
度量类型
控制流度量
控制流图
采用圈复杂度度量
数据流度量
模块内:内聚
7种内聚关系
功能内聚
顺序内聚
通信内聚
过程内聚
时间内聚
逻辑内聚
巧合内聚
内聚率 = 具有功能内聚的模块数/总模块数
模块间:耦合
6种耦合关系
R0:无耦合
R1:数据耦合
R2:标记耦合
R3:控制耦合
R4:公共耦合
R5:内容耦合
耦合度计算
c(x,y) = k + n/(n+1)
k表示最高的耦合关系
n表示该耦合关系下的次数
全局耦合度:{ c(x,y) }的中位数
信息流
Henry和Kafural定义
信息流复杂度(M)=长度(M)*((扇入(M)*扇出(M))^2)
Shepperd方法
信息流复杂度(M)=(扇入(M)*扇出(M))^2
数据结构
Halstaed方法
CH5 面向对象度量方法
特点
局部性
封装性
多态性
信息隐藏
继承性
LK(4个度量点)
类规模CS
属性数量、方法数量
方法重写数量NOO
值过大,表示父类抽象不够好,没有抽象出公共特征
重写&重载
重写:父类子类之间多态性的体现
重载:某一个类之间多态性的体现
增加方法数量NOA
值过大,表示子类与父类特征相差过大
特征化指数SI=(NOO*L)/Mtotal
L表示子类在继承树中的深度
Mtotal表示类图中方法的总数量
CK(6个度量点)
类的方法加权数WMC
继承树深度DIT
对象类之间耦合CBO
包括依赖关系,实现关系,关联,组合,聚合
不包括继承关系
子类数目NOC
类的响应集合RFC
类内聚缺乏度LCOM
CH6 软件质量度量
外部属性
McCall模型
产品运行
可靠性
正确性
效率
可使用性
完整性
产品修正
可维护性
可测试性
灵活性
产品转移
可移植性
可复用性
互连性
Boehm质量模型
可移植性
易用性
可靠性
效率
人体工程学
可维护性
可测试性
可理解性
可修改性
ISO 9126
功能性
可靠性
易用性
效率
可维护性
可移植性
0 条评论
下一页