一、软件质量的定义:软件与需求之间的符合程度,或者说是软件满足客户或用户的需求或预期的程度。
质量、时间和成本是衡量所有软件项目成功与否的3个核心要素。
使用中的质量(quality in use):用户如何感知软件,程序崩溃
外部质量属性(external quality attribute):运行软件确定的方方面面
内部质量属性(internal quality attribute):通过确定而不是运行来确定该属性
过程质量(proccess quality):CMMI/ISO9001 等管理软件的制造过程
二、软件质量
1、功能性(functionality):软件做什么
1)功能与指定任务和用户目标的相配度(suitability)
2)结果或运算的准确性(acturacy)
3)软件与其他系统的互操作性(interoperability)
4)软件给他的数据提供的安全性(security)
2、可靠性(reliability):特定情况下维持指定性能级别的能力
1)成熟(maturity):软件不会出现故障
2)容错(fault tolerance):故障的情况下继续工作的能力
3)可复原性(recoverability):软件出现故障后能够恢复数据并且继续运行的能力
3、可用性(usability):软件的外部质量特征
1)易懂(understandability)
2)可掌握(learnability)
3)可操作性(operability)
4、效率(efficiency)
1)时间特性(time behavior)
2)资源利用(resource utilization)
5、可维护性(maintainability)
1)可分析性(anslizability):找到改进或者修正的部分的难度
2)可变性(changeability):完成一个修改的时间
3)稳定性(stability):修改之后少出问题的程度
4)易测性(testability):能够验证修改的结果
6、可移植性(portability)
1)适应性(adaptability):软件代码在不同环境下运行的能力
2)可安装性(installability):软件在各种环境下的安装可行性
3)共存(coexistence):软件在拥挤的环境下的运行情况
4)可替代性(replaceability):软件的某部分可以替代另一部分
软件的几个质量特性是互相关联的,改变其中的某一部分都可以带来其他部分的影响,而软件工程学就是协调各个方面,达到最佳的质量特性。
质量、时间和成本是衡量所有软件项目成功与否的3个核心要素。
使用中的质量(quality in use):用户如何感知软件,程序崩溃
外部质量属性(external quality attribute):运行软件确定的方方面面
内部质量属性(internal quality attribute):通过确定而不是运行来确定该属性
过程质量(proccess quality):CMMI/ISO9001 等管理软件的制造过程
二、软件质量
1、功能性(functionality):软件做什么
1)功能与指定任务和用户目标的相配度(suitability)
2)结果或运算的准确性(acturacy)
3)软件与其他系统的互操作性(interoperability)
4)软件给他的数据提供的安全性(security)
2、可靠性(reliability):特定情况下维持指定性能级别的能力
1)成熟(maturity):软件不会出现故障
2)容错(fault tolerance):故障的情况下继续工作的能力
3)可复原性(recoverability):软件出现故障后能够恢复数据并且继续运行的能力
3、可用性(usability):软件的外部质量特征
1)易懂(understandability)
2)可掌握(learnability)
3)可操作性(operability)
4、效率(efficiency)
1)时间特性(time behavior)
2)资源利用(resource utilization)
5、可维护性(maintainability)
1)可分析性(anslizability):找到改进或者修正的部分的难度
2)可变性(changeability):完成一个修改的时间
3)稳定性(stability):修改之后少出问题的程度
4)易测性(testability):能够验证修改的结果
6、可移植性(portability)
1)适应性(adaptability):软件代码在不同环境下运行的能力
2)可安装性(installability):软件在各种环境下的安装可行性
3)共存(coexistence):软件在拥挤的环境下的运行情况
4)可替代性(replaceability):软件的某部分可以替代另一部分
软件的几个质量特性是互相关联的,改变其中的某一部分都可以带来其他部分的影响,而软件工程学就是协调各个方面,达到最佳的质量特性。