由安博测试空间技术中心/提供;《现代软件工程》;《现代软件工程》;第一章 现代软件工程的质量保证过程
软件的质量要素与度量-7.1
软件工程的质量保证过程-7.2
软件工程的质量保证活动-7.3
软件质量保证体系建设-7.4 ;现代软件工程的标准体系ISO/IEC12207;7.1 软件质量的要素与度量
;7.1.1 软件的质量要素;软件质量;度量框架
;IEEE定义的软件质量度量框架(四层);四层模型;产品将提供完成某些任务所必需的功能
;McCall选择的软件质量要素评价准则共21种,它们是:
(1)可审查性(auditability)。检查软件需求、规格说明、标准、过程、指令、代码与合同是否一致的难易程度。
(2)准确性(accuracy)。计算和控制的精度,是对无误差程序的一种定量估计。最好表示成相对误差的函数。值越大表示精度越高。
(3)通信通用性(communication commonality)。使用标准接口、协议、规范的程序。
(4)完全性 (completeness)。所需功能完全实现的程度。
(5)简明性(conciseness)。程序源代码的紧凑与简洁性。
(6)一致性(consistency)。设计文档与系统实现的一致性。
(7)数据通用性(monality)。在程序中使用标准的数据结构和类型。
(8)容错性(error-tolerance)。系统在各种异常条件下提供继续操作的能力。
(9)执行效率(execution Efficiency)。程序运行效率。
(10)可扩充性(expandability)。能够对结构设计、数据设计和过程设计进行扩充的程度。;(11)通用性(generality)。程序部件潜在的应用范围的广泛性,即部件可重用。
(12)硬件独立性(hardware independence)。软件同支持他运行的硬件系统不相关的程度。
(13)检测性(instrumentation)。监视程序的运行,一旦发生错误时,能明确地标识错误的程度。
(14)模块化(modularity)。程序部件的功能独立性。
(15)可操作性(operability)。操作一个软件的难易程度。
(16)安全性(security)。控制或保护程序和数据不受破坏的机制,以防止程序和数据受到意外的或蓄意的存取、使用、修改、毁坏或泄密。
(17)自文档化(sdlf-documentation)。源代码提供有意义文档的程度。
(18)简单性(simplicity)。理解程序的难易程度。
(19)软件系统独立性(software system independence)。程序与非标准的程序设计语言特征、操作系统特征以及其他环境约束无关的程度。
(20)可追踪性(reacebility)。从设计表示或实际程序构件,追踪到需求的能力。
(21)易培训性(training)。软件支持新用户使用该系统的能力。;软件质量评价准则 ;3、可靠性
可靠性是指在一定的环境下,在给定的时间内,系统不发生故障的概率。
可靠性本来是硬件领域的术语。比如某个电子设备在刚开始工作时挺好的,但由于器件在工作中其物理性质会发生变化(如发热),慢慢地系统的功能或性能就会失常。所以一个从设计到生产完全正确的硬件系统,在工作中未必就是可靠的。
软件在运行时不会发生物理性质的变化,人们常以为如果软件的某个功能是正确的,那么它一辈子都是正确的。可是我们无法对软件进行彻底地测试,无法根除软件中潜在的错误。平时软件运行得好好的,说不准哪一天就不正常了,如有千年等一回的“千年虫”问题,司空见惯的“内存泄露”问题、“误差累积”问题等等。
时隐时现的错误一般都属于可靠性问题,纠错的代价很高。
;4、性能
性能通常是指软件的“时间-空间”效率,而不仅是指软件的运行速度。人们总希望软件的运行速度高些,并且占用资源少些。
性能优化的关键工作是找出限制性能的“瓶颈”
可以通过优化数据结构、算法和代码来提高软件的性能。
5、(1)易用性
易用性是指用户使用软件的容易程度。
现代人的生活节奏快,图方便。所以把易用性作为重要的质量属性对待无可非议。
导致软件易用性差的根本原因 :
教育缺陷:没有开设人机工程学、美学、心理学这些必修课,大部分开发人员不知道如何设计易用的软件产品。
开发人员犯了“错位”的毛病:他以为只要自己用起来方便,用户也就会满意。
软件的易用性要让用户来评价。当用户真的感到软件很好用时,一股温暖的感觉油然而生,于是就用“界面友好” 等词来评价软件产品。 ;5、(2)清晰性
清晰意味者所有的工作成果易读、易理解,可以提高团队开发效率,降低维护代价。
开发人员只有在自己思路清晰的时候才可能写出让别人易读、易理解的程序和文档。
可理解
原创力文档

文档评论(0)