软件工程—现代软件工程的质量保证.ppt

由安博测试空间技术中心/提供;《现代软件工程》;《现代软件工程》;第一章 现代软件工程的质量保证过程 软件的质量要素与度量-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)

1亿VIP精品文档

相关文档