软件质量测试第七章软件质量和质量保证PPT课件.ppt_第1页
软件质量测试第七章软件质量和质量保证PPT课件.ppt_第2页
软件质量测试第七章软件质量和质量保证PPT课件.ppt_第3页
软件质量测试第七章软件质量和质量保证PPT课件.ppt_第4页
软件质量测试第七章软件质量和质量保证PPT课件.ppt_第5页
已阅读5页,还剩33页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第七章软件质量和质量保证 沈阳师范大学软件学院 1 软件工程系孟磊netmenglei 沈阳师范大学软件学院 1 本章内容 7 1软件质量7 2软件度量7 3软件能力成熟度模型7 4软件质量保证 沈阳师范大学软件学院 2 沈阳师范大学软件学院 2 本节内容 7 1软件质量7 1 1软件质量的含义7 1 2软件质量模型 沈阳师范大学软件学院 3 沈阳师范大学软件学院 3 7 1 1软件质量的含义 7 1 1软件质量的含义首先来看一些关于质量的定义 1990年 Juran和Gryna把质量定义为 适于使用 1999年 Crosby将质量定义为 符合需求 在GB T6583 ISO8404 1994版 中 将质量定义为 反映实体满足明确和隐含需要的能力的特性的总和 这里的实体是 可以单独描述和研究的事物 如产品 活动 过程 组织的体系等 在ISO9000 2000中 将质量定义为 一组固有特性满足要求的程度 至于软件质量 很容易从上述质量的定义中作扩展 IEEE对软件质量的定义如下 软件质量是 系统 部件或过程满足顾客或者用户需要或期望的程度 系统 部件或过程满足规定需求的程度 沈阳师范大学软件学院 4 沈阳师范大学软件学院 4 7 1 2软件质量模型 7 1 2软件质量模型为了避免软件质量评价的盲目性 需要制定软件质量模型 从多方面 客观地 定量地对软件质量进行度量和评价 比较常见的三个软件质量模型是McCall模型 Boehm模型和ISO9126 沈阳师范大学软件学院 5 沈阳师范大学软件学院 5 7 1 2软件质量模型 7 1 2软件质量模型McCall模型是McCall和他同事在1999年提出的 如图所示 沈阳师范大学软件学院 6 McCall质量模型将软件质量分为3个重要的方面 操作特性 产品运行 承受可改变能力 产品修订 新环境适应能力 产品变迁 图McCall质量模型 沈阳师范大学软件学院 6 7 1 2软件质量模型 7 1 2软件质量模型 沈阳师范大学软件学院 7 Boehm模型是Boehm和他的同事在1778年提出的 如图10 2所示 Boehm质量模型是一个分层的模型 除了包含用户的期望和需要 它还包含了McCall模型所没有的硬件质量特性 Boehm质量模型关注不同类型的用户需要 第一类用户是初始用户 第二类用户是要将软件移植到其他软硬件系统中使用的用户 第三类用户是系统维护人员 也可以说 Boehm质量模型反映了不同类型的用户对软件质量的理解 图Boehm质量模型 沈阳师范大学软件学院 7 7 1 2软件质量模型 7 1 2软件质量模型 沈阳师范大学软件学院 8 1991年 ISO颁布了ISO9126 1991标准 软件产品评价 质量特性及其使用指南 我国也于1996年颁布了同样的软件产品质量评价标准GB T16260 1996 ISO9126模型如图10 3所示 ISO9126模型定义了6个影响软件质量的质量特性 而每个质量特性又可通过若干子特性来测量 每个子特性在评价时要进行定义并实施若干度量 ISO9126质量模型使得软件最大限度地满足用户的明确的和潜在的需求 且从用户 开发人员 管理者等各类人员的角度全方位地考虑软件质量 图ISO7126质量模型 沈阳师范大学软件学院 8 本节内容 7 2软件度量7 2 1软件度量概述7 2 2软件度量的目标7 2 3软件度量的三个方面 沈阳师范大学软件学院 9 沈阳师范大学软件学院 9 7 2 1软件度量概述 7 2 1 1软件度量的含义度量是指在现实的世界中把数字或符号指定给实体的某一属性 以便以这种方式来根据已明确的规则来描述它们 度量关注的是获取关于实体属性的信息 那么什么是软件度量呢 软件度量 SoftwareMeasurement 是对软件开发项目 过程及其产品进行数据定义 收集以及分析的持续性量化过程 目的在于对项目质量 过程质量及产品质量进行理解 预测 评估 控制和改善 沈阳师范大学软件学院 10 沈阳师范大学软件学院 10 7 2 1软件度量概述 7 2 1 2软件度量的意义在软件开发中 软件度量的根本目的是为了软件管理的需要 利用度量来改进软件过程 以提高软件开发效率和软件质量 通过软件度量 使人们能够可预测 可重复 准确地控制软件开发过程和软件产品 度量使得对软件质量的评价从定性走向了定量 避免了软件质量评价的模糊性 沈阳师范大学软件学院 11 沈阳师范大学软件学院 11 7 2 1软件度量概述 7 2 1 3软件度量的现状在软件界 软件度量目前的情况并不尽如人意 如下一些现象是时常存在的 设计和开发软件产品的时候 并未制定出度量的目标 未能对构成软件项目实际费用的各个不同部分进行有效的度量 由于缺乏清晰的度量目标 使得开发人员不能使开发的产品质量的各方面特性都合格 因此不能使用术语向潜在的用户说明软件产品具有很高的质量 由于缺乏对软件的度量 看不到清晰的实效 因而人们对所使用的软件开发技术没有足够的信心 沈阳师范大学软件学院 12 沈阳师范大学软件学院 12 7 2 3软件度量的三个方面 7 2 3 1软件度量的三个方面软件度量贯穿于软件开发的整个生命周期 软件度量包括3个方面 项目度量产品度量过程度量 沈阳师范大学软件学院 13 沈阳师范大学软件学院 13 7 2 3软件度量的三个方面 7 2 3 1具体情况如表所示 沈阳师范大学软件学院 14 沈阳师范大学软件学院 14 实训一 软件质量保证计划 沈阳师范大学软件学院 15 沈阳师范大学软件学院 15 本节内容 7 3软件能力成熟度模型7 3 1软件能力成熟度模型概述7 3 2软件能力成熟度模型的建立和评估 沈阳师范大学软件学院 16 沈阳师范大学软件学院 16 7 3 1软件能力成熟度模型概述 7 3 1 1起源卡内基 梅隆大学软件工程研究所CMU SEI CarnegieMellonUniversity SoftwareEngineeringInstitute 于1989年研究发布了软件过程成熟度框架 并提供了软件过程评估和软件能力评价两种评估方法和软件成熟度模型 4年之后 SEI将软件过程成熟度框架进化为软件能力成熟度模型 theCapabilityMaturityModelForSoftware 简称SW CMM 并发布了最早的SW CMM1 0版 经过两年的试用 1993年SEI正式发布了SW CMM1 1版 这是目前使用最为广泛的版本 沈阳师范大学软件学院 17 沈阳师范大学软件学院 17 7 3 1软件能力成熟度模型概述 7 3 1 2软件能力成熟度模型中的重要概念过程 Process CMM中引用了IEEE对过程的定义 即过程是 为达到目的而执行的所有步骤的系列 软件过程 SoftwareProcess 人们用于开发和维护软件及其相关产品的一系列活动 方法 实践和革新 软件和其相关产品是指项目计划 需求文档 设计文档 代码 测试用例 用户手册等 软件过程能力 SoftwareProcessCapability 在遵循一个软件过程后能得到的预期结果的范围 它可用来预测一个机构在承接一个软件项目后 所能得到的最可能的结果 软件过程性能 SoftwareProcessPerformance 在遵循一个软件过程后所得到的实际结果 软件过程成熟度 SoftwareProcessMaturity 一个具体的软件过程被明确定义 管理 评价 控制和产生实效的程度 所谓成熟度 包含着能力的一种增长潜力 同时也表明了软件机构实施软件过程的实际水平 沈阳师范大学软件学院 18 沈阳师范大学软件学院 18 7 3 1软件能力成熟度模型概述 7 3 1 3软件能力成熟度模型的作用企业实施CMM模型可为企业带来如下好处 指导软件机构提高软件开发管理能力 降低软件承包商和采购者的风险 评估软件承包商的软件开发管理能力 帮助软件企业识别开发和维护软件的有效过程和关键实践 帮助软件企业识别为达到CMM更高成熟等级所必须的关键实践 增加软件企业的国际竞争能力 沈阳师范大学软件学院 19 沈阳师范大学软件学院 19 7 3 1软件能力成熟度模型概述 7 3 1 4软件能力成熟度模型的5个等级CMM将软件过程的成熟度分为5个等级 如图所示 沈阳师范大学软件学院 20 沈阳师范大学软件学院 20 7 3 1软件能力成熟度模型概述 7 3 1 4软件能力成熟度模型的5个等级在CMM中 等级越高 软件开发生产精度则越高 每单位工程的生产周期也越短 在CMM的5个等级中 除了初始级 其他4个等级均有若干个指导软件机构改进软件过程的要点 称为关键过程域 KeyProcessArea 简称KPA 所谓关键过程域是指一系列相互关联的操作活动 这些活动反映了一个软件机构改进过程时必须集中精力改进的几个方面 只有一个软件机构的所有项目都达到某个关键过程域的目标 该软件机构的以该关键过程域为特征的过程能力才是规范化了的 沈阳师范大学软件学院 21 沈阳师范大学软件学院 21 7 3 1软件能力成熟度模型概述 7 3 1 4软件能力成熟度模型的5个等级在CMM中一共有18个关键过程域 分布在2 5级中 任何一个成熟度级别的关键过程域集都是本级描述的关键过程域集和所有下级的关键过程域集的并集 如第3级的关键过程域就应有13个不同的域 其中7个是第3级自己包含的 6个属于第2级 而第4级应有15个域 沈阳师范大学软件学院 22 沈阳师范大学软件学院 22 7 3 1软件能力成熟度模型概述 7 3 1 5关键实践和共同特征为达到某个成熟度级别的关键过程域的目标 必须实施若干关键实践 关键实践 KeyPractice 是指对关键过程域起重要作用的方针 规程 措施 活动以及相关基础设施的建立 关键实践涉及5个方面 分别为执行约定 执行能力 执行的活动 测量和分析 验证实施 被称作5个共同特征 CommonFeatures 每个关键过程域所包含的关键实践均按这5个共同特征进行组织 沈阳师范大学软件学院 23 沈阳师范大学软件学院 23 7 3 1软件能力成熟度模型概述 7 3 1 6可用图来概括CMM的逻辑结构 沈阳师范大学软件学院 24 沈阳师范大学软件学院 24 7 3 2软件能力成熟度模型的建立和评估 7 3 2 1CMM的实施步骤企业实施CMM 可从如下几个步骤进行 提高思想认识 了解必要性和迫切性 确定合理的目标 进行CMM培训和咨询工作 成立工作组 制定和完善软件过程 内部评审 初期评估 正式评估 根据评估的结果改进软件过程 沈阳师范大学软件学院 25 沈阳师范大学软件学院 25 7 3 2软件能力成熟度模型的建立和评估 7 3 2 2CMM的评估方法CMM的评估方法为CBA IPI CMM BasedAppraisalforInternalProcessImprovement 基于CMM的内部过程改进评估 CMM评估包括5个等级 共计18个关键过程域 52个目标 300多个关键实践 每一个CMM等级评估周期约需12 30个月 每一级别的评估由CMU SEI授权的主任评估师领导一个评审小组进行 评估过程包括员工培训 问卷填写和统计 文档审查 数据分析 与企业的高层领导讨论和撰写评估报告等 沈阳师范大学软件学院 26 沈阳师范大学软件学院 26 7 3 2软件能力成熟度模型的建立和评估 7 3 2 3实施CMM应把握的原则任何软件开发单位在提升自己的CMM等级时 只能由所处的层次向紧邻的上一层次进化 不可越级 通过CMM某个等级的评估并不是软件企业最终的目的 显然 最终目的应是通过CMM评估来改进企业的软件过程 提升软件开发的能力 沈阳师范大学软件学院 27 沈阳师范大学软件学院 27 本节内容 7 4软件质量保证7 4 1软件质量保证概述7 4 2软件质量保证的工作内容7 4 3软件质量保证的实施 沈阳师范大学软件学院 28 沈阳师范大学软件学院 28 7 4 1软件质量保证概述 7 4 1 1软件质量保证软件质量保证 即SQA SoftwareQualityAssurance 是CMM第2级中的一个关键过程域 它是贯穿整个软件过程的第三方独立审查活动 出现在大多数关键过程域的检查与验证的公共特性中 沈阳师范大学软件学院 29 沈阳师范大学软件学院 29 7 4 1软件质量保证概述 7 4 1 1软件质量保证的目的SQA的目的是向管理者提供对软件过程进行全面监控的手段 包括评审和审计软件产品和活动 验证它们是否符合相应的规程和标准 同时给项目管理者提供这些评审和审计的结果 以反映产品和过程质量 提高项目透明度 沈阳师范大学软件学院 30 沈阳师范大学软件学院 30 7 4 1软件质量保证概述 7 4 1 2SQA组织的主要工作包括以下两方面 监控软件的开发过程 保证软件开发过程符合相应的标准与规程 保证软件产品 软件过程中存在的不符合问题得到处理 必要时将问题反映给高级管理者 软件工程过程小组SEPG的职责是提供软件过程的指导 帮助项目组制定项目过程 实施过程改进 如果项目组和SQA对过程的理解不一致 SEPG作为最终仲裁者 可用立法者和执法者形容SEPG和SQA之间的关系 沈阳师范大学软件学院 31 沈阳师范大学软件学院 31 7 4 1软件质量保证概述 7 4 1 2SQA组织的主要工作SQA的主要作用是给管理者提供实现软件过程的保证 因此SQA组织要保证如下几点 选定的开发方法被采用 选定的标准和规程得到采用和遵循 进行独立的审查 偏离标准和规程的问题得到及时地反映和处理 项目定义的每个软件任务得到实际的执行 沈阳师范大学软件学院 32 沈阳师范大学软件学院 32 7 4 2软件质量保证的工作内容 7 4 2 1软件质量保证的工作内容1 计划2 审计 证实3 处理不符合问题 沈阳师范大学软件学院 33 沈阳师范大学软件学院 33 7 4 3软件质量保证的实施 7 4 3 1软件质量保证的实施软件质量保证的实施过程中需要注意如下几方面的问题 企业的高级管理者必须重视软件质量保证活动 要考虑SQA人员的素质 某项目的SQA人员不能是该项目组的开发人员 配置管理人员或测试人员 SQA人员在工作过程中一定要抓住问题的重点与本质 不要陷入对细节的争论之中 SQA人员要客观 有责任心 SQA人员要能应对繁杂的工作 沈阳师范大学软件学院 34 沈阳师范大学软件学院 34 7 4 3软件质量保证与测试的区别 7 4 3 1软件质量保证与测试的区别在阐述两者区别之前 先来看QA和QC的概念 QA QualityAssurance 质量保证 监控公司质量保证体系的运行状况 审计项目的实际执行情况和公司规范之间的差异 并出具改进建议和统计分析报告 对公司的质量保证体系的质量负责 QC QualityControl 质量控制 对每一个阶段或者关键点的产出物 工件 进行检测 评估产出物是否符合预计的质

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论