第10章 软件质量与保证.pptx
《第10章 软件质量与保证.pptx》由会员分享,可在线阅读,更多相关《第10章 软件质量与保证.pptx(48页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第10章 软件质量与保证10.1 软件质量的概念软件质量的概念10.2 影响软件质量的因素影响软件质量的因素10.3 软件质量的度量软件质量的度量10.4 软件质量保证策略和活动软件质量保证策略和活动10.5 软件质量保证标准软件质量保证标准10.6 软件技术评审软件技术评审1 1、软件质量的概念、软件质量的概念 软件质量保证是软件质量保证是为保证产品和服务充分满足消费者要为保证产品和服务充分满足消费者要求的质量而进行的有计划、有组织的活动求的质量而进行的有计划、有组织的活动。u 制定和展开质量方针;制定和展开质量方针;u 制定质量保证方针和标准;制定质量保证方针和标准;u 建立和管理质量保证
2、体系;建立和管理质量保证体系;u 明确各阶段的质量保证业务;明确各阶段的质量保证业务;u 坚持各阶段的质量评审;坚持各阶段的质量评审;u 确保设计质量;确保设计质量;u提出与分析重要的质量问题;提出与分析重要的质量问题;u总结实现阶段的质量保证活动;总结实现阶段的质量保证活动;u整理面向用户的文档、说明书等;整理面向用户的文档、说明书等;u鉴定质量,鉴定质量保证体系;鉴定质量,鉴定质量保证体系;u收集、分析和整理质量信息。收集、分析和整理质量信息。2、质量保证是面向消费者的活动。质量保证是面向消费者的活动。它包括的主要功能它包括的主要功能:3、软件质量保证的主要任务、软件质量保证的主要任务n用
3、户要求定义用户要求定义n力争不重复劳动力争不重复劳动n掌握开发新软件的方法掌握开发新软件的方法n组织外部力量协作的方法组织外部力量协作的方法n 排除无效劳动排除无效劳动n 发挥每个开发者的能力发挥每个开发者的能力n 提高软件开发的工程能力提高软件开发的工程能力n 提高计划和管理质量提高计划和管理质量影响软件质量的因素 软件质量因素直接影响软件开发过程各个阶段的产品质量和软件质量因素直接影响软件开发过程各个阶段的产品质量和最终软件产品质量。由于对软件质量理解的不断深化,软件质量最终软件产品质量。由于对软件质量理解的不断深化,软件质量因素也不是一成不变的。因素也不是一成不变的。McCall等人提出
4、的软件质量因素共等人提出的软件质量因素共11个,个,分为分为3类。这些软件质量因素集中在软件产品的三个重要方面:它类。这些软件质量因素集中在软件产品的三个重要方面:它的运行特性、它承受改变的能力以及对新环境的适应能力。的运行特性、它承受改变的能力以及对新环境的适应能力。McCall质量因素至今仍是有效的。质量因素至今仍是有效的。 产品转移产品转移产品修改产品修改产品运行产品运行效率效率完整性完整性可用性可用性可靠性可靠性正确性正确性互用性互用性可重用性可重用性可移植性可移植性灵活性灵活性可测试性可测试性可维护性可维护性McCall的软件质量因素1 1、影响软件质量因素、影响软件质量因素质量因素
5、质量因素定定 义义正确性正确性程序满足规格说明及用户目标的程度程序满足规格说明及用户目标的程度可靠性可靠性能够防止因概念、设计和结构等方面的不完善造成的软件系统能够防止因概念、设计和结构等方面的不完善造成的软件系统失效,具有挽回因操作不当造成软件系统失效的能力失效,具有挽回因操作不当造成软件系统失效的能力可用性可用性学习使用软件的难易程度学习使用软件的难易程度完整性完整性控制未被授权人员访问程序和数据的程度控制未被授权人员访问程序和数据的程度效率效率软件对计算机资源的使用效率,分为运行时间效率和存储空间软件对计算机资源的使用效率,分为运行时间效率和存储空间效率效率可维护性可维护性软件产品交付用
6、户使用后,修改其错误和改进其性能所需工作软件产品交付用户使用后,修改其错误和改进其性能所需工作量的大小量的大小可测试性可测试性测试程序使之具有预定功能所需的工作量测试程序使之具有预定功能所需的工作量灵活性灵活性当软件操作环境变化时,对软件做相应修改的难易程度当软件操作环境变化时,对软件做相应修改的难易程度可移植性可移植性将一个程序从一个运行环境移植到另一个运行环境的难易程度将一个程序从一个运行环境移植到另一个运行环境的难易程度可复用性可复用性在其他应用中该程序可以被再次使用的程度(或范围)在其他应用中该程序可以被再次使用的程度(或范围)互用性互用性将一个软件系统和其他软件系统组合在一起的难易程
7、度将一个软件系统和其他软件系统组合在一起的难易程度软件质量因素的定义2、 McCall定义的定义的软件质量因素评价标准软件质量因素评价标准 (1) 可审查性:检查软件需求、规格说明、标准、过程、指令、可审查性:检查软件需求、规格说明、标准、过程、指令、代码及合同是否一致的难易程度。代码及合同是否一致的难易程度。 (2) 准确性:计算和控制的精确程度。准确性:计算和控制的精确程度。 (3) 通信共性:标准接口、协议和带宽的使用程度。通信共性:标准接口、协议和带宽的使用程度。 (4) 完备性:所需功能完全实现的程度。完备性:所需功能完全实现的程度。 (5) 复杂性:程序结构化、模块化、简明、简洁、
8、清晰和可理复杂性:程序结构化、模块化、简明、简洁、清晰和可理解的程度。解的程度。 (6) 简明性:程序代码的紧凑性。简明性:程序代码的紧凑性。 (7) 一致性:在整个软件开发项目中使用统一的设计和文档编一致性:在整个软件开发项目中使用统一的设计和文档编制技术的程度。制技术的程度。 (8) 数据共性:在整个程序中使用标准数据结构和类型的程数据共性:在整个程序中使用标准数据结构和类型的程度。度。 (9) 容错性:系统在各种异常条件下提供继续操作的能力。容错性:系统在各种异常条件下提供继续操作的能力。 (10) 执行效率:程序的运行性能。执行效率:程序的运行性能。 (11) 可扩充性:体系结构,数据
9、或过程设计可扩充的程度。可扩充性:体系结构,数据或过程设计可扩充的程度。 (12) 通用性:程序部件潜在的应用范围。通用性:程序部件潜在的应用范围。 (13) 硬件独立性:软件同支持它运行的硬件系统不相关的程硬件独立性:软件同支持它运行的硬件系统不相关的程度。度。 (14) 自检视性:程序监视其自身操作并且标识产生的错误的自检视性:程序监视其自身操作并且标识产生的错误的程度。程度。 (15) 模块性:程序各构件的功能独立性。模块性:程序各构件的功能独立性。 (16) 可操作性:程序操作的难易程度。可操作性:程序操作的难易程度。 (17) 安全性:控制或保护程序和数据不受破坏的机制,以防安全性:
10、控制或保护程序和数据不受破坏的机制,以防止程序和数据受到意外的或蓄意的存取、使用、修改、毁坏或泄止程序和数据受到意外的或蓄意的存取、使用、修改、毁坏或泄密。密。 (18) 自文档性:源代码提供有意义文档的程度。自文档性:源代码提供有意义文档的程度。 (19) 简单性:理解程序的难易程度。简单性:理解程序的难易程度。 (20) 软件系统独立性:程序与非标准的程序语言设计特征软件系统独立性:程序与非标准的程序语言设计特征操作系统特征以及其他环境约束无关的程度。操作系统特征以及其他环境约束无关的程度。 (21) 可跟踪性:从一个设计说明或一个实际程序构件返回可跟踪性:从一个设计说明或一个实际程序构件
11、返回到需求的能力。到需求的能力。 (22) 易培训性:软件支持新用户使用该系统的能力易培训性:软件支持新用户使用该系统的能力 以上准则被定义后,我们可以按照下面表达式表达每个质以上准则被定义后,我们可以按照下面表达式表达每个质量因素:量因素: Fq=c1m1+c2m2+cnmn (q=1,2, ,11) 其中,其中,Fq是一个软件质量因素,是一个软件质量因素,mn是是Fq对第对第n种评价准则种评价准则的测量值,的测量值,cn是相应的加权系数,是相应的加权系数,McCall将评价准则都分为将评价准则都分为010级。级。0级最低,级最低,10级最高。因此,级最高。因此,mn的取值可以为的取值可以为
12、0,0.1,0.2,1.0。需要注意的是需要注意的是,分配给每个测量值的加权系,分配给每个测量值的加权系数依赖于具体的软件产品。数依赖于具体的软件产品。 ISO 9126标准也制定了标识软件质量的有关特征,并且力标准也制定了标识软件质量的有关特征,并且力求能标识计算机软件的关键质量属性。该标准标识了求能标识计算机软件的关键质量属性。该标准标识了6个关键质个关键质量因素:量因素: (1) 功能性:软件满足所确定的需求的程度。功能性:软件满足所确定的需求的程度。 (2) 可靠性:软件可以被使用的时间长度。可靠性:软件可以被使用的时间长度。 (3) 可用性:软件容易使用的程度。可用性:软件容易使用的
13、程度。 (4) 效率:效率: 软件优化使用系统资源的程度。软件优化使用系统资源的程度。 (5) 可维护性:软件容易被修复的程度。可维护性:软件容易被修复的程度。 (6) 可移植性:软件可以被从一个运行环境移植到另一个运可移植性:软件可以被从一个运行环境移植到另一个运行环境的容易程度。行环境的容易程度。 软件质量的度量 1 1、软件质量度量满足的度量标准、软件质量度量满足的度量标准l 客观性:客观性:如果不存在来自测试者对度量的主观影响,则度量如果不存在来自测试者对度量的主观影响,则度量是客观的。是客观的。l 适用性:适用性:如果度量结果能够明确地说明质量特性时,则表明如果度量结果能够明确地说明
14、质量特性时,则表明度量是适用的。度量是适用的。l 可靠性:可靠性:如果在重复度量中,在同样条件下达到相同的效果如果在重复度量中,在同样条件下达到相同的效果则认为度量是可靠的。则认为度量是可靠的。l 经济性:经济性:当度量是在低成本下进行时,则它是经济的。度量当度量是在低成本下进行时,则它是经济的。度量的经济性如何主要取决于度量过程的自动化程度和数据量。的经济性如何主要取决于度量过程的自动化程度和数据量。l 可比较性:可比较性:当某项度量与其他度量相关时,则度量具有可比当某项度量与其他度量相关时,则度量具有可比较性。较性。l标准化:标准化:如果有一个可以明确表示度量结果的标度存在,则如果有一个可
15、以明确表示度量结果的标度存在,则度量被认为是达到标准化。度量被认为是达到标准化。l有效性:有效性:质量标准的有效性是最难被证明的。但如果不说明质量标准的有效性是最难被证明的。但如果不说明度量标准是有效的,就不能客观的评价软件质量。度量标准是有效的,就不能客观的评价软件质量。 2、软件质量度量的方法、软件质量度量的方法 精密度量、全面度量和简易度量精密度量、全面度量和简易度量。 精密度量是使用质量度量评价准则进行详细度量,工作量较精密度量是使用质量度量评价准则进行详细度量,工作量较大但度量精度较高。大但度量精度较高。 全面度量比较简单,可以和简易度量并用对各个质量评价准全面度量比较简单,可以和简
16、易度量并用对各个质量评价准则进行度量。则进行度量。 3、软件质量因素、软件质量因素 为了在开发和维护过程中定量地评价软件的质量,必须对为了在开发和维护过程中定量地评价软件的质量,必须对软件质量因素进行度量,以测定软件是否达到了要求的质量因软件质量因素进行度量,以测定软件是否达到了要求的质量因素的程度。素的程度。 软件质量因素度量有两类:预测型和验收型软件质量因素度量有两类:预测型和验收型。 预测度量预测度量是利用定量的或定性的方法,对软件质量的评价是利用定量的或定性的方法,对软件质量的评价值进行估计,以得到软件质量的比较精确的估算值。它应用在值进行估计,以得到软件质量的比较精确的估算值。它应用
17、在软件开发过程中。软件开发过程中。 验收度量验收度量则是在软件开发各阶段的检查点,是对软件的要则是在软件开发各阶段的检查点,是对软件的要求质量进行确认性检查的具体评价值,它可以看成是对预测度求质量进行确认性检查的具体评价值,它可以看成是对预测度量的一种确认,是对开发过程中的预测进行评价。量的一种确认,是对开发过程中的预测进行评价。 l 目标:目标:以用户要求和开发方针为依据,对各质量特性设定以用户要求和开发方针为依据,对各质量特性设定质量目标。质量目标。l 计划:计划:设定适于被开发软件的评测检查项目,研讨实现质设定适于被开发软件的评测检查项目,研讨实现质量目标的方法或手段。量目标的方法或手段
18、。l 过程:过程:在开发标准和质量评价准则的指导下,制作高质量在开发标准和质量评价准则的指导下,制作高质量的规格说明书和程序。的规格说明书和程序。l 检查:检查:按照质量评价准则进行评价。比较评价结果的质量按照质量评价准则进行评价。比较评价结果的质量得分和质量目标。得分和质量目标。l 行为:行为:对评价发现的问题进行改进,如果达到了质量目标对评价发现的问题进行改进,如果达到了质量目标就转入下一个阶段。就转入下一个阶段。软件质量评价通过软件质量评价通过评分评分与与分析结果分析结果两个步聚实现。两个步聚实现。 1、评分、评分 对每一阶段要达到的质量指标(质量特性目标值或标准)详对每一阶段要达到的质
19、量指标(质量特性目标值或标准)详细开列并建立度量工作表。细开列并建立度量工作表。 评分主要是依据软件实际成果进行的。评分主要是依据软件实际成果进行的。 2、分析结果、分析结果 对照质量指标,分析评分的结果。检查某个质量特性是否达对照质量指标,分析评分的结果。检查某个质量特性是否达到了要求的质量标准。到了要求的质量标准。 如果某个质量特性不符合规定的标准,就应该分析这个质量如果某个质量特性不符合规定的标准,就应该分析这个质量特性,找出其达不到标准的原因。特性,找出其达不到标准的原因。 10.4 软件质量保证策略和活动 软件质量保证(软件质量保证(Software Quality Assuranc
20、e ,简称简称SQA)是一个复杂的系统,它采用一定的技术、方法和工具,来处理是一个复杂的系统,它采用一定的技术、方法和工具,来处理和协调软件产品满足需求时的相互关系,以确保软件产品满足和协调软件产品满足需求时的相互关系,以确保软件产品满足开发过程中所规定的标准,即确保软件质量。开发过程中所规定的标准,即确保软件质量。 为了在软件开发过程中保证软件的质量,主要采取措施:为了在软件开发过程中保证软件的质量,主要采取措施: 1、审查、审查 审查就是在软件生命周期每个阶段结束之前,按照正式使审查就是在软件生命周期每个阶段结束之前,按照正式使用结束标准对该阶段生产出的软件配置成分进行严格的技术审用结束标
21、准对该阶段生产出的软件配置成分进行严格的技术审查。查。 2、复查和管理复审、复查和管理复审 复查是检查已有的材料,以判断某阶段的工作是否能够开复查是检查已有的材料,以判断某阶段的工作是否能够开始或继续。始或继续。 3、测试、测试 测试就是对软件规格说明、软件设计和编码的最后复审,测试就是对软件规格说明、软件设计和编码的最后复审,目的是在软件产品交付之前尽可能发现软件中潜伏的错误。目的是在软件产品交付之前尽可能发现软件中潜伏的错误。 美国美国SEI推荐了一组活动。这些活动将由一个独立的推荐了一组活动。这些活动将由一个独立的SQA小组执行小组执行(或协助或协助):u为项目制定为项目制定SQA计划计
22、划u参与开发该软件项目的软件过程描述参与开发该软件项目的软件过程描述u评审各项软件工程活动评审各项软件工程活动u审核指定的软件工作产品审核指定的软件工作产品u记录软件工作及软件工作产品的偏差记录软件工作及软件工作产品的偏差u跟踪问题的解决跟踪问题的解决u协调变更的控制与管理协调变更的控制与管理u帮助收集和分析软件度量的信息。帮助收集和分析软件度量的信息。10.5 软件质量保证标准 1、ISO 9000标准标准 ISO 9000标准是由国际标准化组织(标准是由国际标准化组织(ISO)所属的质量管所属的质量管理和质量保证技术委员会制定并颁布的关于质量管理和质量保理和质量保证技术委员会制定并颁布的关
23、于质量管理和质量保证标准的统称。证标准的统称。 2、ISO 9001标准标准 ISO 9001标准是应用于软件工程的质量保证标准。标准是应用于软件工程的质量保证标准。 10.6 软件技术评审 软件技术评审软件技术评审是以保证软件质量为目的的技术活动。它是是以保证软件质量为目的的技术活动。它是软件工程的软件工程的“过滤器过滤器”,在软件开发过程的每个阶段,起到较,在软件开发过程的每个阶段,起到较早发现错误和缺陷(进而引发纠错活动)的作用,防止错误传早发现错误和缺陷(进而引发纠错活动)的作用,防止错误传播到软件过程的后续阶段。分为播到软件过程的后续阶段。分为正式技术评审和非正式技术评正式技术评审和
24、非正式技术评审审。 1、正式技术评审的目标、正式技术评审的目标 2、正式技术评审的方式、正式技术评审的方式 3、评审会议、评审会议 4、评审报告和记录保存、评审报告和记录保存 5、评审指导原则、评审指导原则 正式技术评审正式技术评审是一种由软件工程师和其他人进行的软件质是一种由软件工程师和其他人进行的软件质量保障活动。量保障活动。 软件工程标准软件工程标准基础基础软件工程标准的层次软件工程标准的层次中国的软件标准中国的软件标准ISO 9000-3标准及软件质量认证标准及软件质量认证软件文档的作用与分类软件文档的作用与分类对文档编制的质量要求对文档编制的质量要求1、软件工程标准的概念、软件工程标
25、准的概念软件危机的出路:软件危机的出路:软件开发的软件开发的工程化和标准化工程化和标准化。程序设计语言的标准化:程序设计语言的标准化:为某一程序设计语言规定若干个为某一程序设计语言规定若干个标准子集,对于语言的实现者和用户都带来很大方便。标准子集,对于语言的实现者和用户都带来很大方便。软件过程的标准化:软件过程的标准化:软件生存期各个阶段的工作建立标准软件生存期各个阶段的工作建立标准或规范。或规范。一、软件工程标准基础2、软件工程标准的类型、软件工程标准的类型 国家标准国家标准 GB/T 155381995软件工程标准分类法软件工程标准分类法给出软件工程标准的分类。涉及给出软件工程标准的分类。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 第10章软件质量与保证
限制150内