第11章软件质量和可靠性.ppt

  1. 1、本文档共43页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第11章 软件质量与可靠性 11.1 软件质量保证 11.2 软件能力 11.3 软件可靠性 11.4 软件质量管理标准 软件质量,是贯穿于整个软件生存周期的一个重要问题。它渗透到软件开发和维护的每一个时期,每个阶段,乃至每一个细节活动中。 20世纪90年代以来,质量认证逐渐在企业流行,把对于产品的质量保证扩展到对于整个企业的质量认证。 软件现代质量管理的内容也相应地扩展为包括质量保证与质量认证等两个方面。 11.1 概述 质量是任何产品生命的关键,对于软件也不例外。 由于软件产品的特殊性,质量保证(Quality Assurance)比硬件产品更加困难。 11.1.1软件质量的定义 (1) 与所确定的功能和性能需求的一致性。 (2) 与所成文的开发标准的一致性。 (3) 与所有专业开发的软件所期望的隐含特性的一致性。 11.1.2软件质量的度量和评价 影响软件质量的因素 (1) 可以直接度量的因素,如单位时间内千行代码(KLOC)中产生的错误数。 (2) 只能间接度量的因素,如可用性或可维护性。 在软件开发和维护的过程中,为了定量地评价软件质量,必须对软件质量特性进行度量,以测定软件具有要求质量特性的程度。 11.1.3 软件质量保证 什么是软件质量保证 软件的质量保证就是向用户及社会提供满意的高质量的产品,确保软件产品从诞生到消亡为止的所有阶段的质量的活动,即确定、达到和维护需要的软件质量而进行的所有有计划、有系统的管理活动。 主要功能: 质量方针的制定 质量保证方针和质量保证标准的制定 质量保证体系的建立和管理 明确各阶段的质量保证工作 各阶段的质量评审 确保设计质量 重要质量问题的提出与分析 总结实现阶段的质量保证活动 2. 软件质量保证的内容 软件质量保证的内容主要包括:审查、开发方法、配置控制与程序测试的综合应用。 在“软件开发规范”的指导下,对于软件计划和开发时期各个阶段的工作都要进行复审;每个阶段产生的文档都必须严格管理,以确保文档和程序的完整性与一致性;最后要对程序进行不同类型的测试。 3.质量保证的策略 (1) 以检测为重。产品制成后才进行检测,这种检测只能判断产品的质量,不能提高产品质量。 (2) 以过程管理为重。把质量保证工作重点放在过程管理上,对制造过程的每一道工序都进行质量控制。 (3) 以新产品开发为重。 4.质量保证的主要任务 (1) 正确定义用户要求。 (2) 技术方法的应用。 (3) 提高软件开发的工程能力。 (4) 软件的复用。 (5) 发挥每个开发者的能力。 (6) 组织外部力量协作。 (7) 排除无效劳动。最大的无效劳动是因需求规格说明有误、设计有误而造成的返工。 (8) 提高计划和管理质量。 4. 质量保证与检验 软件质量必须在设计和实现过程中加以保证。 11.2 质量度量模型 11.2.1McCall质量度量模型 这是McCall等入于1979年提出的软件质量影响模型.针对面向软件产品的运行,修正,转移,软件质量概念包括11个特性,其定义如下: (1)面向软件产品操作. ??? 正确性; 可靠性;效率; 完整性; 可用性 (2)面向软件产品修改. ??? 可维护性; 可测试性; 适应性 (3)面向软件产品适应. ??? 可移植性; 可重用性; 可互操作性; 主要评价准则如下: 可跟踪性; 完备性; 一致性;??? 安全性; 容错性; 准确性; 可审查性; 可操作性; 可训练性; 简洁性; 简明性; 模块性; 自描述性; 通用性; 可扩充性;硬件独立性; 通信共用性;.数据共用性 11.2.2 ISO的软件质量评价模型 11.3 软件复杂性 11.3.1 软件复杂性的基本概念 (1) 规模,即总共的指令数,或源程序行数。 (2) 难度,通常由程序中出现的操作数的数目所决定的量来表示。 (3) 结构,通常用于程序结构有关的度量来表示。 (4) 智能度,即算法的难易程度。 软件复杂性主要表现在程序的复杂性。程序的复杂性主要指模块内程序的复杂性。它直接关联到软件开发费用的多少、开发周期长短和软件内部潜伏错误的多少。同时它也是软件可理解性的另一种度量。 为了度量程序复杂性,要求复杂性度量满足以下假设: ??? (1)它可以用来计算任何一个程序的复杂性. ??? (2)对于不合理的程序,例如对于长度动态增长的程序,或者对于原则上无法排错的程序,不应当使用它进行复杂性计算. ?? (3)如果程序中指令条数,附加存储量,计算时间增多,不会减少程序的复杂性. 11.3.2 软件复杂性的度量方法 1.代码行度量法. 度量程序的复杂性,最简单的方法就是统计程序的源代码行数。此方法的基本考虑是统计一个程

文档评论(0)

xuefei111 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档