第九章软件质量管理 9.1软件质量的概念 GO 92软件质量管理 GO 93软件开发的标准与规范GO 9.4软件质量的综合评价 O
第九章 软件质量管理 9.1 软件质量的概念 GO 9.2 软件质量管理 GO 9.3 软件开发的标准与规范 GO 9.4 软件质量的综合评价 GO
91软件质量的概念 9.1.1软件质量的定义 现代质量管理中,“质量”被定义为“用户的满意程度” 参照 ANSIIEEE Std729-1983,软件质量又定义为:“与软件产品满足 规定的和隐含的需求能力有关的特征和特性的全体”。或者 1)软件产品中能满足给定需求的性质和特性的总体,例如,符合规 定说明; (2)软件具有所期望的各种属性组合的程度 (3)顾客或用户觉得软件满足其综合期望的程度; (4)软件的合成特性,它确定软件在使用中将满足顾客预期要求的程 度 M.J. Fisher将软件质量定义为:“所有描述计算机软件优秀程度的特性的 组合。”所以计算机软件质量是软件的一些内部特性的组合
9.1 软件质量的概念 9.1.1 软件质量的定义 现代质量管理中,“质量”被定义为“用户的满意程度”。 M.J.Fisher将软件质量定义为:“所有描述计算机软件优秀程度的特性的 组合。”所以计算机软件质量是软件的一些内部特性的组合。 参照ANSI/IEEE Std 729-1983,软件质量又定义为:“与软件产品满足 规定的和隐含的需求能力有关的特征和特性的全体”。或者: (1)软件产品中能满足给定需求的性质和特性的总体,例如,符合规 定说明; (2)软件具有所期望的各种属性组合的程度; (3)顾客或用户觉得软件满足其综合期望的程度; (4)软件的合成特性,它确定软件在使用中将满足顾客预期要求的程 度
91.2软件质量的主要特性指标 1.软件质量特性的定义 通常,软件质量可由以下主要特性来定义: (1)功能性:软件所实现的功能达到它的设计规范和满足用户需求的程 度 (2)效率:在规定条件下,用软件实现某种功能所需的计算机资源(包 括时间)的有效程度; (3)可靠性:在满足一定条件的应用环境中,软件能够正常维持其工作 的能力; (4)安全性:为了防止意外或人为的破坏,软件应具备的自身保护能力 能力; 5)易使用性:对于一个软件,用户在学习、操作和理解过程中所做努 力的程度;
9.1.2 软件质量的主要特性指标 1.软件质量特性的定义 通常,软件质量可由以下主要特性来定义: (1)功能性:软件所实现的功能达到它的设计规范和满足用户需求的程 度; (2)效率:在规定条件下,用软件实现某种功能所需的计算机资源(包 括时间)的有效程度; (3)可靠性:在满足一定条件的应用环境中,软件能够正常维持其工作 的能力; (4)安全性:为了防止意外或人为的破坏,软件应具备的自身保护能力 能力; (5)易使用性:对于一个软件,用户在学习、操作和理解过程中所做努 力的程度;
91.2软件质量的主要特性指标 (6)可维护性:当环境改变或软件运行发生故障时,为了使其恢复正常 运行所做努力的程度; (7)可扩充性:在功能改变和扩充情况下,软件能够正常运行的能力; (8)可移植性:为使一个软件从现有运行平台向另一个运行平台过度所 做努力的程度 (9)重用性:整个软件或其中一部分能作为软件包而被再利用的程度。 以上所定义的软件质量特性是面向管理的观点,或者说是从使用者的 观点引入的。从这个意义上讲,软件质量特性的实际价值就在于它体现 了用户的观点
9.1.2 软件质量的主要特性指标 (6)可维护性:当环境改变或软件运行发生故障时,为了使其恢复正常 运行所做努力的程度; (7)可扩充性:在功能改变和扩充情况下,软件能够正常运行的能力; (8)可移植性:为使一个软件从现有运行平台向另一个运行平台过度所 做努力的程度 (9)重用性:整个软件或其中一部分能作为软件包而被再利用的程度。 以上所定义的软件质量特性是面向管理的观点,或者说是从使用者的 观点引入的。从这个意义上讲,软件质量特性的实际价值就在于它体现 了用户的观点
2.软件生存期与质量特性 从用户的角度看,软件的生存期可分为如下三个阶段: 1)初期运用:运行新开发的软件产品 2)维护与扩充:在运行过程中修改缺欠的内容;而且, 为了进一步的使用,需根据运行环境(主要指应用环境和 技术环境)的变化做功能上和性能上的扩充 3)移植和连接:把在原有平台上运行的软件向其它新的 运行环境转移、或者组成软件包以便重用、或与其它软件 进行连接
2. 软件生存期与质量特性 从用户的角度看,软件的生存期可分为如下三个阶段: 1)初期运用:运行新开发的软件产品。 2)维护与扩充:在运行过程中修改缺欠的内容;而且, 为了进一步的使用,需根据运行环境(主要指应用环境和 技术环境)的变化做功能上和性能上的扩充。 3)移植和连接:把在原有平台上运行的软件向其它新的 运行环境转移、或者组成软件包以便重用、或与其它软件 进行连接
对于软件所需求的质量特性,在软件生存期的不同阶段 中情况各有不同,要求也不一样,这可由下图说明。 初期运行)维护扩充 移植连接 功能性 同维护性 同可移植性 效率心 可扩充性 重用性 可靠性 女全性+ 易使用性
对于软件所需求的质量特性,在软件生存期的不同阶段 中情况各有不同,要求也不一样,这可由下图说明
91.3软件质量的二级特性指标 从软件设计的观点出发,软件质量特性由下列二级质量特性所决定: (1)可追踪性:在特定的开发和运行环境下,提供从实现到用户需求 可追溯的思路 2)完备性:所需功能全部实现的软件属性 (3)一致性:提供软件从设计到实现技术和记号一致的属性; (4)精确性:在计算机输出时可提供用户所需求的精度: 5)简单性:在可理解的方式下,简化功能的定义和实现 6)可操作性:决定与软件操作有关的规程,并提供有用的输入X输 出
9.1.3 软件质量的二级特性指标 从软件设计的观点出发,软件质量特性由下列二级质量特性所决定: (1)可追踪性:在特定的开发和运行环境下,提供从实现到用户需求 可追溯的思路; (2)完备性:所需功能全部实现的软件属性; (3)一致性:提供软件从设计到实现技术和记号一致的属性; (4)精确性:在计算机输出时可提供用户所需求的精度; (5)简单性:在可理解的方式下,简化功能的定义和实现; (6)可操作性:决定与软件操作有关的规程,并提供有用的输入/输 出;
(7)培训性:提供对用户进行熟练操作培训的特性; (⑧8)通信有效性:在执行各项功能时,使用最少的通信资源 (9)处理有效性:对于各种功能的实现,占用最少的处理时间; (10)设备有效性:对于各种功能的实现,占用最少的系统设备; (11)模块性:软件的内部结构应具有模块内髙聚合、模块间低耦合的 特性; (12)系统无关性:提供不依赖于运行环境(主机,性能,操作系统, 外部设备)的特性;
(7)培训性:提供对用户进行熟练操作培训的特性; (8)通信有效性:在执行各项功能时,使用最少的通信资源; (9)处理有效性:对于各种功能的实现,占用最少的处理时间; (10)设备有效性:对于各种功能的实现,占用最少的系统设备; (11)模块性:软件的内部结构应具有模块内高聚合、模块间低耦合的 特性; (12)系统无关性:提供不依赖于运行环境(主机,性能,操作系统, 外部设备)的特性;
(13)自描述性:对功能的实现可进行自我说明 14)结构性:具有良好的软件结构; (15)清晰性:用不复杂的,可理解的方式对程序结构作岀淸楚明了的描 述 16)可扩充性:提供广泛兼容的数据存储结构和数据; (17)文档完备性:软件文档齐全,描述清楚,并符合国家标准: (18)健壮性:在意外情况下,能继续执行和快速恢复的能力; (19)公用性:采用公共的通信协议、数据表示和接口标准; (20)可见性:提供开发与操作状态可监控的特性; (21)保密性:提供对数据存储过程和传输过程的加密; 22)可防护性:授权管理与身份识别特性; (23)数据安全性:提供各类数据文件的安全备份特性; 24)通用性:在一定范围内,软件可以被普遍使用的特性
(13)自描述性:对功能的实现可进行自我说明; (14)结构性:具有良好的软件结构; (15)清晰性:用不复杂的,可理解的方式对程序结构作出清楚明了的描 述; (16)可扩充性:提供广泛兼容的数据存储结构和数据; (17)文档完备性:软件文档齐全,描述清楚,并符合国家标准; (18)健壮性:在意外情况下,能继续执行和快速恢复的能力; (19)公用性:采用公共的通信协议、数据表示和接口标准; (20)可见性:提供开发与操作状态可监控的特性; (21)保密性:提供对数据存储过程和传输过程的加密; (22)可防护性:授权管理与身份识别特性; (23)数据安全性:提供各类数据文件的安全备份特性; (24)通用性:在一定范围内,软件可以被普遍使用的特性
91.4软件质量特性与二级特性的关系 司追性 完备性 可靠性 可运行 理可[无敌性[面单性口[性口[可防护习 执行有效性 信者效性 设备有效性 安全性 保程[可防乒性日[懂[据安至 可护 致性口[简单性口匚模块性心匚结构性匚淸晰性口[可见性匚自描述性[文档完备性可 清性口匚模块性口[自播述性[系统无买性[可充性[通用性 易使用性 匚培训性口匚简单性口匚清啼性“[自播述性[可见性 可充性 [可扩充性匚模块性口结构性 致性匚简单性 公用性*1 重用性4 通用性一[模性口[结码口[线无关性[交用性口 93软件主要质量特性与二级质量特性的关系 B
9.1.4 软件质量特性与二级特性的关系 Back