六章软件质量管理.ppt

上传人:本田雅阁 文档编号:2338162 上传时间:2019-03-22 格式:PPT 页数:166 大小:983.01KB
返回 下载 相关 举报
六章软件质量管理.ppt_第1页
第1页 / 共166页
六章软件质量管理.ppt_第2页
第2页 / 共166页
六章软件质量管理.ppt_第3页
第3页 / 共166页
亲,该文档总共166页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《六章软件质量管理.ppt》由会员分享,可在线阅读,更多相关《六章软件质量管理.ppt(166页珍藏版)》请在三一文库上搜索。

1、第六章 软件质量管理 首都师范大学 教育技术系 方海光 2006年11月 1 回忆:项目管理知识体系的构成 PMI将项目管理知识体系分为9大知识领域: 1项目集成管理 2项目范围管理 3项目时间管理 4项目成本管理 5项目质量管理 6项目人力资源管理 7项目沟通管理 8项目风险管理 9项目采购管理 2 项目管理知识领域与项目管理过程和过程组图解(PMBOK2000) 风险管理 规划 项目计划 实施 综合 变更控制 项目计划 开发 启动 范围计划 范围定义 活动定义 范围核实 范围 变更控制 活动排序 活动工期 估计 进度开发 进度控制 资源规划 成本估算 成本预算 成本控制 质量规划组织规划

2、质量保证 质量控制 人员招募 团队开发 沟通规划采购规划 信息发布 绩效报告 管理收尾 风险识别 定性风险 分析 定量风险 分析 风险应对 计划 风险监测 和控制 询价规划 询价 供方选择 合同管理 合同收尾 集成范围时间成本质量人力资源沟通风险采购 3 软件质量管理 o软件开发过程5 o项目质量管理的概念19 o软件质量的概念48 o软件质量管理87 o软件质量的综合评价144 4 软件开发过程 o软件的含义 软件 = 程序 + 文档 + 服务 o为解决软件危机,人们提出用工程化的原则及方法 来组织软件开发工作,这就是软件工程的由来。 在软件工程中可将软件的生存周期分为6个阶段(传统生命 周

3、期,即瀑布模型) (1)计划(Planning) (2)需求分析(Requirement Analysis) (3)设计(Design) (4)编码(Coding) (5)测试(Testing) (6)运行与维护(Run and Maintenance) 5 软件开发瀑布模型 6 软件开发过程 1. 需求分析 需求分析是根据客户的要求,清楚地了解客户需求中的产品 功能、特性、性能、界面和具体规格等,然后进行分析 ,确定软件产品所能达到的目标。软件产品需求分析是 软件开发过程的第一个环节,也是最重要的一个环节。 如果需求分析做不好,下面的设计、编程做得再好,客 户(用户)也不可能对开发出来的软件

4、产品感到满意。 软件产品需求分析的结果要文档化,而且这类文档的描 述尽量不要用专业术语,从而使用户能够完全理解需求 分析的结果,参与对其复审的过程。 7 软件开发过程 2. 设计 软件设计是根据需求分析的结果,考虑如何在逻辑、程序上 去实现所定义的产品功能、特性等。可以分为概要设计 和详细设计,也可以分为数据结构设计、软件体系结构 设计、应用接口设计、模块设计、算法设计、界面设计 等。设计过程将需求转换成软件表示,设计的结果将作 为编码的框架和依据,以提高编码的效率和质量。设计 的文档化体现在产品规格说明书(functional specification)、技术设计文档(developmen

5、t design document)和软件配置文档(software configuration document)。 8 软件开发过程 3. 编程 经过需求分析、设计之后,接下来就是用一种或多种具体的 编程工具(如VS.Net,JBuild、Eclipse、Delphi、PB 等)进行编码,即将设计转换成计算机可读的形式。如 果设计做得好、做得仔细,编程就容易了。 4. 测试 任何编程,免不了存在这样或那样的错误,所以有必要进行 软件测试。测试过程集中于软件的内部逻辑保证所 有语句都测试到,以及外部功能即引导测试去发现 错误,并保证定义好的输入能够产生与预期结果相同的 输出。测试按不同的过程

6、阶段分为单元测试、集成测试 、功能测试、系统测试、验证测试等。 9 软件开发过程 5. 维护 从理论上,软件测试的覆盖率不可能做到百分之百 ,所以软件在交付给用户之后有可能存在某些 问题,而且用户的需求会发生变化,特别是开 始使用产品之后,对计算机系统有了真正的认 识和了解,会提出适用性更好的、功能增强的 要求。所以,软件交付之后不可避免地要进行 修改、升级等。 软件维护复杂、周期长,其成本必然很高。通过提 高软件的需求分析、设计和编程的质量,强化 软件测试,可以大幅度降低软件的维护成本。 10 软件开发过程 o软件开发模式 软件开发模式是指从最初构想到公开交付发行软件 的过程。 n大棒模式或

7、边写边改模式 n瀑布模式 n原型模式 n快速应用(RAD)模式 n螺旋模式 n增量模式和跌代模式 11 大棒模式或边写边改模式 o大棒模式 优点是简单。几乎无计划。项目成员精力都花在开发软 件和编写代码上。最终的软件产品是什么样不可知 。 o边写边改模式 在大棒模式的基础上考虑了产品的要求。项目成员通常 只有粗略的想法就进行简单的设计,然后开始漫长 的编码、测试、修复。 12 大棒模式或边写边改模式 o探索测试 如果采用大棒模式或者边写边改模式,就不会有作为测试依据的 各类文档。尽管这对于软件测试员不是理想的状况,但是此时 可以采用称为探索测试的解决方案。 这需要把软件当产品说明书来对待。分步

8、骤地逐项探索软件特性 。记录软件执行情况,详细描述功能。在这种情况下,无法像 有产品说明书那样完整测试软件-比如无法判定是否遗漏功能 ,但是可以进行系统测试。找到软件缺陷。 另外,与同类型软件进行比较也是一个有效的方法。 13 软件开发模式 - 原型模型 在进行了基本需求分析之后,快速开发出产品的原型,然后 基于这个原型,同客户沟通、交流,更好地了解客户需 求,不断修改这个原型,到了双方认可的程度,再做详 细地分析、设计和编程,最终开发出令客户满意的产品 。 一般步骤如下: n(1) 先定义软件的总体目标,根据已知的需求来规划出 可实现的区域。 n(2) 然后是“快速设计”,集中于系统的总体框

9、架、基本 功能和直观的输入方式和输出格式等。 n(3) 有了原型,使客户对系统实现哪些具体功能、功能 实现到什么程度有更好的理解。开发者可以边开发边评 估,不断细化软件的需求,逐步调整原型使其满足客户 的要求。这形成一个迭代的过程。 14 原型模型 即使开始建立的原型过于简单或性能很差,难以使 用,但为下一次建立适用的模型积累了经验, 而浪费的成本、时间有限。 原型模型的优点是使用户能够感受到实际的系统, 使开发者能够快速地构造出系统的框架。 原型模型的缺点是产品的先天性不足,因为开发者 常常需要做实现上的折中,可能采用不合适的 操作系统或程序设计语言,以使原型能够尽快 工作。 15 RAD模

10、型 oRAD模型 RAD(rap application development)模型, 即快速应用开发模型。由于其模型构图形似字 母“V”,故也称V模型,是属于线性顺序一类的 软件开发模型。它通过使用基于构件的开发方 法来缩短产品开发的周期,提高开发的速度。 RAD模型实现的前提是能做好需求分析,并且 项目范围明确,这一点正好和原型模型相反。 16 螺旋模型 o螺旋模型,最早是由Boehm提出来的,是 一个演化软件过程模型,它将原型的迭代特 征与线性顺序模型中控制和系统化方面结合 起来,使得软件增量版本的快速开发成为可 能。在螺旋模型中,软件开发是一系列的增 量发布。在早期的迭代中,发布的增

11、量可能 是一个纸上的模型或原型;在以后的迭代中 ,更加完善的被开发系统版本逐步产生。 17 增量模式和跌代模式 o软件开发分阶段可以通过两种模型来描述,即增量 模型和迭代模型。 n增量模型 描述软件产品的不同阶段是按产品所具有的 功能进行划分,先开发主要功能或用户最需要的功能, 然后,随着时间推进,不断增加新的辅助功能或次要功 能,最终开发出一个强大的、功能完善的、高质量的、 稳定的产品。 n迭代模型 描述软件产品的不同阶段是按产品深度或细 化的程度来划分。先将产品的整个框架都建立起来,在 系统的初期,已经具有用户所需求的全部功能。然后, 随着时间推进,不断细化已有的功能或完善已有功能, 这个

12、过程好像是一个迭代的过程。最终的目标是一致的 ,也是为了实现一个强大的、功能完善的、高质量的、 稳定的产品。 18 项目质量管理的概念 o产品:过程的结果 o四类: n硬件:有形产品,有计数的特性; n服务:无形的,并且是在供方和顾客接 触面上至少需要完成一项活动的结果 n软件:由信息组成,通常是无形产品并 可以方法论文或程序的形式存在. n流程性材料:有形产品,有一定的连续 性. 19 质量的定义质量的定义 ISO8402-1994质量管理和质量保证术语中对 质量所下的定义是: 质量是反映实体(产品、过程或活动等)满足 明确和隐含需要的能力的特性总和。 20 实体(entity, item)

13、: “可单独描述和研究的事 物” ,实体可以是活动或过程,可以是产品,可以 是组织、体系或人,也可以是上述各项的任何组合 。 需求( requirements) : 包括“明确需要”和“隐 含需要”。 21 为使“需求”可以实际运用,一般应将其转化 为质量要求。所谓质量要求,是指“对需要的表述 或将需要转化为一组对实体特性的定量或定性的规 定要求,以使其实现并进行考核”。 22 q 质量不仅包括活动或过程的结果,还包括它们形成和实现的 活动及过程本身; q 质量不仅包括产品质量,还包括它们形成和实现过程中的工 作质量; q 质量不仅要满足顾客的需要,还要满足社会的需要,并使顾 客、从业人员、业

14、主、供方和社会都收益;(stakeholder, 受 益者) q 质量问题不仅存在于工业,还存在于服务业及其他各行各业 。 产品质量服务质量过程质量工作质量 质量 23 产品质量产品质量 产品质量是指产品能够满足使用要求所具备的特性。一般包 括性能、寿命、可靠性、安全性、经济性以及外观质量等。 产品质量的概念,在不同历史时期有不同的要求。随着生产 力发展水平不同和由于各种因素的制约,人们对产品质量会 提出不同的要求。 产品质量服务质量过程质量工作质量 质量 24 服务质量服务质量 服务质量是指服务满足明确和隐含需要的能力的特性总和。 定义中的服务,主要指服务性行业提供的服务,如交通运输 、邮电

15、、商业、金融保险、饮食、宾馆、医疗卫生、文化娱 乐、仓储、咨询、法律等组织提供的服务。由于服务含义的 延伸,有时也包括工业产品的售前、售中和售后服务,以及 企业内部上道工序对下道工序的服务。 反映服务质量要求的质量特性主要有功能性、经济性、安全 性、时间性、舒适性和文明性。 产品质量服务质量过程质量工作质量 质量 25 过程质量过程质量 过程是指“将输入转化为输出的一组彼此相关的资源和活动 ”。其中资源可包括人员、资金、设施、设备、技术和方法 。 过程质量,是指过程满足明确和隐含需要的能力的特性之总 和。 过程质量,可分为开发设计过程质量、制造过程质量、使用 过程质量与服务过程质量四个子过程的

16、质量。 产品质量服务质量过程质量工作质量 质量 26 工作质量工作质量 工作质量,是指与质量有关的各项工作对产品质量、服务质 量、过程质量的保证程度。 产品质量服务质量过程质量工作质量 质量 27 质量特性的概念:质量特性的概念: 质量特性:产品或服务满足人们明确或隐含需求的能质量特性:产品或服务满足人们明确或隐含需求的能 力、属性和特征的总和。力、属性和特征的总和。 28 质量内涵:质量内涵: 内在质量特性:在产品或服务的持续使用中体现出来的特内在质量特性:在产品或服务的持续使用中体现出来的特 性(产品的特性、性能、强度、精度等)性(产品的特性、性能、强度、精度等) 外在质量特性:在产品或服

17、务外在表现方面的属性和特性外在质量特性:在产品或服务外在表现方面的属性和特性 (产品外形、包装、色泽、味道等)(产品外形、包装、色泽、味道等) 经济质量特性:与产品或服务的购买和使用成本有关的特经济质量特性:与产品或服务的购买和使用成本有关的特 性(产品的寿命、成本、价格、运营费等)性(产品的寿命、成本、价格、运营费等) 商业质量特性:与产品或服务提供企业承诺的各种商业责商业质量特性:与产品或服务提供企业承诺的各种商业责 任有关的特性(产品的保质期、保修期、售后服务水平等任有关的特性(产品的保质期、保修期、售后服务水平等 ) 环保质量特性:与产品或服务对环境的影响有关的特性环保质量特性:与产品

18、或服务对环境的影响有关的特性 29 质量的决定因素:质量的决定因素: 一件产品或一项服务能否成功地完成它预定的使命 取决于四个主要因素,它们是: (1) 设计质量:设计人员对产品或服务的一些性能所做出的 接受或拒绝的选择。 (2) 质量符合设计的程度:产品或服务符合(即实现)设计人 员意图的程度。 (3) 便于使用。 (4) 售后服务。 30 戴明:戴明:W.E. DemingW.E. Deming 戴明总结出14条质量管理原则,他认为一个公司要想使其产 品达到规定的质量水平必须遵循这些原则。 主要观点是引起效率低下和不良质量的原因在公司的管理系 统而不在职员。部门经理的责任就是要不断调整管理

19、系统以 取得预期的结果。 戴明还强调了减少质量波动(与一定标准之间的偏差)的必要 性。要减少质量波动,就需要辨别引起波动的特殊原因(即 可纠正的原因)和共同原因(即随机原因)。 质量管理专家 戴明 31 戴明戴明1414条原则的核心:条原则的核心: 目标不变、持续改善和知识渊博; 知识渊博包括(1)以所在公司为荣;(2)掌握质量波动的 原理;(3)知识体系;(4)心理学原理; 戴明知识渊博的概念使得日本成为世界经济强国的好学信条 和价值观具体化了 戴明14条原则的核心 32 朱兰:朱兰: JuranJuran q 朱兰视质量为适用性(Fitness for use)。 q 认为通过管理可以控制

20、大约80%的质量缺陷的发生。 q 包含质量计划、质量控制和质量改进的质量三元论的思想 来描述质量管理。 根据朱兰的观点,为建立有能力满足质量标准的工作程序, 质量计划是必要的。为了掌握何时采取必要措施纠正质量问 题就必须实施质量控制。质量改进有助于发现更好的管理工 作方式。管理就是不断改进工作是朱兰理论的一个核心。朱 兰被确认为第一个提出计算质量成本的质量管理专家。他解 释了如果不良质量的成本可以降低的话,那么就有可能增加 公司利润。 质量管理专家 朱兰 33 费根鲍姆:费根鲍姆: Armand Armand FeigenbaumFeigenbaum 前通用电器生产和质量控制经理,他因提出把质

21、量责任推广 到生产领域以外而在质量运动中闻名。 在推行“缺陷成本”方法方面起重要作用。根据这一方法, 管理应服从于质量。 质量管理专家 费根鲍姆 34 1.全面质量控制是一个在公司内部使质量标准制定、维持和改进 集成于一体的系统。公司应该能够使工程部、生产部和服务部门 共同发挥作用,在达到用户满意的同时实现最佳经济目标; 2.质量控制的“控制”方面应该包括制定质量标准、评价与这些 标准有关的行为、当没有达到预定标准时采取纠正措施以及制定 改进质量标准计划; 3.影响质量的因素可分为两大类:技术性的和人为的。人为的因素 更为重要; 4.质量成本可被分为四类:预防成本、鉴定成本、外部损失成本和 内

22、部损失成本; 5.重要的是要控制源头质量 费根鲍姆质量控制基本原理要点 35 质量管理的基本概念:质量管理的基本概念: 古津进的定义:古津进的定义:向消费者或顾客提供高质量产品与向消费者或顾客提供高质量产品与 服务的一项活动服务的一项活动。这种产品和服务必须保证满足需。这种产品和服务必须保证满足需 求、价格便宜和供应及时。求、价格便宜和供应及时。 定义说明:定义说明: 质量管理目的:向消费者或顾客提供高质量产质量管理目的:向消费者或顾客提供高质量产 品与服务品与服务 目标和作用:使产品和服务达到三项要求,即目标和作用:使产品和服务达到三项要求,即 满足需求、价格便宜和供应及时满足需求、价格便宜

23、和供应及时 36 质量管理定义:质量管理定义: ISO8402一1994(质量管理和质量保证术语)对质 量管理的定义是:质量管理是确定质量方针、目标 和职责,并在质量体系中通过诸如质量策划、质量 控制、质量保证和质量改进使其实施的全部管理职 能的所有活动。 37 质量管理定义:质量管理定义: 质量管理是各级管理者的职责,但必须由最高管理者领导 。质量管理的实施涉及到组织中的所有成员。 在质量管理中要考虑到经济性因素。质量管理是企业管理 的重要组成部分,是企业管理职能中的重要职能。企业一般 包括经营决策、计划、生产、技术、质量、劳资、供应、销 售、销后服务、成本财务等管理部门。质量管理处于重要的

24、 地位,我国有关领导人提出:“企业管理应以质量管理为纲“, 质量管理带动、推动和联系其它部门完成企业生产经营活动 的任务。 38 质量方针:指由组织的最 高管理者正式发布的该组织 总的质量宗旨和方向。 质量目标:在质量方面所 追求的目的,是对质量方针 的展开。 质量管理的术语和内涵:质量管理的术语和内涵: 39 质量策划:是质量管理的一部分,致力于制定质量目标 并规定必要的运行过程和相关资源以实现质量目标。 包括:质量管理体系策划、产品实现策划以及过程运行 策划。质量计划是策划的结果之一。最终的目的是满足 顾客要求。 质量控制:致力于满足质量要求。包括设定标准、测量 结果、判定、采取措施。 4

25、0 质量保证:致力于提供质量要求会得到满足的信 任。 质量改进:致力于增强满足质量要求的能力。 Im trying! 41 质量管理的任务:质量管理的任务: q 正确制订和贯彻执行质量方针和政策; q保证和提高产品质量和服务质量,生产出物美价廉 的产品, q以满足用户需要; q不断降低物质消耗,降低质量成本和提高经济效益 ; q提高领导和职工的质量意识和素质,促进企业素质 和管理水平的提高; q研究和发展质量理论和质量科学。 42 项目质量的概念 o项目的质量(双重性:产品质量,服务质量) n从项目作为一次性的活动来看,项目质量体现在 由WBS反映出的项目范围内所有的阶段、子项目 、项目工作单

26、元的质量所构成,也即项目的工作 质量; n从项目作为一项最终产品来看,项目质量体现在 其性能或者使用价值上,也即项目的产品质量。 o项目是应业主/客户的要求进行的,不同的业主/客户 有着不同的质量要求,其意图已反映在项目合同中 。因此,项目合同是进行项目质量管理的主要依据 。 43 项目质量管理的概念:项目质量管理的概念: 为保障项目产出物能够满足项目业主、客户以及项目 其他相关利益者的需要,所开展的对于项目产出物质 量和项目工作质量的全面管理工作。 包括: 项目质量方针的确定项目质量方针的确定 项目质量目标和质量责任的制定项目质量目标和质量责任的制定 项目质量体系的建设项目质量体系的建设 为

27、实现项目质量目标所开展的项目质量计划、项为实现项目质量目标所开展的项目质量计划、项 目质量控制和项目质量保障等一系列质量管理工目质量控制和项目质量保障等一系列质量管理工 作作44 项目质量管理的思想:项目质量管理的思想: 全面质量管理的思想-质量管理的全员性、全 过程性、全要素性。 项目质量管理的几个重要理念: 使顾客满意是项目质量管理的目的 项目质量是干出来的,不是检验出来的 项目质量管理的责任是全体团队成员的 项目质量管理的关键是不断监控和改进 项目质量确定与项目质量实施 项目质量等级与项目质量好坏 45 ISO10006国际项目质量管理标准: 国际标准ISO10006是由ISOTCl76

28、SC2国际标准化组织 质量管理和质量保证技术委员会质量体系分委员会制定的,这 一文件是1997年12月发布的,文件的全称是:质量管理项 目质量管理指南。该文件分为两个部分,一个是主文件部分 ,另有三个附件。其中主文件部分的核心内容包括三个部分, 其一是该标准所涉及的范围和所引用的标准及其相关定义,其 二是有关项目特征的说明,其三是项目管理过程中的质量规范 。 第二部分是主要内容,它包括了项目策划、集成管理、范围管 理、时间管理、成本管理、资源管理、组织与人力资源管理、 沟通管理、风险管理、采购管理等各方面质量保障与质量控制 方面的规定。 46 ISO10006标准的内容: 本标准的适用范围 本

29、标准引用的标准条款 相关的定义 项目的特性 项目过程中的质量管理 总结项目经验 47 软件质量的概念 o软件质量的定义 o软件质量模型 48 软件质量的定义 o1.软件质量的定义 1)ANSI/IEEE Std 729-1983定义软件质量为:“与软件产品满 足规定的和隐含的需求的能力有关的特征或特性的全体”。 2)M.J.Fisher将软件质量定义为:“所有描述计算机软件优秀程 度的特性的组合。” 3)GB/T6583 ISO 8402(1994)定义软件质量为:“反映实体 满足明确和隐含需要的能力和特性总和” 也就是说,为满足软件的各项精确定义的功能、性能需 求,符合文档化的开发标准,需要

30、相应地给出或设计一些质 量特性及其组合,作为在软件开发与维护中的重要考虑因素 。如果这些质量特性及其组合都能在产品中得到满足,则这 个软件产品质量就是高的。 49 软件质量的定义 o软件质量反映了以下三方面的问题: n软件需求是度量软件质量的基础 。不符合需求 的软件就不具备质量。 n规范化的标准定义了一组开发准则,用来指导 软件人员用工程化的方法来开发软件。如果不 遵守这些开发准则,软件质量就得不到保证。 n往往会有一些隐含的需求没有显式地提出来。 如软件应具备良好的可维护性。如果软件只满 足那些精确定义了的需求而没有满足这些隐含 的需求,软件质量也不能保证。 50 软件质量的定义 o2.软

31、件质量特性 软件质量特性,反映了软件的本质。讨论一个软件的质 量,问题最终要归结到定义软件的质量特性。而定 义一个软件的质量,就等价于为该软件定义一系列 质量特性。 51 软件质量的定义 通常,软件质量可由以下主要特性来定义: (1)功能性:软件所实现的功能达到它的设计规范和 满足用户需求的程度; (2)效率:在规定条件下,用软件实现某种功能所需 的计算机资源(包括时间)的有效程度; (3)可靠性:在满足一定条件的应用环境中,软件能 够正常维持其工作的能力; (4)安全性:为了防止意外或人为的破坏,软件应具 备的自身保护能力能力; 52 软件质量的定义 (6)可维护性:当环境改变或软件运行发生

32、故障时, 为了使其恢复正常运行所做努力的程度; (7)可扩充性:在功能改变和扩充情况下,软件能够 正常运行的能力; (8)可移植性:为使一个软件从现有运行平台向另一 个运行平台过度所做努力的程度 (9)重用性:整个软件或其中一部分能作为软件包而 被再利用的程度。 53 软件质量的定义软件质量的定义 o3.软件生存期与质量特性 从用户的角度看,软件的生存期可分为如下三个阶段: 1)初期运用:运行新开发的软件产品。 2)维护与扩充:在运行过程中修改缺欠的内容;而且,为 了进一步的使用,需根据运行环境(主要指应用环境和 技术环境)的变化做功能上和性能上的扩充。 3)移植和连接:把在原有平台上运行的软

33、件向其它新的运 行环境转移、或者组成软件包以便重用、或与其它软件 进行连接。 54 软件质量的定义软件质量的定义 o 对于软件所需求的质量特性,在软件生存期的不同阶段中 情况各有不同,要求也不一样,这可由下图说明。 Back 55 软件质量模型软件质量模型 o所谓质量模型是指提供声明质量需求和评价质量基 础的特性以及特性之间关系的集合。换句话说质量 模型是用来描述质量需求以及对质量进行评价的理 论基础。 o早在1976年,由Boehm等提出软件质量模型的分 层方案。1979年McCall等人改进Boehm 质量模 型又提出了一种软件质量模型。模型包括质量要素 (factor)、准则(crite

34、ria)和度量(metric)三层次。如图 所示。 特性是软件质量的反映,软件属性可用做评价准则,定量化 地度量软件属性可知软件质量的优劣。 56 软件质量模型软件质量模型 McCall质量度量模型框 要素(特性) 评价 准则 评价 准则 评价 准则 度量度量度量 面向管理观点的产品质量 决定产品质量的软件属性 定量化地度量软件属性 57 软件质量模型软件质量模型 o软件质量要素直接影响软件开发过程各个阶 段的产品质量。 o由于对软件质量理解的不断深化,软件质量 要素不是一成不变的。 oMcCall等人给出的软件质量要素共11个,分 为三类,分别面向软件产品的运行、修正、 转移。它们与特性的关

35、系如图所示。 58 软件质量模型软件质量模型 产品 修正 产品 转移 产品运行 可维护性 测试性 灵活性 互联性 可移植性 复用性 正确性 可靠性 可使用性 效率 完整性 McCall软件质量模型59 软件质量模型软件质量模型 o正确性:在预定环境下,软件满足设计规格说明及 用户预期目标的程度。它要求软件没有错误。 o可靠性:软件按照设计要求,在规定时间和条件下 不出故障,持续运行的程度。 o效率:为了完成预定功能,软件系统所需的计算机 资源的多少。 o完整性:为了某一目的而保护数据,避免它受到偶 然的,或有意的破坏、改动或遗失 的能力。 o可使用性:对于一个软件系统,用户学习、使用软 件及为

36、程序准备输入和解释输出所需工作量的大小 。 60 软件质量模型软件质量模型 o可维护性:为满足用户新的要求,或当环境发生了 变化,或运行中发现了新的错误时,对一个已投入 运行的软件进行相应诊断和修改所需工作量的大小 。 o可测试性:测试软件以确保其能够执行预定功能所 需工作量的大小。 o灵活性:修改或改进一个已投入运行的软件所需工 作量的大小。 61 软件质量模型软件质量模型 o可移植性:将一个软件系统从一个计算机系统或环 境移植到另一个计算机系统或环境 中运行时所需 工作量的大小。 o复用性:一个软件(或软件的部件)能再次用于其 它应用(该应用的功能与此软件或软件部件的所完 成的功能有联系)

37、的程度。 o互连性:连接一个软件和其他系统所需工作量的大 小。如果这个软件要联网,或与其 他系统通信, 或要把其他系统纳入到自己的控制之下,必须有系 统间的接口,使之可以联结。互连性很重要。它又 称相互操作性。 62 软件质量模型软件质量模型 o通常,对以上各个质量特性直接进行度量是很困难 的,在有些情况下甚至是不可能的。因此, McCall定义了一组比较容易度量的软件质量要素 评价准则,使用它们对反映质量特性的软件属性分 级,以此来估计软件质量特性的值。 o定义评价准则的关键是确定影响软件质量要素的属 性。这些属性必须满足 比较完整、准确的描述软件质量要素; 比较容易量化和测量,能够反映软件

38、质量的优劣 。 oMcCall定义的软件质量要素评价准则共21种,它 们是: 63 McCall软件质量要素评价准则 1.可审查性(Auditability) :检查软件需求、规格说明、标准、过程、 指令、代码及合同是否一致的难易程度。 2.准确性(Accuracy) :计算和控制的精度,最好表示成相对误差的函 数,值越大表示精度越高。 3.通信通用性(Communication Commonality) :使用标准接口、协议和 频带的程度。 4.完全性(Completeness):所需功能完全实现 的程度。 5.简明性(Conciseness):程序源代码的紧凑性。 6.一致性(Consis

39、tency):设计文档与系统实现的一致性。 7.数据通用性(Data Commonality):在程序中使用标准的数据结构和类 型。 8.容错性(Errortolerance) :系统在各种异常条件下提供继续操作的能 力 64 McCall软件质量要素评价准则 9.执行效率(Execution Efficiency):程序运行效率。 10.可扩充性(Expandability):能够对结构设计、数据设 计和过程设计进行扩充的程度 11.通用性(Generality):程序部件潜在的应用范围的广泛 性 12.硬件独立性(Hardware Independence):软件同支持它 运行的硬件系统不

40、相关的程度。 13.检测性(Instrumentation):监视程序的运行,一旦发生 错误时,标识错误的程度。 14.模块化(Modularity):程序部件的功能独立性。 65 McCall软件质量要素评价准则 15.可操作性(Operability):操作一个软件的难易程度。 16.安全性(Security):控制或保护程序和数据不受破坏的机制,以防止 程序和数据受到意外的或蓄意的存取、使用、修改、毁坏或泄密 。 17.自文档化(Self-documentation):源代码提供有意义文档的程 度。 18.简单性(Simplicity):理解程序的难易程度。 19.软件系统独立性(Sof

41、tware System Independence):程序与非 标准的程序设计语言特征、操作系统特征、以及其他环境约束 无关的程度。 20.可追踪性(Tracebility):对软件进行正向和反向追踪的能力。 21.易培训性(Training):软件支持新用户使用该系统的能力。 66 计算软件质量要素 软件质量要素Fj的值可用下式计算 L FjCjkMk j=1,2,.,11. k=1 其中 Mk是软件质量要素Fj对第k种评价准则的测量值 Cjk是相应的加权系数 McCall定义的评价准则多数都没有客观的测量方法, 只能凭主观印象为评价准则定值。 McCall将评价准则分为0-10级。 0级最

42、低,10级最高。 Mk的取值是 0 ,0.1 ,0.2 , 1.0 67 质量要素与评价准则 (1/2) 要素 关系 准则 正 确 性 可 靠 性 有 效 性 完 整 性 可 维 护 可 测 试 可 移 植 可 重 用 互 操 作 可 用 性 灵 活 性 可审查性VV 准确性V 通信通用性V 完全性V 简明性VVV 一致性VVVV 数据通用性V 容错性V 执行效率V 可扩充性V 通用性VVVV 68 质量要素与评价准则 (2/2) 要 素 关 系 准 则 正 确 性 可 靠 性 有 效 性 完 整 性 可 维 护 可 测 试 可 移 植 可 重 用 互 操 作 可 用 性 灵 活 性 硬件独立

43、性VVVV 检测性VVV 模块化VVVVVVV 可操作性VV 安全性V 自文挡化VVVVV 简单性VVVV 软件独立性VV 可追踪性V 易培训性V 69 McCall软件质量要素评价准则 oMcCall软件质量度量模型为软件质量管理奠 定了基础 o模型由软件质量要素和评价准则组成 o加权系数Cjk满足Cjk1 其中 Cjk0 当质量要素Fj与k项评价准则无关时,Cjk=0 oMcCall评价准则项数 L=21 70 软件质量模型软件质量模型 oISO 软件质量度量模型 1985年国际标准化组织(ISO)建议,软件质量度量模型由三层 组成。 n高层称软件质量需求评价准则(SQRC); n中层称软

44、件质量设计评价准则(SQDC); n低层称软件质量度量评价准则(SQMC)。 分别对应McCall等人的要素、评价准则和度量。ISO认为 应对高层和中层建立国际标准,以便在国际范围内推广 软件质量管理,而低层可由各单位自行制定。ISO高层由 8个要素组成、中层由23个评价准则组成。它们之间的关 系如表所示。 71 ISO的质量要素与评价准则(1/2) 要素 关系 准则 正确性可容性有效性安全性可用 性 可维 护 灵活性互操 作 可追踪性V 完全性V 一致性VVV 准确性V 容错性V 简单 性VV 模块化VV 通用性V 可扩充性V 检测 性V 自描述性VV 72 ISO的质量要素与评价准则 (2

45、/2) 要素 关系 准则 正确 性 可容 性 有效 性 安全 性 可用 性 可维 护 灵活 性 互操 作 执行效率V 存储效率V 存取控制V 存取审查V 可操作性V 易培训性V 通信性V 软件独立性V 硬件独立性V 通信通用性V 数据通用性V 简明性V 73 软件质量模型 n1991年,ISO发布了ISO/IEC9126质量特性 的国际标准,将质量特性降为6个,即功能性、 可靠性、可维护性、效率、可使用性、可移植 性,并定义了21个子特性。 1991年发布的ISO/IEC9126标准现在被分为了两部,ISO/IEC9126(软 件产品质量)和ISO/IEC14598(软件产品评价)。 74 软

46、件质量模型 75 软件质量特性之间的竞争 在软件的质量特性与质量特性之间、质量特性 与质量子特性之间存在着有利的影响和不利的影响 。例如,由于效率的要求,应尽可能采用汇编语言 。但是用汇编语言编制出的程序,可靠性、可移植 性以及可维护性都很差。 因此在系统设计过程中应根据具体情况对各种 要素的要求进行折衷,以便得到在总体上用户和系 统开发人员都满意的质量标准。 质量要素之间的关系表 76 软件质量特性之间的竞争 77 软件质量的度量和评价 o软件质量的度量 是软件属性的量化,是经验关系系统到数值关系系统的一 种映射。软件质量特性度量有两类:预测型和验收型。 n预测度量是利用定量的或定性的方法,

47、对软件质量的评价值进 行估计,以得到软件质量的比较精确的估算值。它是用在软件 开发过程中的。 o尺度度量:这是一种定量度量。它适用于一些能够直接度量的特 性,一般它作为相对量进行度量。如可靠性度量、复杂度度量、 缺陷度量和规模度量等。 o二元度量:这是一种定性度量。它适用于一些只能间接度量的特 性。 n验收度量是在软件开发各阶段的检查点,对软件的要求质量进 行确认性检查的具体评价值,它可以看成是对预测度量的一种 确认,是对开发过程中的预测进行评价。 78 软件质量的度量和评价 o软件质量度量的实施 在确定要对一个软件(系统)进行度量之后,一般,采取以下几个步骤, 来实施对该软件的度量: (1)

48、确定软件质量需求; 在用户需求中,除功能需求外,还有非功能需求,包括:质量需求、环境 需求、设计约束、开发策略等。质量需求是用户比较关心的内容。 但是,我们已经知道,软件的功能需求的确定,存在一定的难度。而非功 能需求的确定,则难度更大。这些困难包括:需求如何获取,需求冲 突如何协调、需求的确认和变更的授权等。 过程: 需求获取:首先,你要理解用户的需求,区分哪些是质量需求,把这些需 求记录下来,获得用户的确认。 需求分析:拿到用户确认的需求后,你可以开始把用户的质量需求与我们 设定的质量特性联系起来,一直区分到子特性。这种联系,就是把用 户语言描述的需求,转变为计算机工程师语言的需求。建立了

49、这种关 联后,可以根据分类,分级,确定直接度量。 79 软件质量度量的实施 (2)确定直接度量 直接度量就是实际的软件质量测量活动,它的输入是软件或软件过程,输 出是一个测量值。它通过执行一系列的任务,获得一个质量值。 例如:对一个没有经过培训的用户,让他使用软件系统的某一功能,在界 面提示、联机帮助、使用手册的帮助下,他学会掌握该功能所花的时 间。而用户需求对此项指标的要求(目标)和现实系统所达到的实际 值(比如:10个人次测量后统计意义上的)的比较,就是将提交质 量评审的质量值。 在进行直接度量前,你应该有以下准备: (1)工具:有助于计算度量值的硬件/软件工具,如:缺陷跟踪工具; (2)应用:描述度量结果的希望值、度量值的意义、作用和对度量结果 数据的使用方法; (3)数据:获得度量结果所需的数据、程序、过程等度量对象; (4)计算:度量程序、步骤和方法。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 其他


经营许可证编号:宁ICP备18001539号-1