Ch2一软件质量.ppt

  1. 1、本文档共27页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Ch2一软件质量

Zhu.Kerry@ 作者 第 2章 软件质量 2.1 软件特点 2.2 软件过程 2.3 软件缺陷 2.4 软件质量 2.5 软件质量的内容 软硬件特征比较 特征 软件 硬件 存在形式 虚拟、动态 固化、稳定 客户需求 不确定性 相对清楚 度量性 非常困难 正常 生产过程 逻辑性强 流水线、工序 逻辑关系 复杂 清楚 接口 复杂 多数简单、适中 维护 复杂、新的需求、可以不断打补丁 多数简单、适中、没有新的需求 软件是相对硬件而相对存在,是逻辑的、知识性的产品集合,是对物理世界的一种抽象,或者是某种物理形态的虚拟化。 软、硬件开发过程比较 软件 硬件 54-56%质量缺陷来自需求不清楚 需求分析 ?? 调研分析 质量控制的主要阶段之一 25%质量缺陷来自设计和编程 设计、编程 ?? 设计阶段 质量控制的主要阶段之一 测 试 ?? 设计审查 发 布 ?? 设计完成 这里不是软件质量管理的主要阶段 软件拷贝 ?? 制造、检验 生产的主要过程,质量控制的重点 不仅支持原有功能,解决以前就存在的问题,而且增加新特性、加强新功能 维 护 ?? 维 修 支持原有功能,解决运行中出现的问题,一般比较容易预测 2.2 软件过程 2.2.1 软件开发的基本过程 2.2.2 软件开发过程模型 2.2.3 V模型的完整诠释 2.2.4 敏捷方法之极限编程 2.2.5 阶段性开发模型 2.2.1 软件开发的基本过程 需求分析: 根据客户的要求,清楚了解客户需求中的产品功能、特性、性能、界面和具体规格等,然后进行分析,确定软件产品所能达到的目标。 设计: 根据需求分析的结果,考虑如何在逻辑、程序上去实现所定义的产品功能、特性等,可以分为概要设计和详细设计,也可分为数据结构设计、软件体系结构设计、应用接口设计、模块设计、界面设计等。 编程: 将设计转换成计算机可读的形式。 测试: 对设计、编程进行验证和用户需求确认的过程 维护:维持软件运行,修改软件缺陷、增强已有功能、增加新功能、升级等。 2.2.2 软件开发过程模型 瀑布模型 原型模型 快速应用开发(RAD)模型 改进的V模型 。。。 XP模型 协议开发— 形式描述技术FDT 敏捷方法----极限编程模型 2.2.3 V模型的完整诠释 分析/设计 复审(静态测试) 检验、动态测试 黑盒方法测试 灰盒方法测试 白盒方法测试 测试目标 测试计划 系统测试设计和环境 功能测试用例设计 工程师、技术人员 客户、市场、产品人员 需求分析定义 系统、结构设计 详细或程序设计 编码 单元测试 功能测试 系统测试 验收测试 确认需求 技术实现 2.2.4 敏捷方法之极限编程 为了满足互联网的需求,适应迅速变化的需求而产生的,以帮助软件开发团体或组织建立快速开发软件的能力 原则: 最优先要做的是通过尽早的、持续的交付有价值的软件来使客户满意; 敏捷过程提倡可持续的开发速度,责任人、开发者和用户成为一个软件团队,能够保持一个长期稳定的开发速度。 即使到了开发后期,需求改变还是受欢迎的。 每隔一定时间,团队会在如何才能更有效地工作方面反省,然后相应地对自己的行为进行调整。 XP-eXtreme Programming XP生命周期 用户案例 系统架构 发布计划 迭代 验收测试 小版本发布 试探 需求 测试场景 系统隐喻 缺陷 新用户案例 发布计划 不确定 的评估 确信 的评估 下一次反复 最后版本 用户认同 基本观点: 结对编程:所有的产品代码都是由结对的程序员使用同一台计算机共同完成的,一位输入代码,另一位观察输入的代码并寻找代码中的错误和可以改进的地方。两个人协同工作、交互工作,互换角色,共同完成一个任务。 隐喻:将整个系统联系在一起的全局视图,是系统的未来景象,使得所有单独模块的位置和外观变得明显直观。,隐喻通常可以归结为提供了一个系统组成元素及其关系定义的名字系统。 2.2.5 阶段性开发模型 分阶段开发的基本模型 增量模型:描述软件产品的不同阶段是按产品所具有的功能进行划分,先开发主要功能或用户最需要的功能,然后随着时间推进,不断增加新的辅助功能或次要功能,最终开发出一个功能完善的、稳定的产品。 分阶段开发的基本模型 迭代模型:描述软件产品的不同阶段是按产品深度或细化的程度来划分,先将产品的整个框架都建立起来,在系统的初期,已经具有用户所需要的全部功能。 2.3 软件缺陷 2.3.1 什么是软件缺陷 2.3.2 软件缺陷的产生 2.3.3 软件缺陷的分类 2.3.1 什么是软件缺陷 缺点(defect) 偏差 (variance) 谬误(fault) 失败 (failure) 问题(problem)

文档评论(0)

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

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

1亿VIP精品文档

相关文档