软件质量.ppt
软件质量,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对于缺陷的定义:如果顾客不喜欢,那该产品就是有缺陷。”美国质量管理协会对于质量的定义:与一种产品或服务满足顾客需要的能力有关的各种特色和特征的总和。软件质量天生符合上述含义,最初的定制式软件系统首先要求必须满足用户的需求。,2023年2月5日星期日,5,4.1 软件质量概念,软件质量的定义:ANSI/IEEE Std 729-1983定义软件质量为“与软件产品满足规定的和隐含的需求的能力有关的特征或特性的全体”。M.J.Fisher 定义软件质量为“所有描述计算机软件优秀程度的特性的组合”。,2023年2月5日星期日,6,4.1 软件质量概念,为了评价软件质量,需要对软件是否满足功能要求、性能要求、符合文档规范标准的程度设计一些质量特性及其组合,作为在软件开发与维护中的判断软件质量的重要考虑因素。如果上述质量特性及其组合在产品中得到了满足,则软件质量就是高的。,2023年2月5日星期日,7,4.1 软件质量概念,软件质量反映了以下三方面的问题:软件需求是度量软件质量的基础。不符合需求的软件就不具备质量。在各种标准中定义了一些开发准则,用来指导软件人员用工程化的方法来开发软件。如果不遵守这些开发准则,软件质量就得不到保证。往往会有一些隐含的需求(可维护性)没有明确提出来。如果软件只满足那些精确定义了的需求而没有满足这些隐含的需求,软件质量也得不到保证。,2023年2月5日星期日,8,4.1 软件质量概念,软件质量不仅仅是狭义上的软件没有缺陷,还应该包括:不断改进、提高内部顾客和外部顾客满意度;缩短产品开发周期与投放市场时间;降低质量成本等。软件质量是全面质量的概念,面对日新月异的技术发展,如何不断创新以满足顾客快速变化的需求,是每个软件企业必须解决的重要课题。,2023年2月5日星期日,9,4.1 软件质量概念,全面质量管理(TQM)的理解:质量要从顾客的角度来看质量始于顾客的需要,终于顾客的理解。质量不仅要反映在企业的产品上,而且要反映在企业的每一个行为上。质量需要全体员工同心协力应使外部顾客和内部顾客都感到满意。质量要求高质量的合作伙伴包括高质量的供应商和销售商。质量方案不能够挽救劣质产品一个质量运动并不能够补救产品缺陷。质量是可以得到改进的要靠每一个人去不断地改进每一件事。质量改进有时需要数量上的飞跃较大的改进必须有新的解决办法和更精明的工作的方式。质量并不导致成本上升改进质量要求“一次性做好”,以减少补救、修正和重新设计的成本,更不 必说在顾客满意度方面有什么损失了。质量是必须的但可能还不够尤其当所有的竞争者都将其质量提高到大致同一水平时。,2023年2月5日星期日,10,4.2 软件质量特性,软件质量是各种特性的复杂组合。它随着应用的不同而不同,随着用户提出的质量要求不同而不同。为了评价软件质量,必须定义软件质量特性,以及软件质量评价准则。,2023年2月5日星期日,11,4.2 软件质量特性,软件质量特性,反映了软件的本质。讨论一个软件的质量,问题最终要归结到定义软件的质量特性。定义一个软件的质量,就等价于为该软件定义一系列质量特性。人们通常把影响软件质量的特性用软件质量模型来描述。,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第一层:6个软件质量要素功能性:软件所实现的功能满足用户需求的程度功能性反映了所开发的软件满足用户陈述或隐含的需求的程度,即用户要求的功能是否全部实现了。可靠性:在规定的时间和条件下,软件所能维持其性能水平的程度。可靠性对某些软件是重要的质量要求,它除了反映软件满足用户需求正常运行的程度外,还反映了在故障发生时能继续运行的程度。,2023年2月5日星期日,15,4.2 软件质量特性,易使用性:对于一个软件,用户学习、操作、准备输入和理解输出时,所做努力的程度。易使用性反映了与用户的友善性,即用户在使用本软件时是否方便。效率:在指定的条件下,用软件实现某种功能所需的计算机资源(包括时间)的有效程度。效率反映了在完成功能要求时,有没有浪费资源,此外“资源”这个术语有比较广泛的含义,它包括了内存、外存的使用,通道能力及处理时间。,2023年2月5日星期日,16,4.2 软件质量特性,可维护性:在一个可运行软件中,为了满足用户需求、环境改变或软件错误发生时,进行相应修改所做的努力程度。可维护性反映了在用户需求改变或软件环境发生变更时,对软件系统进行相应修改的容易程度。一个易于维护的软件系统也是一个易理解、易测试和易修改的软件,以便纠正或增加新的功能,或允许在不同软件环境上进行操作。可移植性:从一个计算机系统或环境转移到另一个计算机系统或环境的容易程度。,2023年2月5日星期日,17,4.2 软件质量特性,Boehm第二层:22个软件质量评价准则精确性:在计算和输出时所需精度的软件属性;健壮性:在发生意外时,能继续执行和恢复系统的软件属性;安全性:防止软件受到意外或蓄意的存取、使用、修改、毁坏或泄密的软件属性;以及:通信有效性、处理有效性、设备有效性、可操作性、培训性、完备性、一致性、可追踪性、可见性、硬件系统无关性、软件系统无关性、可扩充性、公用性、模块性、清晰性、自描述性、简单性、结构性、产品文件完备性。,2023年2月5日星期日,18,4.2 软件质量特性,软件质量评价准则的一定组合将反映某一软件质量要素,软件质量要素与评价准则间的关系如下图,2023年2月5日星期日,19,4.2 软件质量特性,Boehm第三层:软件质量度量根据软件的需求分析、概要设计、详细设计、实现、组装测试、确认测试和维护与使用七个阶段,制定了针对每一个阶段的问卷表,以此实现软件开发过程的质量控制。对于企业来说,不管是定制,还是外购软件后的二次开发,了解和监控软件开发过程每一个环节的进展情况、产品水平都是至关重要的,因为软件质量的高低,很大程度上取决于用户的参与程度。,2023年2月5日星期日,20,4.2 软件质量特性,应用Boehm模型进行软件质量评价要注意:对于不同类型的软件,系统软件、控制软件、管理软件、CAD软件、教育软件、网络软件及不同规模的软件,对于质量要求、评价准则、度量问题的侧重点有所不同应加以区别。,2023年2月5日星期日,21,4.2 软件质量特性,在需求分析、概要设计、详细设计及其实现阶段,主要评价软件需求是否完备,设计是否完全反映了需求以及编码是否简洁、清晰。而且,每一个阶段都存在一份特定的度量工作表,它由特定的度量元素组成,根据度量元素的得分就可逐步得到度量准则及质量要素的得分,并在此基础上做出评价。对软件各阶段都进行质量度量的根本目的是以此控制软件成本、开发进度,改善软件开发的效率和质量。,2023年2月5日星期日,22,4.2 软件质量特性,McCall质量模型也是三层次模型:11个面向软件产品的运行、修正、转移的反映软件质量的特性;用作评价规则的软件属性;观察软件质量的软件属性度量。,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定义了下列软件属性:可跟踪性、完备性、一致性、安全性、容错性、准确性、简单性、执行效率、存储效率、存取控制、存取审查、操作性、易训练性、简明性、模块独立性、自描述性、结构性、文档完备性、通用性、可扩充性、可修改性、自检性、机器独立性、软件系统独立性、通信共享性、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 软件质量度量,软件质量特性度量有两类:预测型和验收型。预测度量是利用定量或定性的方法,估算软件质量的评价值,以得到软件质量的比较精确的估算值。验收度量是在软件开发各阶段的检查点,对软件的要求质量进行确认性检查的具体评价值,它是对开发过程中的预测进行评价。,2023年2月5日星期日,31,4.3 软件质量度量,预测度量有两种。第一种叫做尺度度量,这是一种定量度量。它适用于一些能够直接度量的特性,例如,出错率定义为:错误数KLOC单位时间。第二种叫做二元度量,这是一种定性度量。它适用于一些只能间接度量的特性,例如,可使用性、灵活性等等。,2023年2月5日星期日,32,4.3 软件质量度量,尺度度量检查表,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 Failure)MTTF:平均失效等待时间MTBF:平均失效间隔时间因此:必须通过不断地测试取得实测数据,才能根据测试结果构造可靠性模型,评价实际达到的可靠性。,2023年2月5日星期日,36,4.3 软件质量度量,软件可维护性度量:软件可维护性是指纠正软件系统出现的错误和缺陷,以及为满足新的要求进行修改、扩充或压缩的容易程度。可维护性、可使用性、可靠性是衡量软件质量的主要质量特性,也是用户十分关心的几个方面。软件的可维护性是软件开发阶段各个时期的关键目标。,2023年2月5日星期日,37,4.3 软件质量度量,七个特性来衡量程序的可维护性:,2023年2月5日星期日,38,4.3 软件质量度量,常用的度量一个可维护的程序的七种特性的方法。就是 质量检查表:是用于测试程序中某些质量特性是否存在的一个问题清单(定性)。质量测试和质量标准:用于定量分析和评价程序的质量。,2023年2月5日星期日,39,4.4 软件质量管理,软件开发不再是软件开发人员的个人行为而是团队行为,对软件开发机构来说,如何在要求的时间内、合理的投资下保质保量地交付软件产品是一个巨大的挑战。软件开发历经多个生产环节,产生大量的中间产品,各个环节都可能带来产品质量问题;同时,由于软件产品是逻辑体,不具备实体的可见性,因而难以度量,质量也难以把握,因此如何有效地管理软件产品的质量一直是软件企业面临的挑战。,2023年2月5日星期日,40,4.4 软件质量管理,软件质量管理大体分为三种:事后检验、全面质量管理和权威认证。实施事后检验进行质量管理应该注意:项目管理(项目计划、计划的跟踪和调整);沟通问题;建立质量管理环境。实施全面质量管理可以按照下列方式进行:,2023年2月5日星期日,41,4.4 软件质量管理,1实行工程化开发2实行阶段性冻结与改动控制3实行里程碑式的审查与版本控制4实行面向用户参与的原型演化5 尽量采用面向对象和基于构件的方法6全面测试7引入外部监理与审计,2023年2月5日星期日,42,4.4 软件质量管理,组织为实现质量目标,应遵循以下八项质量管理原则:原则1:以顾客为中心组织依存于其顾客。因此,组织应理解顾客当前的和未来的需求,满足顾客要求并争取超越顾客期望。原则2:领导作用领导将本组织的宗旨、方向和内部环境统一起来,并创造使员工能够充分参与实现组织目标的环境。,2023年2月5日星期日,43,4.4 软件质量管理,原则3:全员参与各级人员是组织之本。只有他们的充分参与,才能使他们的才干为组织带来最大的收益。原则4:过程方法将相关的资源和活动作为过程进行管理,可以更高效地得到期望的结果。把管理职责;资源管理;产品实现;测量、分析与改进作为四大主要过程,描述其相互关系,并以顾客要求为输入,提供给顾客的产品为输出,通过信息反馈来测定的顾客满意度,评价质量管理体系的业绩。,2023年2月5日星期日,44,4.4 软件质量管理,原则5:管理的系统方法针对设定的目标,识别、理解并管理一个由相互关连的过程所组成的体系,有助于提高组织的有效性和效率。原则6:持续改进持续改进是组织的一个永恒的目标。原则7:基于事实的决策方法对数据和信息的逻辑分析或直觉判断是有效决策的基础。原则8:互利的供方关系通过互利的关系,增强组织及其供方创造价值的能力。,2023年2月5日星期日,45,4.5 软件质量保证,4.5.1 质量保证的概念4.5.2 软件质量保证的主要任务4.5.3 质量保证与检验4.5.4 软件质量保证体系4.5.5 软件质量保证的实施4.5.6 CMM2中的SQA4.5.7 软件的质量设计,2023年2月5日星期日,46,4.5.1 质量保证的概念,什么是质量保证,它是为保证产品和服务充分满足消费者要求的质量而进行的有计划、有组织的活动。质量保证是面向消费者的活动,是为了使产品实现用户要求的功能,站在用户立场上来掌握产品质量的。软件的质量保证就是向用户及社会提供满意的高质量的产品。,2023年2月5日星期日,47,4.5.1 质量保证的概念,软件的质量保证活动也和一般的质量保证活动一样,是确保软件产品从诞生到消亡为止的所有阶段的质量的活动。即为了确定、达到和维护需要的软件质量而进行的所有有计划、有系统的管理活动。,2023年2月5日星期日,48,4.5.1 质量保证的概念,软件质量保证的主要功能:1.质量方针的制定和展开;2.质量保证方针和质量保证标准的制定;3.质量保证体系的建立和管理;4.明确各阶段的质量保证工作;5.各阶段的质量评审;6.确保设计质量;7.重要质量问题的提出与分析;8.总结实现阶段的质量保证活动;9.整理面向用户的文档、说明书等;10.产品质量鉴定、质量保证系统鉴定;11.质量信息的收集、分析和使用。,2023年2月5日星期日,49,4.5.2 软件质量保证的主要任务,为了提高软件的质量和软件的生产率,软件质量保证的主要任务大致可归结为8点。用户要求定义:熟练掌握正确定义用户要求的技术熟练使用和指导他人使用定义软件需求的支持工具重视领导全体开发人员收集和积累有关用户业务领域的各种业务的资料和技术技能。,2023年2月5日星期日,50,4.5.2 软件质量保证的主要任务,力争不重复劳动考虑哪些既有软件可以复用在开发过程中,随时考虑所生产软件的复用性。掌握开发新软件的方法在开发新软件的过程中大力使用和推行软件工程学中所介绍的开发方法和工具。使用先进的开发技术:如结构化技术、面向对象技术 使用数据库技术或网络化技术 应用开发工具或环境 改进开发过程,2023年2月5日星期日,51,4.5.2 软件质量保证的主要任务,组织外部力量协作的方法一个软件自始至终由同一个软件开发单位来开发,也许是最理想的。但在现实中常常难以做到。改善对外部协作部门的开发管理。必须明确规定进度管理、质量管理、交接检查、维护体制等各方面的要求,建立跟踪检查的体制。,2023年2月5日星期日,52,4.5.2 软件质量保证的主要任务,排除无效劳动最大的无效劳动就是因需求规格说明有误、设计有误而造成的返工。定量记录返工工作量,收集和分析返工劳动花费数据较大的无效劳动是重复劳动,即相似的软件在几个地方同时开发建立互相交流、信息往来通畅、具横向交流特征的信息流通网,2023年2月5日星期日,53,4.5.2 软件质量保证的主要任务,发挥每个开发者的能力软件生产是人的智能生产活动,它依赖于人的能力和开发组织团队的能力。开发者必须有学习各专业业务知识、生产技术和管理技术的能动性。管理者或产品服务者要制定技术培训计划、技术水平标准,以及适用于将来需要的中长期技术培训计划。,2023年2月5日星期日,54,4.5.2 软件质量保证的主要任务,提高软件开发的工程能力要想生产出高质量的软件产品必须有高水平的软件工程能力。在软件开发环境或软件工具箱的支持下,运用先进的开发技术、工具和管理方法开发软件的能力。提高计划和管理质量能力项目开发初期计划阶段的项目计划评价计划执行过程中及计划完成报告的评价将评价、评审工作在工程实施之前就列入整个开发工程的工程计划中提高软件开发项目管理的精确度,2023年2月5日星期日,55,4.5.3 质量保证与检验,其一是切实搞好开发阶段的管理,检查各开发阶段的质量保证活动开展得如何;其二是预先防止软件差错给用户造成损失。为了确保每个开发过程的质量,防止把软件差错传递到下一个过程,必须进行质量检验。,2023年2月5日星期日,56,4.5.3 质量保证与检验,质量检验的原则,用户要求的是产品所具有的功能,这是“真质量”。靠质量检验,一般检查的是“真质量”的质量特性。能靠质量检验的质量特性,即使全数检验,也只是代表产品的部分质量特性。必须在各开发阶段对影响产品质量的因素进行切实的管理,认真检查实施落实情况。,2023年2月5日星期日,57,4.5.3 质量保证与检验,当开发阶段出现异常时,要从质量特性方面进行检验,看是否会给后续阶段带来影响。虽然各开发阶段进展稳定,但由于工程能力不足,软件产品不能满足用户要求的质量。这时可通过检验对该产品做出评价,判断是否能向用户提供该产品。要以一定的标准检验产品,根据产品的质量特性,检查各个过程的管理状态。,2023年2月5日星期日,58,4.5.4 软件质量保证体系,软件的质量保证活动,是涉及各个部门的部门间的活动。例如,如果在用户处发现了软件故障,产品服务部门就应听取用户的意见,再由检查部门调查该产品的检验结果,进而还要调查软件实现过程的状况,并根据情况检查设计是否有误,不当之处加以改进,防止再次发生问题。为了顺利开展以上活动,事先明确部门间的质量保证业务,确立部门间的联合与协作的机构十分重要,这个机构就是质量保证体系。,2023年2月5日星期日,59,4.5.4 软件质量保证体系,必须明确反馈途径。必须明确各部门的职责。必须确定保证系统运行的方法、工具、有关文档资料,以及系统管理的规程和标准。必须明确决定是否可向下一阶段进展的评价项目和评价准则。必须不断地总结系统管理的经验教训,能够修改系统。制定质量保证计划,在计划中 确定质量目标 确定在每个阶段为达到总目标所应达到的要求 确定进度安排 确定所需人力、资源和成本等。,2023年2月5日星期日,60,4.5.4 软件质量保证体系,软件质量保证的规程及技术准则:规定在项目的哪个阶段进行评审及如何评审;规定在项目的哪个阶段应当产生哪些报告和计划;规定产品各方面测试应达到的水平。在每次评审和测试中发现的错误如何修正;描述希望得到的质量度量;说明各种软件人员的职责,规定为了达到质量目标他们必须进行哪些活动。建立 在各阶段中执行质量评价的质量评价和质量检查系统 有效运用质量信息的质量信息系统,并使其运行。,2023年2月5日星期日,61,4.5.5 软件质量保证的实施,SQA的目的:是向管理者提供对软件过程进行全面监控的手段,包括评审和审计软件产品和活动,验证它们是否符合相应的规程和标准,同时给项目管理者提供这些评审和审计的结果。软件质量保证的实施需要从纵向和横向两个方面展开。要求所有与软件生存期有关的人员都要参加 要求对产品形成的全过程进行质量管理,2023年2月5日星期日,62,4.5.5 软件质量保证的实施,顾客驱动型的SQA:注重于评审和审计方法并保证一致性,其关键是需要一种客观的标准来确定并报告软件开发过程及其工作成果的质量,一般由某个独立的小组(一般称为“软件质量保证小组”)完成,关键步骤包括:选择项目应遵循的标准。制定项目开发计划,评价其完整性并选择项目将采用的标准。对软件工程活动进行评审。根据事先制定的计划和选择的标准来复审软件工程活动。审计工作成果。根据选择的标准来审计软件工作成果。报告结果。将上述活动的结果(尤其是偏离)汇报给适当的管理层人员。处理偏离。各种偏离将在适当的管理层次加以处理,若需要则交给上一级管理人员做进一步处理,直至得到解决。,2023年2月5日星期日,63,4.5.5 软件质量保证的实施,管理者驱动的SQA:注重于确定为了产品质量必须做些什么,并且建立管理和控制机制来确保这些活动能够得到执行。它包括确定项目产品必需的质量特性,努力工作以期达到质量要求,并显示已经达到质量要求。关键步骤如下:建立质量目标。以客户对于质量的需求为基础,对项目开发周期的各个检查点(如每个阶段结束时)建立质量目标。定义质量度量(metrics)。定义各种质量度量来衡量项目活动的结果以协助评价有关的质量目标是否达到。确定质量活动。对于每一个质量目标,确定那些能够帮助实现该质量目标的活动,并将这些活动集成到软件生命周期模型中去。执行质量活动。执行已经确定的质量活动。评价质量。在项目开发周期的确定检查点上,利用已经定义好的质量度量来评价有关的质量目标是否达到。采取修正行动。若质量目标没有达到,采取修正行动。,2023年2月5日星期日,64,4.5.5 软件质量保证的实施,值得一提的是,对于软件质量保证工作的开展还存在着许多误解,比如:只要开发人员写出尽可能多的文档,软件质量就会得到保证。只要制定出严格的开发过程规范,软件质量问题就可得到彻底解决。软件质量问题可通过软件测试得到彻底解决。软件质量就意味着软件质量保证-只是在售出产品必须的认可过程中的另一步骤,是软件质量保证小组的工作。,2023年2月5日星期日,65,4.5.6 CMM2中的SQA,该KPA只描述SQA组所应履行的质量保证功能。KPA目标:1.SQA活动是有计划的;2.软件产品和活动与其所用的标准、规程和需求之间的符合性是得到客观验证的;3.SQA组所进行的活动和结果被及时地通知到受影响的组和个人。4.高层管理者及时处理在软件项目内部不能解决的与所制定的计划、标准和规程不相符合的问题。,2023年2月5日星期日,66,4.5.6 CMM2中的SQA,关键实践:实施保障:1)项目遵循一个由组织制定的文档化的方针来实施SQA。实施条件:2)必须有一个有职有权的SQA组负责协调和实施项目的SQA.3)为进行SQA活动提供足够的资源和经费。4)SQA组的成员应通过培训,使他们能完成SQA活动。5)对参与软件项目的其他成员也要进行有关SQA组的作用、职责、权利和价值等方面的定向培训。,2023年2月5日星期日,67,4.5.6 CMM2中的SQA,执行的活动:6)按照一个文档化的规程的要求制定软件项目的SQA计划。7)SQA组按照SQA计划进行活动。8)SQA组参与项目软件开发计划、标准和规程的准备和评审。9)SQA组按照软件开发计划和制定的软件标准和规程对软件工程活动进行评审,验证软件工程活动的符合性。10)SQA组审计制定的软件工作产品已验证其符合性。11)SQA组定期向软件工程组通告其活动的结果。,2023年2月5日星期日,68,4.5.6 CMM2中的SQA,12)按照一个文档化的规程,对在软件活动和软件工作产品中鉴别出的偏差建立文档,并加以处理。13)SQA组将他的SQA活动和发现的偏差定期地与用户SQA人员进行交流或评审。实施检查:14)进行测量,结果用来确定SQA活动的成本和进展状态。15)高层管理者定期参与评审SQA活动。16)项目负责人定期并以实践驱动地参与评审SQA的活动。17)邀请独立于SQA组的专家定期评审项目SQA组的活动和软件工作产品。,2023年2月5日星期日,69,4.5.7 软件的质量设计,质量特性转换为软件的内部结构在软件定义阶段,必须定义对软件的质量需求。即确定软件的质量特性及必需的评价准则,并定量地设定其必须达到的质量水平在以后软件开发的每一阶段结束时,要算出评价的分数,然后与目标值加以对照,以评估在这一阶段开发的软件质量是否达到要求。为了实现规定的质量特性,就需要把这些质量特性转换为软件的内部结构的特性。,2023年2月5日星期日,70,4.5.7 软件的质量设计,功能性,操作性,性能,可靠性,可使用性,安全保密,可维护性,可扩充性,互换性,可移植性,复用性,互连性,作用,正确性,适用范围,质量特性,内部结构特性,内部结构的性能,内部结构的可靠性,结构特性,接口的实现结构,2023年2月5日星期日,71,4.5.7 软件的质量设计,软件的质量展开 质量展开的含义:把用户或管理人员的质量要求,转化成软件的质量特性,确定软件质量的设计。然后把它们分布到软件的各个功能部分,并进而分布到各个子系统或模块,作为各个部分的质量特性,把它们之间的关联系统地展开来。,