Lect02-软件质量与质量保证.ppt_第1页
Lect02-软件质量与质量保证.ppt_第2页
Lect02-软件质量与质量保证.ppt_第3页
Lect02-软件质量与质量保证.ppt_第4页
Lect02-软件质量与质量保证.ppt_第5页
已阅读5页,还剩47页未读 继续免费阅读

下载本文档

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

文档简介

软件质量与质量保证 不存在完美的软件; 软件质量保证需要成本; 措施:工程技术方法、管理措施、质量控制 主要内容 质量与软件质量 软件质量困境 WebApp设计质量 实现软件质量 软件质量保证 软件可靠性 ISO 9000质量标准 质量与软件质量 不同角度的质量观点 用户:产品体现用户目标; 制造商:符合原始规格定义; 产品:产品的固有属性(功能、性能); 价值:能卖多少钱 质量:是产品的一组固有特性满足需求的程度 设计质量-设计满足需求模型的功能和特性的程度 符合(符合设计)质量-实现遵从设计的程度以及所得 到的系统满足需求和性能目标的程度 用户满意度=合格的产品+好的质量+按预算和进度安排 交付 (Robert Glass) 软件质量 定义:在一定程度上应用有效的软件过 程创造有用的产品,为生产者和使用者 提供明显的价值。 软件过程是基础; 用户满意:满足产品各特征、特性; 生产者和使用者受益 软件产品满足规定的显式或隐式的与需 求有关的全部特征和特性的程度。 Garvin的质量维度 性能质量:符合需求的内容、功能、特性; 特性质量:用户满意的特性; 可靠性:在给定时间段内成功运行的可能性; 符合性:遵循相关标准的程度; 耐久性:可维护性; 适用行:可服务性; 审美:美感; 感知:感知质量。 维度主观判断 McCall的质量因素 McCall等提出来 McCall质量模型 产品操作运行特性; 产品修改特性; 产品的适应特性 很难直接度量,仅能 间接地测量。 产品运行 产品修改 产品转移 可维护性 灵活性 可测试性 可移植性 可复用性 互操作性 正确性 易用性 可靠性 效率 完整性 ISO 9126质量因素 ISO9126定义了一个三层次的质量模型: 质量特性(6个) 质量子特性(27个) 度量指标 ISO9126定义的6个质量特性: 功能性 可靠性 易用性 效率 可维护性 可移植性 定向质量因素 除软件质量整体度量因素之外,还可以 在某一时期考虑局部因素。例如:考察 界面 直觉 效率 健壮性 丰富性 定量度量 定性度量:主观性、不精确性 定量度量:力求建立度量模型,追求尽可能客 观、精确 定量度量随方法、模型的改进,精度不断提高 关于软件质量 同一项目:不同 角色的人有不同 的要求 不同项目:质量 属性的重要程度 不同 软件质量困境 软件质量必须足够好:存在价值 软件产品无法完美:需要消耗过多的资 源、时间、成本 软件开发需要在两个极端之间进行平衡 :软件足够好的同时又不完美。 足够好的软件 因时、因应用领域不同而有所不同,要 保证: 产品价值 成本不要太高 不能存在较大的功能、性能缺陷 产品缺陷不应造成事故、重大损失,从而影 响用户方的声誉 质量成本 质量对于软件来说非常重要,但是,高质 量也意味着开发时的时间、成本;而低质 量意味着维护等的成本。 质量成本包括:追求质量过程相关活动引 起的成本与质量不佳引起的下游成本。 关注哪些重要的成本? 高质量成本 预防成本 计划和协调所有质量控制和质量保证所需管理活动的成 本; 为开发完整的需求、设计模型所增加的技术活动成本; 测试计划成本; 与这些活动有关的培训成本; 评估/鉴定成本 软件产品的技术评审成本; 数据收集和度量估算成本; 测试调试成本; 低质量成本 失效成本:如果软件没有错误就不存在 的成本 内部失效成本(交付之前) 为纠错而返工的成本; 返工时无意中产生的副作用引起的成本; 为评估失效而收集模型数据引起的成本; 外部成本(交付之后) 投诉、退货、更换引起的成本; 售后支持、维护相关的成本; 不良声誉引起的损失; 质量成本 低质量引起的风险 低劣质量的软件可能引起很严重的后果 医疗事故; 交通事故。 军事、航空航天、金融、工业控制 一般实时系统可能引起事故 疏忽和责任 主要在大型、开发周期比较长项目中, 最后出现问题时双方相互推诿: 客户方:开发方技术、能力、水平不行,不 负责任; 开发方:客户要求一变再变。 质量与安全 低质量的软件容易受到攻击,增加了安全风险。 必须从一开始在软件过程中就注重安全相关的质 量要求:安全性、可靠性、可行性等。 已经对错误有了足够的重视,却对设计缺陷重视 不够。 管理活动对质量的影响 估算决策:不根据项目实际情况而要求 提前交付,软件质量受到损害; 进度安排决策:不合理的进度安排也可 能导致软件质量低下,如某个关键模块 没有经过充分测试; 风险管理:缺乏好的风险管理。 软件质量困境 多花些时间一次将事情做好可能是较为 节省的方式。 WebApp设计质量 WebApp应用的属性:(P36-37) 网络密集型应用; 并发性; 大负载量; 性能; 高可靠性、高可用性; 安全性-内容敏感; WebApp应用系统: 项目范围更大 质量要求更高 低质量影响更大 WebApp质量需求树 全球站点可用性 在线反馈和帮助特性 界面和美学特性 特殊特性 查找和检索能力 导航和浏览特性 与应用领域相关的特性 正确的链接处理 错误恢复 用户输入正确和恢复 相应时间性能 网页生成速度 图形生成速度 易于修改 适应性 可扩展性 可用性 功能性 可靠性 效率 可维护性 WebAPP质量 安全性(权限) 可用性(7X24) 可伸缩性 投放市场时间 WebApp内容评价 WebAPP评价: 内容、功能、导航; 内容与带宽问题; 图文结合(多媒体) 内容组织; 总体设计; 内容评价: 易于判断内容的范围 、深度; 识别内容作者、背景 内容的通用性; 内容、位置的稳定性 实现软件质量 实现软件质量的方法: 软件工程方法; 项目管理技术; 质量控制(各工作产品符合质量目标); 质量保证(审查、测试、跟踪质量指标)。 软件工程方法 软件过程; 软件开发方法 建模; 工具; 标准、规范 需求分析、软件设计、实现、软件 维护等各项活动都关注质量、尽可 能符合“足够好”软件的要求。 项目管理技术 项目规划; 进度监控-及时发现问题; 风险管理; 变更管理; 配置管理等。 规划合理、涉及细节、管理到位 质量控制 对于每一软件活动对应产品质量目标; 活动评审-评审完整、一致; 需求评审; 设计评审; 代码评审; 软件测试。 实时监督软件活动的质 量数据,并加以管理 质量控制、质量保证和质量管理 软件质量控制其实是基本方法,通过一系列的 技术来科学地测量过程的状态。如缺陷率、测 试覆盖率等。 软件质量保证则是过程的参考、指南的集合, 如ISO9000、CMM/CMMI等,着重内部的检查, 确保已获取认可的标准和步骤都已经遵循。 软件质量管理则是实际操作的思想,质量管理 控制和协调组织的质量活动,包括质量控制、 质量保证和质量改进。 软件质量保证(SQA) 定义:是建立一套有计划、有系统的方 法,来向管理层保证拟定出的标准、步 骤、实践和方法能够正确地被所有项目 所采用。 软件质量保证的目的是使软件过程对于 管理人员来说是可见的、而且是符合质 量要求的。 SQA 为进行软件质量保证,需要收集、评估 、发布有关软件过程的数据。 软件质量模型 软件质量内部度量模型(技术); 软件质量外部度量模型(质量属性); 软件产品质量模型; 数据质量模型; 软件使用质量模型等。 SQA 质量保证就是将质量保证的管理规则和 设计规范映射到对应的软件项目管理和 技术空间上,以保证软件产品的质量。 1. SQA过程; 2. 具体质量保证和质量控制任务; 3. 有效的方法和工具; 4. 变更控制; 5. 符合软件开发标准; 6. 测量和报告机制。 SQA要素 标准:IEEE、ISO,确保遵循标准; 评审和审核:软件工程师执行评审、SQA人员 执行审核; 测试:确保测试计划适当并有效实施; 错误的收集和分析:SQA掌握错误是如何引入 的,以便进一步改进; 变更管理:变更评审、变更; 培训:灌输质量管理的重要性、技术等; 供应商管理、安全管理(数据安全)、安全( 错误影响)、风险管理。 提高质量 技术人员 方法/技术 技术评审 软件测试提高质 量 SQA小组 为帮助软件团队实现 高质量的软件产品而 执行质量保证活动 SQA的任务 编制项目质量保证计划; 参与软件过程裁剪; 评审软件活动是否符合规定的软件过程 评审软件产品是否符合规范和质量要求 文档在开发过程、成果方面的偏差; 跟踪报告各不符合项。 质量目标、质量属性和度量 目标: 需求质量:需求模型的正确、完整、一致; 设计质量:设计模型体现出高设计质量; 代码质量:符合编码规范、易于理解; 质量控制的有效性:SQA在评审、测试的资 源分配、评估质量控制是否有效。 目标标属性度量 需求质量歧义引起歧义地方的修改数量 完备性TBA、TBD的数量 可理解性节/小节数量 易变性每项需求变更的次数 变更所需的时间 可追溯性不能追溯到设计 /代码的数量 模型清晰性UML模型数 每个模型中描述文字的页数 UML错误 数 设计质 量体系结构完整性是否存在现成的体系结构模型 构建完备性追溯到结构模型的构件数 过程设计 的复杂度 接口复杂度一个典型功能或内容的平均数 布局合理性 模式使用的模式数量 代码质 量复杂性环路复杂度 可维护 性设计 要素 可理解性内部注释的百分比 变量命名约定 可重用性可重用构件百分比 文档可读性指数 质量控制效率资源分配每个活动花费的人员时间 百分比 完成率时间 完成时间 与预算完成时间 之比 评审 效率评审质 量 测试 效率发现 的错误 及关键性问题 数 改正一个错误 所需工作量 错误 的根源 SQA计划 IEEE SQA计划内容: 计划的目的和范围; SQA关于软件产品的描述; SQA活动与软件过程活动的对应; SQA活动和任务以及安排; 支持SQA活动和任务的工具、方法; 软件配置管理的规程; 收集、维护所有SQA相关记录的方法; 与产品质量相关的组织角色和责任。 质量信息量化统计 步骤: 收集软件的错误和缺陷信息,并分类; 追溯错误、缺陷形成的原因; 使用Parto原则(80%的缺陷可能追溯到所有 可能原因中的20%),分离这20%原因; 一旦找出20%原因,就开始纠正引起错误和 缺陷的问题。 例:错误主要原因 不完整或错误的规格说明 (IES) 与客户交流中产生的误解 (MCC) 故意违背规格说明(IDS) 违反程序设计标准(VPS) 数据表示错误(EDR) 构件接口不一致(ICI) 设计逻辑的错误(EDL) 不完整或错误的测试(IET) 不准确或不完整的文档(IID 将设计转化为代码的错误( PLT) 不清晰或不一致的人机界面( HCI) 其他(MIS) 错 误 总计严重中等微小 数量 百分比 数量 百分比 数量 百分比 数量 百分比 IES205223427681810324 MC C 1561712968187617 IDS48511246235 VPS25300154102 EDR1301426206818368 ICI58697185317 EDL4551411123194 IET95101293594811 IID36422205143 PLT6061512195266 HCI2833217482 MIS56600154419 总 计 942100128100379100435100 SQA量化统计 确定重要的少数原因; 改正软件开发工作(改变方式、工具) IES-改变需求分析方法、建模 MCC-改进需求收集技术,加强客户交流 EDR-利用工具进行数据建模,加强评审 IET-改进测试设计技术 六西格玛-Six Sigma 6Sigma是广泛应用的基于统计的质量保 证策略,运用数学和统计分析,通过识 别和消除制造及服务过程中的缺陷来测 量和改进企业的运转状况。 起源于6个标准偏差,每百万个操作发生 3.4个错误意味着非常高的质量标准。 6Sigma核心步骤 定义:定义客户需求、可交付产品与项目目标; 测量:测量现有过程及产品,确定当前质量状况; 分析:分析度量信息,找到少数原因; 改进:消除缺陷根本原因; 控制:控制过程以保证以后的工作不会引入缺陷原因。 软件可靠性 定义:在特定环境和特定时间内,软件 正常运行的概率。 不能正常运行为失效,依据造成后果、 改正难易程度,分为: 一般 严重 灾难 可靠性与可用性的测量 可靠性的简单测量:平均失效间隔时间(MTBF MTBF=MTTF(平均无故障时间) +MTTR(平均修复时间) 可用性:某个时间点成功运行的概率: 可用性=MTTF/(MTTF+MTTR) X 100% 软件安全 定义:一种软件质量保证活动,他主要用来识 别和评估可能对软件产生负面影响并促使整个 系统失效的潜在灾难。 主要在建模、分析过程中使用,如汽车: 产生失去控制的加速,不能停止; 踩下刹车踏板后没有反应; 开关打开后不能启动; 加速、减速缓慢。 软件安全分析 分析方法:失效树分析、实对逻辑、 Petri-Net模型等; 安全需求规格说明(事件清单、系统响 应); 注意区别: 软件可靠性与软件安全性 安全性分析与风险分析 ISO 9000质量标准 质量保证体系:用于实现质量管理的组 织结构、责任、规程、过程和资源。 ISO9001-2000 建立质质量管理体系的要素为质为质 量管理体系建立评审评审 机制 建立、实施和改进质 量体系 确定评审 方法和反馈机制 制定质量方针,强调质 量体系的重要性 制定跟踪程序 编编制质质量体系文件 确定质质量资资源(包括人员员、培训训、基础设础设 施要 素) 描述过程 建立控制机制 编制操作手册 针对 策划 编制控制(更新)文件的

温馨提示

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

评论

0/150

提交评论