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