书签 分享 收藏 举报 版权申诉 / 39
上传文档赚钱

类型软件质量.ppt

  • 上传人(卖家):saw518
  • 文档编号:5834288
  • 上传时间:2023-05-11
  • 格式:PPT
  • 页数:39
  • 大小:1.23MB
  • 【下载声明】
    1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
    2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
    3. 本页资料《软件质量.ppt》由用户(saw518)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
    4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
    5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
    配套讲稿:

    如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。

    特殊限制:

    部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。

    关 键  词:
    软件 质量
    资源描述:

    1、 Hands-On实训教程系列实训教程系列软件质量保证和管理-Ch.2 软件质量 Hands-On实训教程系列实训教程系列 回顾回顾1.1 质量质量 概念,质量属性1.2 客户客户 内部客户,外部客户,客户识别,户与质量的关系1.3 不同的质量观点不同的质量观点1.4 质量概念的发展质量概念的发展1.5 质量形成过程质量形成过程1.6 质量管理的发展历程质量管理的发展历程 Hands-On实训教程系列实训教程系列第第 2章章 软件质量软件质量 2.1 软件特点软件特点 2.2 软件过程软件过程 2.3 软件缺陷软件缺陷 2.4 软件质量软件质量 2.5 软件质量的内容软件质量的内容 Hands

    2、-On实训教程系列实训教程系列软硬件特征比较特征特征软件软件硬件硬件存在形式存在形式虚拟、动态虚拟、动态固化、稳定固化、稳定客户需求客户需求不确定性不确定性相对清楚相对清楚度量性度量性非常困难非常困难正常正常生产过程生产过程逻辑性强逻辑性强流水线、工序流水线、工序逻辑关系逻辑关系复杂复杂清楚清楚接口接口复杂复杂多数简单、适中多数简单、适中维护维护复杂、新的需求、可复杂、新的需求、可以不断打补丁以不断打补丁多数简单、适中、没有新多数简单、适中、没有新的需求的需求 Hands-On实训教程系列实训教程系列软、硬件开发过程比较 软件软件硬件硬件54-56%质量缺陷来自需求不清楚需求分析需求分析调研分

    3、析调研分析质量控制的主要阶段之一25%质量缺陷来自设计和编程设计、编程设计、编程设计阶段设计阶段质量控制的主要阶段之一测测 试试设计审查设计审查发发 布布设计完成设计完成这里不是软件质量管理的主要阶段软件拷贝软件拷贝制造、检验制造、检验生产的主要过程,质量控制的重点不仅支持原有功能,解决以前就存在的问题,而且增加新特性、加强新功能维维 护护维维 修修支持原有功能,解决运行中出现的问题,一般比较容易预测 Hands-On实训教程系列实训教程系列2.2 软件过程软件过程 Hands-On实训教程系列实训教程系列2.2.1 软件开发的基本过程软件开发的基本过程 需求分析需求分析:根据客户的要求,清楚

    4、了解客户需求中的产品功能、特性、性能、界面和具体规格等,然后进行分析,确定软件产品所能达到的目标。设计设计:根据需求分析的结果,考虑如何在逻辑、程序上去实现所定义的产品功能、特性等,可以分为概要设计和详细设计,也可分为数据结构设计、软件体系结构设计、应用接口设计、模块设计、界面设计等。编程编程:将设计转换成计算机可读的形式。测试测试:对设计、编程进行验证和用户需求确认的过程 维护:维护:维持软件运行,修改软件缺陷、增强已有功能、增加新功能、升级等。Hands-On实训教程系列实训教程系列2.2.2 软件开发过程模型软件开发过程模型p 瀑布模型瀑布模型p 原型模型原型模型p 快速应用开发快速应用

    5、开发(RAD)模型模型p 改进的改进的V模型模型p 螺旋模型螺旋模型p 增量模型和迭代模型增量模型和迭代模型p 构件组装模型构件组装模型p 并发模型并发模型pRational统一过程模型和统一过程模型和UMLp XP模型模型p协议开发协议开发 形式描述技术形式描述技术FDT Hands-On实训教程系列实训教程系列软件开发模式软件开发模式1、大棒开发法、大棒开发法l源于能量爆发创造宇宙,万物都由能量和物质积聚而成源于能量爆发创造宇宙,万物都由能量和物质积聚而成的理论,但如果不是遵循某种正确的排列和组合,形成的理论,但如果不是遵循某种正确的排列和组合,形成的将不是预先期望的事物。大棒模式与上述理

    6、论一样:的将不是预先期望的事物。大棒模式与上述理论一样:一大堆能量(这里指开发软件所需的人力和物力)放在一大堆能量(这里指开发软件所需的人力和物力)放在一起,巨大的能量进行释放,通常的结果可能是产生了一起,巨大的能量进行释放,通常的结果可能是产生了优秀的软件产品或成为一堆优秀的软件产品或成为一堆“废品废品”(不成功的软件)(不成功的软件)。l优点:思路简单,优点:思路简单,通常可能是开发者的通常可能是开发者的“突发奇想突发奇想”l缺点:开发过程是非工程化的,随意性大缺点:开发过程是非工程化的,随意性大l关于测试:有的较简单,有的则非常困难关于测试:有的较简单,有的则非常困难 Hands-On实

    7、训教程系列实训教程系列软件开发模式软件开发模式(续)(续)2、边写边改法、边写边改法l采用边写边改法的软件开发通常只是有了比较粗略的想采用边写边改法的软件开发通常只是有了比较粗略的想法就开始进行简单的设计、然后进行较长的反复编写、法就开始进行简单的设计、然后进行较长的反复编写、测试与修复这样一个循环的过程。在认为无法更精细的测试与修复这样一个循环的过程。在认为无法更精细的描述软件产品要求时,就发布产品。描述软件产品要求时,就发布产品。l优点:能够较为迅速的展现成果,适合需要快速制作而优点:能够较为迅速的展现成果,适合需要快速制作而且用完就扔的小项目,如示范程序、演示程序等。且用完就扔的小项目,

    8、如示范程序、演示程序等。l缺点:其编码和测试可能将是长期的循环往复的过程。缺点:其编码和测试可能将是长期的循环往复的过程。Hands-On实训教程系列实训教程系列软件开发模式软件开发模式(续)(续)产品说明书代码编制、测试、修复代码编制、测试、修复 最终产品 Hands-On实训教程系列实训教程系列软件开发模式软件开发模式(续)(续)3、瀑布法、瀑布法l瀑布模式是将软件生命周期的各项活动,规定为按照固定瀑布模式是将软件生命周期的各项活动,规定为按照固定顺序相连的若干个阶段性工作,形如瀑布流水,最终得到顺序相连的若干个阶段性工作,形如瀑布流水,最终得到软件产品。软件产品。l优点:优点:易于理解;

    9、调研开发的阶段性;强调早期计划及需易于理解;调研开发的阶段性;强调早期计划及需求调查;确定何时能够交付产品及何时进行评审与测试。求调查;确定何时能够交付产品及何时进行评审与测试。l缺点:缺点:需求调查分析只进行一次,不能适应需求变化;顺需求调查分析只进行一次,不能适应需求变化;顺序的开发流程,使得开发中的经验教训不能反馈到该项目序的开发流程,使得开发中的经验教训不能反馈到该项目的开发中去;不能反映出软件开发过程的反复与迭代性;的开发中去;不能反映出软件开发过程的反复与迭代性;没有包含任何类型的风险评估;开发中出现的问题直到开没有包含任何类型的风险评估;开发中出现的问题直到开发后期才能够显露,因

    10、此失去及早纠正的机会。发后期才能够显露,因此失去及早纠正的机会。Hands-On实训教程系列实训教程系列软件开发模式软件开发模式(续)(续)问题定义分析研究需求分析软件设计编码测试维护定义阶段开发阶段维护阶段 Hands-On实训教程系列实训教程系列软件开发模式软件开发模式(续)(续)4、快速原型法、快速原型法 根据客户需求在较短的时间内解决用户最迫切解决的根据客户需求在较短的时间内解决用户最迫切解决的问题,完成可演示的产品。这个产品只实现最重要功能,问题,完成可演示的产品。这个产品只实现最重要功能,在得到用户的更加明确的需求之后,原型将丢弃。在得到用户的更加明确的需求之后,原型将丢弃。需求分

    11、析原型开发原型评价最终设计系统实现用户反馈图1-8 快速原型开发模式 Hands-On实训教程系列实训教程系列软件开发模式软件开发模式(续)(续)5、螺旋模式法、螺旋模式法l螺旋模式是瀑布模式与边写边改演化模式相结合,并加螺旋模式是瀑布模式与边写边改演化模式相结合,并加入风险评估所建立的软件开发模式。入风险评估所建立的软件开发模式。l主要思想是在开始时不必详细定义所有细节,而是从小主要思想是在开始时不必详细定义所有细节,而是从小开始,定义重要功能,尽量实现,接受客户反馈,进入开始,定义重要功能,尽量实现,接受客户反馈,进入下一阶段,并重复上述过程,直到获得最终产品。下一阶段,并重复上述过程,直

    12、到获得最终产品。l每一螺旋(开发阶段)包括每一螺旋(开发阶段)包括5个步骤:确定目标,选择个步骤:确定目标,选择方案和限制条件。方案和限制条件。对方案风险进行评估,并能解决风对方案风险进行评估,并能解决风险。险。进行本阶段的开发和测试。进行本阶段的开发和测试。计划下一阶段。计划下一阶段。确定进入下阶段的方法。确定进入下阶段的方法。l优点:严格的全过程风险管理;强调各开发阶段的质量优点:严格的全过程风险管理;强调各开发阶段的质量;提供机会评估项目是否有价值继续下去。;提供机会评估项目是否有价值继续下去。Hands-On实训教程系列实训教程系列软件开发模式软件开发模式(续)(续)图1-9 螺旋开发

    13、模式详细设计风险分析评估方案累计成本提交线制定计划原型1原型2原型3可运行原型风险分析风险分析需求计划开发计划集成与测试软件需求软件产品设计需求确定设计确定实现编码单元测试集成测试验收测试 Hands-On实训教程系列实训教程系列2.2.3 V模型的完整诠释模型的完整诠释分析/设计复审(静态测试)检验、动态测试黑盒方法测试黑盒方法测试白盒方法测试测试目标 测试计划系统测试设计和环境功能测试用例设计工程师、技术人员客户、市场、产品人员需求分析定义系统、结构设计详细或程序设计编码单元测试功能测试系统测试验收测试确认需求技术实现 Hands-On实训教程系列实训教程系列2.2.4 敏捷方法之极限编程

    14、敏捷方法之极限编程l最简单的可能就是最有效的最简单的可能就是最有效的l极限编程适合极限编程适合小团队小团队(2-10 programmers)“高风险高风险”快速变化或不稳定的需求快速变化或不稳定的需求强调可测试性强调可测试性l格言格言“沟通、简化、反馈、激励沟通、简化、反馈、激励”Kent BeckXP-eXtreme Programming Hands-On实训教程系列实训教程系列XP基本思想和原则基本思想和原则个体和交互个体和交互胜过过程和工具过程和工具可以工作的软件可以工作的软件胜过面面俱到的文档面面俱到的文档客户合作客户合作胜过合同谈判合同谈判响应变化响应变化胜过遵循计划遵循计划 最

    15、优先要做的是通过尽早的、持续的交付有价值的软件来使客户满意。敏捷过程提倡可持续的开发速度,责任人、开发者和用户应该能够保持一个长期稳定的开发速度。即使到了开发的后期,需求改变还是受欢迎。每隔一定时间,团队会进行反省,然后相应地对自己的行为进行调整。Hands-On实训教程系列实训教程系列XP生命周期生命周期 用户案例用户案例系统架构系统架构发布计划发布计划迭代迭代验收测试验收测试小版本发布小版本发布试探需求测试场景系统隐喻缺陷新用户案例发布计划不确定的评估确信的评估下一次反复最后版本用户认同 Hands-On实训教程系列实训教程系列2.2.5 阶段性开发模型阶段性开发模型 Hands-On实训

    16、教程系列实训教程系列增量和迭代模型增量和迭代模型增量开发增量开发迭代开发迭代开发 Hands-On实训教程系列实训教程系列2.3 软件缺陷2.3.1 什么是软件缺陷什么是软件缺陷2.3.2 软件缺陷的产生软件缺陷的产生2.3.3 软件缺陷的分类软件缺陷的分类 Hands-On实训教程系列实训教程系列2.3.1 什么是软件缺陷什么是软件缺陷缺点(defect)偏差(variance)谬误(fault)失败(failure)问题(problem)矛盾(inconsistency)错误(error)毛病(incident)异常(anomy)IEEE(1983)729 IEEE(1983)729 软件

    17、缺陷一个标准的定义:软件缺陷一个标准的定义:p 从产品内部看,软件缺陷是软件产品开发或维护过程中所存在的错误、毛病等各种问题;p 从外部看,软件缺陷是系统所需要实现的某种功能的失效或违背。Hands-On实训教程系列实训教程系列软件缺陷表现形式软件缺陷表现形式软件缺陷的主要类型软件缺陷的主要类型/现象:现象:p 功能、特性没有实现或部分实现p 设计不合理,存在缺陷p 实际结果和预期结果不一致p 运行出错,包括运行中断、系统崩溃、界面混乱p 数据结果不正确、精度不够p 用户不能接受的其他问题,如存取时间过长、界面不美观 Hands-On实训教程系列实训教程系列2.3.2 软件缺陷的产生软件缺陷的

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

    19、4.2 软件质量需求的内容软件质量需求的内容2.4.3 软件质量的定义软件质量的定义2.4.4 软件质量的特性分析软件质量的特性分析 Hands-On实训教程系列实训教程系列2.4.1 软件质量需求的背景软件质量需求的背景p质量的需求是被绝对认可的,但质量在软件业质量的需求是被绝对认可的,但质量在软件业的地位还不是十分坚固的地位还不是十分坚固 p市场力量对于软件质量的影响,既有正面的,市场力量对于软件质量的影响,既有正面的,也有负面的也有负面的 p软件越来越复杂,软件的复杂性又是软件质量软件越来越复杂,软件的复杂性又是软件质量(包括软件可靠性)的另一个敌人。(包括软件可靠性)的另一个敌人。p软

    20、件缺陷造成的质量事故数不胜数,给企业带软件缺陷造成的质量事故数不胜数,给企业带来的损失或负面影响很大来的损失或负面影响很大 。Hands-On实训教程系列实训教程系列2.4.2 软件质量需求的内容软件质量需求的内容用户的需求用户的需求p能正常使用全部所需要的功能p功能强大,而且界面美观、易用、好用p内容健康,有益于生活和工作p用户的数据安全、受保护和兼容p及时得到新的产品或得到更完美的软件服务p软件可靠性很高,使用软件服务没有时间障碍软件企业的需求软件企业的需求p软件质量是市场竞争的需要;p高质量的软件可以大大降低“质量问题产生的成本”,增加公司的盈利;p质量是进入国际市场的一个关键门坎;p容

    21、易维护、移植和扩充,以扩大市场或适应环境的变化。Hands-On实训教程系列实训教程系列2.4.3 软件质量的定义软件质量的定义ANSI/IEEE STD729给出了软件质量定义:软件产品满足规定的和隐含的与需求能力有关的全部特征和特性:(1)软件产品质量满足用户要求的程度;(2)软件各种属性的组合程度;(3)用户对软件产品的综合反映程度;(4)软件在使用过程中满足用户要求的程度。Hands-On实训教程系列实训教程系列RUP 软件质量的三个维度l功能功能(Functionality):):按照既定意图和要求,按照既定意图和要求,执行指定用例的能力。执行指定用例的能力。l可靠性可靠性(Reli

    22、ability):):软件坚固性和可靠性软件坚固性和可靠性(防故障能力,如防止崩溃、内存丢失等能力)、资源(防故障能力,如防止崩溃、内存丢失等能力)、资源利用率、代码完整性以及技术兼容性等。健壮性和有效利用率、代码完整性以及技术兼容性等。健壮性和有效性有时可看成是可靠性的一部分。性有时可看成是可靠性的一部分。l性能性能(Performance):):用来衡量系统占用系用来衡量系统占用系统资源统资源(CPU时间、内存时间、内存)和系统响应、表现的状态和系统响应、表现的状态 Hands-On实训教程系列实训教程系列高质量的软件高质量的软件应该是相对相对的无产品缺陷无产品缺陷(Bug Free)或只

    23、有极少量的缺陷,它能够准时递交准时递交给用户并且所用的费用都是在预算内预算内的并且满足客户需求满足客户需求,是可维护可维护的。但是,有关质量的好坏最终评价依赖于用户的反馈。Hands-On实训教程系列实训教程系列2.4.4 软件质量的特性分析软件质量的特性分析p 软件系统的可靠性和性能相互关联、相互影响p 软件系统的安全性和可靠性是一致的。因为任何一个失效,可能造成数据的不安全 Hands-On实训教程系列实训教程系列软件产品质量属性-功能性功能性 Functionality-可用性可用性 Usability(简单安装;轻松使用;友好界面)-可靠性可靠性 Reliability(用户使用的根本

    24、)-性能性能 Performance-容量容量 Capacity-可测量性可测量性 Scalability-可维护性可维护性 Service manageability-兼容兼容性性 Compatibility-可扩展性可扩展性 Extensibility Hands-On实训教程系列实训教程系列2.5 软件质量的内容软件质量的内容产品质量产品质量是人们实践产物的属性和行为,是可以认识,可以科学地描述的。并是人们实践产物的属性和行为,是可以认识,可以科学地描述的。并且可以通过一些方法和人类活动,来改进质量且可以通过一些方法和人类活动,来改进质量.质量模型:McCall 模型,Boehm 模型,

    25、ISO 9126 模型过程质量过程质量:软件能力成熟度模型软件能力成熟度模型 CMM(Capability Maturity Model).国际标准过程模型国际标准过程模型 ISO 9000 软件过程改进和能力决断软件过程改进和能力决断 SPICE(Software Process Improvement and Capability dEtermination)在商业过程中有关的质量内容在商业过程中有关的质量内容:培训、成品制作、宣传、发布日起、客户、风险、成本、业务等 Hands-On实训教程系列实训教程系列Boehm软件质量模型数据公开性数据公开性阐述性阐述性连贯性连贯性容错性容错性执行

    26、效率执行效率/储存效率储存效率存取控制存取控制/存取检查存取检查可训练可训练沟通良好沟通良好 简单性简单性易操作的易操作的工具工具自我操作性自我操作性扩展性扩展性一般性一般性模块性模块性软件系统独立性软件系统独立性机器独立性机器独立性通讯公开性通讯公开性正确性正确性可操作性可操作性 Hands-On实训教程系列实训教程系列软件过程质量l软件能力成熟度模型软件能力成熟度模型 CMM(Capability Maturity Model).l国际标准过程模型国际标准过程模型 ISO 9000l软件过程改进和能力决断软件过程改进和能力决断 SPICE(Software Process Improvem

    27、ent and Capability dEtermination)Hands-On实训教程系列实训教程系列小结小结l软件开发的规律、特征和基本方法:软件开发的规律、特征和基本方法:p必然是多层的分阶段进行,是迭代模型和增量模型的自然结合;p是一个软件设计实现和验证测试的并行过程,两者相辅相成;p需要充分的沟通,软件客户可以看作是软件开发团体的一部分p通过测试驱动会更有效,最简单可能是最有效的。l软件质量的定义、特性和内容件质量的定义、特性和内容:p软件缺陷的产生、分类和所引起的成本p软件质量的定义,软件质量不同视点(客户满意度、一致性准则、软件质量度量和过程质量观),三维性(功能、可靠性和性能)和3A特性(Accountability,Availability和Accessibility)p软件质量的特性分析p软件质量的内容,即软件产品质量,软件过程质量和软件商业环境质量

    展开阅读全文
    提示  163文库所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
    关于本文
    本文标题:软件质量.ppt
    链接地址:https://www.163wenku.com/p-5834288.html

    Copyright@ 2017-2037 Www.163WenKu.Com  网站版权所有  |  资源地图   
    IPC备案号:蜀ICP备2021032737号  | 川公网安备 51099002000191号


    侵权投诉QQ:3464097650  资料上传QQ:3464097650
       


    【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。

    163文库