软件质量(2)

上传人:子 文档编号:52186045 上传时间:2018-08-19 格式:PPT 页数:42 大小:1.26MB
返回 下载 相关 举报
软件质量(2)_第1页
第1页 / 共42页
软件质量(2)_第2页
第2页 / 共42页
软件质量(2)_第3页
第3页 / 共42页
软件质量(2)_第4页
第4页 / 共42页
软件质量(2)_第5页
第5页 / 共42页
点击查看更多>>
资源描述

《软件质量(2)》由会员分享,可在线阅读,更多相关《软件质量(2)(42页珍藏版)》请在金锄头文库上搜索。

1、Zhu.K作者软件质量保证和管理 - Ch 2 软件质量Zhu.KKerry ZhuZhu.K第1章 回顾1.1 质量 概念, 质量属性1.2 客户内部客户,外部客户,客户识别,户与质量的关系1.3 不同的质量观点1.4 质量概念的发展1.5 质量形成过程1.6 质量管理的发展历程Zhu.K第 2章 软件质量 2.1 软件特点 2.2 软件过程 2.3 软件缺陷 2.4 软件质量 2.5 软件质量的内容Zhu.K软硬件特征比较特征软件硬件 存在形式虚拟、动态固化、稳定客户需求不确定性相对清楚度量性非常困难正常生产过 程逻辑 性强流水线、工序逻辑 关系复杂清楚接口复杂多数简单 、适中维护复杂、新

2、的需求、可 以不断打补丁多数简单 、适中、没有新 的需求Zhu.K软、硬件开发过程比较 软件硬件54-56%质量缺陷来自 需求不清楚需求分析调研分析质量控制的主要阶段 之一 25%质量缺陷来自设 计和编程设计、编程设计阶 段质量控制的主要阶段 之一测 试设计审查发 布设计完成这里不是软件质量 管理的主要阶段软件拷贝制造、检验生产的主要过程,质 量控制的重点 不仅支持原有功能, 解决以前就存在的问 题,而且增加新特性 、加强新功能维 护维 修支持原有功能,解决运 行中出现的问题,一 般比较容易预测Zhu.K2.2 软件过程 2.2.1 2.2.1 软件开发的基本过程软件开发的基本过程2.2.2

3、2.2.2 软件开发过程模型软件开发过程模型2.2.3 V2.2.3 V模型的完整诠释模型的完整诠释2.2.4 2.2.4 敏捷方法之极限编程敏捷方法之极限编程2.2.5 2.2.5 阶段性开发模型阶段性开发模型Zhu.K2.2.1 软件开发的基本过程 需求分析: 根据客户的要求,清楚了解客户需求中的产品功能、特性、性能、界面和具体规格等,然后进行分析,确定软件产品所能达到的目标。 设计: 根据需求分析的结果,考虑如何在逻辑、程序上去实现所定义的产品功能、特性等,可以分为概要设计和详细设计,也可分为数据结构设计、软件体系结构设计、应用接口设计、模块设计、界面设计等。 编程: 将设计转换成计算机

4、可读的形式。 测试: 对设计、编程进行验证和用户需求确认的过程 维护:维持软件运行,修改软件缺陷、增强已有功能、增加新功能、升级等。Zhu.K2.2.2 软件开发过程模型p 瀑布模型p 原型模型p 快速应用开发(RAD)模型p 改进的V模型p 螺旋模型p 增量模型和迭代模型p 构件组装模型p 并发模型pRational统一过程模型和UMLp XP模型p协议开发 形式描述技术FDTZhu.K2.2.3 V模型的完整诠释分析/设计 复审(静态测试)检验、动态测试黑盒方法测试灰盒方法测试白盒方法测试测试目标测试计划系统测试设 计和环境功能测试 用例设计工程师、技术人员客户、市场、产品人员需求分析 定

5、义系统、结构 设计详细或程序 设计编码单元测试功能测试系统测试验收测试确认需求技术实现Zhu.K2.2.4 敏捷方法之极限编程最简单的可能就是最有效的极限编程适合小团队 (2-10 programmers)“高风险”快速变化或不稳定的需求强调可测试性格言“沟通、简化、反馈、激励”Kent BeckXP-eXtreme ProgrammingZhu.KXP基本思想和原则个体和交互胜过过程和工具可以工作的软件胜过面面俱到的文档客户合作胜过合同谈判响应变化胜过遵循计划 最优先要做的是通过尽早的、持续的交付有价值的软件来使客户满意。 敏捷过程提倡可持续的开发速度,责任人、开发者和用户应该能够保持 一个

6、长期稳定的开发速度。 即使到了开发的后期,需求改变还是受欢迎。 每隔一定时间,团队会进行反省,然后相应地对自己的行为进行调整。 Zhu.KXP生命周期 用户案例系统架构发布计划迭代验收测试小版本发布试探需求测试场景系统隐喻缺陷新用户案例发布 计划不确定 的评估确信 的评估下一次反复最后版本用户 认同Zhu.K2.2.5 阶段性开发模型Zhu.K增量和迭代模型增量开发迭代开发Zhu.KRUP模型迭代过程 Zhu.K2.3 软件缺陷2.3.1 什么是软件缺陷2.3.2 软件缺陷的产生2.3.3 软件缺陷的分类Zhu.K2.3.1 什么是软件缺陷缺点(defect) 偏差 (variance)谬误(

7、fault) 失败 (failure)问题(problem) 矛盾(inconsistency)错误(error ) 毛病 (incident )异常(anomy)IEEE (1983) 729 软件缺陷一个标准的定义:p 从产品内部看,软件缺陷是软件产品开发或维护过程中所存在的错 误、毛病等各种问题;p 从外部看,软件缺陷是系统所需要实现的某种功能的失效或违背。Zhu.K软件缺陷表现形式软件缺陷的主要类型/现象:p 功能、特性没有实现或部分实现p 设计不合理,存在缺陷p 实际结果和预期结果不一致p 运行出错,包括运行中断、系统崩溃、界面混乱p 数据结果不正确、精度不够p 用户不能接受的其他问

8、题,如存取时间过长、界面 不美观 Zhu.K2.3.2 软件缺陷的产生p 项目期限的压力p 产品的复杂度p 沟通不良p 开发人员的疲劳、压力或受到干扰p 缺乏足够的知识、技能和经验p 不了解客户的需求p 缺乏动力Zhu.K软件缺陷的产生 - 2 技术问题 算法错误,语法错误,计算和精度问题,接口参数传递不 匹配 团队工作 误解、沟通不充分 软件本身 文档错误、用户使用场合(user scenario), 时间上不协调、或不一致性所带来的问题 系统的自我恢复或数据的异地备份、灾难性恢复等问题Zhu.K2.3.3 软件缺陷的分类Zhu.K2.4 软件质量2.4.1 软件质量需求的背景2.4.2 软

9、件质量需求的内容2.4.3 软件质量的定义2.4.4 软件质量的特性分析Zhu.K问题出在哪里? 项目没有被很好地理解;计划不周, 最终导致进度拖延。 没有充分的文档资料。 人与人的交流比写程序困难得多。 软件可靠性缺少度量的标准,质量无 法保证。 软件难以维护、不易升级。Zhu.K2.4.1 软件质量需求的背景p质量的需求是被绝对认可的,但质量在软件业 的地位还不是十分坚固 p市场力量对于软件质量的影响,既有正面的, 也有负面的 p软件越来越复杂,软件的复杂性又是软件质量 (包括软件可靠性)的另一个敌人。 。p软件缺陷造成的质量事故数不胜数,给企业带 来的损失或负面影响很大 。Zhu.K2.

10、4.2 软件质量需求的内容用户的需求p能正常使用全部所需要的功能 p功能强大,而且界面美观、易用、好用 p内容健康,有益于生活和工作 p用户的数据安全、受保护和兼容 p及时得到新的产品或得到更完美的软件服务 p软件可靠性很高,使用软件服务没有时间障碍软件企业的需求p软件质量是市场竞争的需要; p高质量的软件可以大大降低“质量问题产生的成本”,增加公司 的盈利; p质量是进入国际市场的一个关键门坎; p容易维护、移植和扩充,以扩大市场或适应环境的变化。Zhu.K2.4.3 软件质量的定义ANSI/IEEE STD729给出了软件质量定义:软件产品满足规定的和隐含的与需求能力有关的全 部特征和特性

11、:(1) 软件产品质量满足用户要求的程度;(2) 软件各种属性的组合程度;(3) 用户对软件产品的综合反映程度;(4) 软件在使用过程中满足用户要求的程度。Zhu.K软件质量的其它定义SEI的Watts Humphrey认为软件质量是“在实用性、需求、 可靠性和可维护性一致上,达到优秀的水准” 1. 客户满意度:使最终的软件产品能最大限度地满足客户需求 的程度。2. 一致性准则:在生命周期的每个阶段中,其工作产品总能保 持与上一阶段工作产品的一致性,最终可追索到分配需求。3. 软件质量度量:设立软件质量度量指标体系(例如:ISO 9126),并以此来度量软件产品的质量。4. 过程质量观:软件的

12、质量就是其开发过程的质量。Humphrey 的质量观是“软件系统的质量取决于开发和维护它的过程的质量。”Zhu.K软件质量范围- 3AAccountability (可说明性) 用户可以基于产品或服务 的描述和定义进行使用. (例如: 市场需求说明书, 功能 设计说明书.)Availability (有效性) 产品或服务对于99.999% 客户 总是有效的 (例如: 性能测试和恢复测试)Accessibility (易用性) 对于用户, 产品或服务非常容 易使用并且一定是非常有用的功能 . (例如: 确认测试 和用户可用性测试) Zhu.KRUP 软件质量的三个维度功能(Functionali

13、ty):按照既定意图和要求,执行 指定用例的能力。可靠性(Reliability ):软件坚固性和可靠性(防故 障能力,如防止崩溃、内存丢失等能力)、资源利用率 、代码完整性以及技术兼容性等。健壮性和有效性有时 可看成是可靠性的一部分。性能(Performance):用来衡量系统占用系统资源 (CPU时间、内存)和系统响应、表现的状态Zhu.K高质量的软件应该是相对的无产品缺陷(Bug Free)或只有极少量 的缺陷, 它能够准时递交给用户并且所用的费用都是在 预算内的并且满足客户需求,是可维护的。但是, 有 关质量的好坏最终评价依赖于用户的反馈。Zhu.K2.4.4 软件质量的特性分析p 软

14、件系统的可靠性和性能相互关联、相互影响p 软件系统的安全性和可靠性是一致的。因为任 何一个失效,可能造成数据的不安全 Zhu.K软件产品质量属性- 功能性 Functionality- 可用性 Usability (简单安装; 轻松使用; 友好界面)- 可靠性 Reliability (用户使用的根本)- 性能 Performance- 容量 Capacity- 可测量性 Scalability- 可维护性 Service manageability- 兼容性 Compatibility- 可扩展性 ExtensibilityZhu.K软件质量特征 ( ISO9126)功能:与一组功能及其指定性质有关的一组属性,这里的功能是满足 明确或隐含的需求的那些功能。可靠:在规定的一段时间和条件下,与软件维持其性能水平的能力有 关的一组属性。易用:由一组规定或潜在的用户为使用软件所需作的努力和所作的评 价有关的一组属性。效率:与在规定条件下软件的性能水平与所使用资源量之间关系有关 的一组属性。可维护:与进行指定的修改所需的努力有关的一组属性。可移植:与软件从一个环境转移到另一个环境的能

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 生活休闲 > 科普知识

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号