软件质量.ppt
《软件质量.ppt》由会员分享,可在线阅读,更多相关《软件质量.ppt(71页珍藏版)》请在三一办公上搜索。
1、软件质量,2023年2月5日星期日,2,提纲,4.1 软件质量概念4.2 软件质量特性4.3 软件质量度量4.4 软件质量管理4.5 软件质量保证,2023年2月5日星期日,3,4.1 软件质量概念,质量定义:从最狭义上讲,质量可被定义为“无缺陷”。但是,绝大多数以顾客为中心的企业对质量的定义远不止这些,他们是根据顾客满意来定义质量的。质量以顾客的需要为开始,以顾客满意为结束。,2023年2月5日星期日,4,4.1 软件质量概念,Motorola对于缺陷的定义:如果顾客不喜欢,那该产品就是有缺陷。”美国质量管理协会对于质量的定义:与一种产品或服务满足顾客需要的能力有关的各种特色和特征的总和。软
2、件质量天生符合上述含义,最初的定制式软件系统首先要求必须满足用户的需求。,2023年2月5日星期日,5,4.1 软件质量概念,软件质量的定义:ANSI/IEEE Std 729-1983定义软件质量为“与软件产品满足规定的和隐含的需求的能力有关的特征或特性的全体”。M.J.Fisher 定义软件质量为“所有描述计算机软件优秀程度的特性的组合”。,2023年2月5日星期日,6,4.1 软件质量概念,为了评价软件质量,需要对软件是否满足功能要求、性能要求、符合文档规范标准的程度设计一些质量特性及其组合,作为在软件开发与维护中的判断软件质量的重要考虑因素。如果上述质量特性及其组合在产品中得到了满足,
3、则软件质量就是高的。,2023年2月5日星期日,7,4.1 软件质量概念,软件质量反映了以下三方面的问题:软件需求是度量软件质量的基础。不符合需求的软件就不具备质量。在各种标准中定义了一些开发准则,用来指导软件人员用工程化的方法来开发软件。如果不遵守这些开发准则,软件质量就得不到保证。往往会有一些隐含的需求(可维护性)没有明确提出来。如果软件只满足那些精确定义了的需求而没有满足这些隐含的需求,软件质量也得不到保证。,2023年2月5日星期日,8,4.1 软件质量概念,软件质量不仅仅是狭义上的软件没有缺陷,还应该包括:不断改进、提高内部顾客和外部顾客满意度;缩短产品开发周期与投放市场时间;降低质
4、量成本等。软件质量是全面质量的概念,面对日新月异的技术发展,如何不断创新以满足顾客快速变化的需求,是每个软件企业必须解决的重要课题。,2023年2月5日星期日,9,4.1 软件质量概念,全面质量管理(TQM)的理解:质量要从顾客的角度来看质量始于顾客的需要,终于顾客的理解。质量不仅要反映在企业的产品上,而且要反映在企业的每一个行为上。质量需要全体员工同心协力应使外部顾客和内部顾客都感到满意。质量要求高质量的合作伙伴包括高质量的供应商和销售商。质量方案不能够挽救劣质产品一个质量运动并不能够补救产品缺陷。质量是可以得到改进的要靠每一个人去不断地改进每一件事。质量改进有时需要数量上的飞跃较大的改进必
5、须有新的解决办法和更精明的工作的方式。质量并不导致成本上升改进质量要求“一次性做好”,以减少补救、修正和重新设计的成本,更不 必说在顾客满意度方面有什么损失了。质量是必须的但可能还不够尤其当所有的竞争者都将其质量提高到大致同一水平时。,2023年2月5日星期日,10,4.2 软件质量特性,软件质量是各种特性的复杂组合。它随着应用的不同而不同,随着用户提出的质量要求不同而不同。为了评价软件质量,必须定义软件质量特性,以及软件质量评价准则。,2023年2月5日星期日,11,4.2 软件质量特性,软件质量特性,反映了软件的本质。讨论一个软件的质量,问题最终要归结到定义软件的质量特性。定义一个软件的质
6、量,就等价于为该软件定义一系列质量特性。人们通常把影响软件质量的特性用软件质量模型来描述。,2023年2月5日星期日,12,4.2 软件质量特性,软件质量模型的共同特点就是将软件质量特性定义成分层模型;最基本的叫做基本质量特性,它可以由一些子质量特性定义和度量。二次特性在必要时又可由它的一些子质量特性定义和度量。1976年 Boehm质量模型1979年 McCall质量模型1985年 ISO质量模型,2023年2月5日星期日,13,4.2 软件质量特性,Boehm软件质量模型三个层次:软件质量要素、软件质量评价准则、软件质量度量,2023年2月5日星期日,14,4.2 软件质量特性,Boehm
7、第一层:6个软件质量要素功能性:软件所实现的功能满足用户需求的程度功能性反映了所开发的软件满足用户陈述或隐含的需求的程度,即用户要求的功能是否全部实现了。可靠性:在规定的时间和条件下,软件所能维持其性能水平的程度。可靠性对某些软件是重要的质量要求,它除了反映软件满足用户需求正常运行的程度外,还反映了在故障发生时能继续运行的程度。,2023年2月5日星期日,15,4.2 软件质量特性,易使用性:对于一个软件,用户学习、操作、准备输入和理解输出时,所做努力的程度。易使用性反映了与用户的友善性,即用户在使用本软件时是否方便。效率:在指定的条件下,用软件实现某种功能所需的计算机资源(包括时间)的有效程
8、度。效率反映了在完成功能要求时,有没有浪费资源,此外“资源”这个术语有比较广泛的含义,它包括了内存、外存的使用,通道能力及处理时间。,2023年2月5日星期日,16,4.2 软件质量特性,可维护性:在一个可运行软件中,为了满足用户需求、环境改变或软件错误发生时,进行相应修改所做的努力程度。可维护性反映了在用户需求改变或软件环境发生变更时,对软件系统进行相应修改的容易程度。一个易于维护的软件系统也是一个易理解、易测试和易修改的软件,以便纠正或增加新的功能,或允许在不同软件环境上进行操作。可移植性:从一个计算机系统或环境转移到另一个计算机系统或环境的容易程度。,2023年2月5日星期日,17,4.
9、2 软件质量特性,Boehm第二层:22个软件质量评价准则精确性:在计算和输出时所需精度的软件属性;健壮性:在发生意外时,能继续执行和恢复系统的软件属性;安全性:防止软件受到意外或蓄意的存取、使用、修改、毁坏或泄密的软件属性;以及:通信有效性、处理有效性、设备有效性、可操作性、培训性、完备性、一致性、可追踪性、可见性、硬件系统无关性、软件系统无关性、可扩充性、公用性、模块性、清晰性、自描述性、简单性、结构性、产品文件完备性。,2023年2月5日星期日,18,4.2 软件质量特性,软件质量评价准则的一定组合将反映某一软件质量要素,软件质量要素与评价准则间的关系如下图,2023年2月5日星期日,1
10、9,4.2 软件质量特性,Boehm第三层:软件质量度量根据软件的需求分析、概要设计、详细设计、实现、组装测试、确认测试和维护与使用七个阶段,制定了针对每一个阶段的问卷表,以此实现软件开发过程的质量控制。对于企业来说,不管是定制,还是外购软件后的二次开发,了解和监控软件开发过程每一个环节的进展情况、产品水平都是至关重要的,因为软件质量的高低,很大程度上取决于用户的参与程度。,2023年2月5日星期日,20,4.2 软件质量特性,应用Boehm模型进行软件质量评价要注意:对于不同类型的软件,系统软件、控制软件、管理软件、CAD软件、教育软件、网络软件及不同规模的软件,对于质量要求、评价准则、度量
11、问题的侧重点有所不同应加以区别。,2023年2月5日星期日,21,4.2 软件质量特性,在需求分析、概要设计、详细设计及其实现阶段,主要评价软件需求是否完备,设计是否完全反映了需求以及编码是否简洁、清晰。而且,每一个阶段都存在一份特定的度量工作表,它由特定的度量元素组成,根据度量元素的得分就可逐步得到度量准则及质量要素的得分,并在此基础上做出评价。对软件各阶段都进行质量度量的根本目的是以此控制软件成本、开发进度,改善软件开发的效率和质量。,2023年2月5日星期日,22,4.2 软件质量特性,McCall质量模型也是三层次模型:11个面向软件产品的运行、修正、转移的反映软件质量的特性;用作评价
12、规则的软件属性;观察软件质量的软件属性度量。,2023年2月5日星期日,23,4.2 软件质量特性,2023年2月5日星期日,24,4.2 软件质量特性,2023年2月5日星期日,25,4.2 软件质量特性,McCall质量模型的三层次框架,特性,评价准则,评价准则,评价准则,度量,度量,度量,面向管理观点的产品质量,决定产品质量的软件属性,定量化地度量软件属性,2023年2月5日星期日,26,4.2 软件质量特性,对各个质量特性的直接度量是很困难的,McCall定义了下列软件属性:可跟踪性、完备性、一致性、安全性、容错性、准确性、简单性、执行效率、存储效率、存取控制、存取审查、操作性、易训练
13、性、简明性、模块独立性、自描述性、结构性、文档完备性、通用性、可扩充性、可修改性、自检性、机器独立性、软件系统独立性、通信共享性、I/O容量、I/O速率、通信性。,2023年2月5日星期日,27,4.2 软件质量特性,ISO质量模型由三层模型组成:高层:软件质量需求评价准则(SQRC)中层:软件质量设计评价准则(SQDC)底层:软件质量度量评价准则(SQMC)高层和中层建立国际标准,低层可由各使用单位视实际情况制定。,2023年2月5日星期日,28,4.2 软件质量特性,2023年2月5日星期日,29,4.2 软件质量特性,软件质量特性之间存在竞争,2023年2月5日星期日,30,4.3 软件
14、质量度量,软件质量特性度量有两类:预测型和验收型。预测度量是利用定量或定性的方法,估算软件质量的评价值,以得到软件质量的比较精确的估算值。验收度量是在软件开发各阶段的检查点,对软件的要求质量进行确认性检查的具体评价值,它是对开发过程中的预测进行评价。,2023年2月5日星期日,31,4.3 软件质量度量,预测度量有两种。第一种叫做尺度度量,这是一种定量度量。它适用于一些能够直接度量的特性,例如,出错率定义为:错误数KLOC单位时间。第二种叫做二元度量,这是一种定性度量。它适用于一些只能间接度量的特性,例如,可使用性、灵活性等等。,2023年2月5日星期日,32,4.3 软件质量度量,尺度度量检
15、查表,2023年2月5日星期日,33,4.3 软件质量度量,二元度量检查表,2023年2月5日星期日,34,4.3 软件质量度量,软件可靠性的度量:软件可靠性是软件在给定的时间间隔及给定的环境条件下,按设计要求,成功地运行程序的概率。(1)环境条件:Context,I/O Constraint(2)规定的时间:Run Time(3)规定的功能:功能的主次、失效的损失。(4)成功地运行:程序正确运行;错误恢复能力。,2023年2月5日星期日,35,4.3 软件质量度量,软件可靠性的主要指标:MTTF(Mean Time To Failure),MTBF(Mean Time Between Fai
16、lure)MTTF:平均失效等待时间MTBF:平均失效间隔时间因此:必须通过不断地测试取得实测数据,才能根据测试结果构造可靠性模型,评价实际达到的可靠性。,2023年2月5日星期日,36,4.3 软件质量度量,软件可维护性度量:软件可维护性是指纠正软件系统出现的错误和缺陷,以及为满足新的要求进行修改、扩充或压缩的容易程度。可维护性、可使用性、可靠性是衡量软件质量的主要质量特性,也是用户十分关心的几个方面。软件的可维护性是软件开发阶段各个时期的关键目标。,2023年2月5日星期日,37,4.3 软件质量度量,七个特性来衡量程序的可维护性:,2023年2月5日星期日,38,4.3 软件质量度量,常
17、用的度量一个可维护的程序的七种特性的方法。就是 质量检查表:是用于测试程序中某些质量特性是否存在的一个问题清单(定性)。质量测试和质量标准:用于定量分析和评价程序的质量。,2023年2月5日星期日,39,4.4 软件质量管理,软件开发不再是软件开发人员的个人行为而是团队行为,对软件开发机构来说,如何在要求的时间内、合理的投资下保质保量地交付软件产品是一个巨大的挑战。软件开发历经多个生产环节,产生大量的中间产品,各个环节都可能带来产品质量问题;同时,由于软件产品是逻辑体,不具备实体的可见性,因而难以度量,质量也难以把握,因此如何有效地管理软件产品的质量一直是软件企业面临的挑战。,2023年2月5
18、日星期日,40,4.4 软件质量管理,软件质量管理大体分为三种:事后检验、全面质量管理和权威认证。实施事后检验进行质量管理应该注意:项目管理(项目计划、计划的跟踪和调整);沟通问题;建立质量管理环境。实施全面质量管理可以按照下列方式进行:,2023年2月5日星期日,41,4.4 软件质量管理,1实行工程化开发2实行阶段性冻结与改动控制3实行里程碑式的审查与版本控制4实行面向用户参与的原型演化5 尽量采用面向对象和基于构件的方法6全面测试7引入外部监理与审计,2023年2月5日星期日,42,4.4 软件质量管理,组织为实现质量目标,应遵循以下八项质量管理原则:原则1:以顾客为中心组织依存于其顾客
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 软件 质量

链接地址:https://www.31ppt.com/p-2241504.html