您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 质量控制/管理 > 第10章 软件质量与保证
软件工程第十章软件质量与质量保证第10章软件质量与保证10.1软件质量的概念10.2影响软件质量的因素10.3软件质量的度量10.4软件质量保证策略和活动10.5软件质量保证标准10.6软件技术评审软件工程第十章软件质量与质量保证10.1软件质量的概念1、软件质量的概念软件质量保证是为保证产品和服务充分满足消费者要求的质量而进行的有计划、有组织的活动。制定和展开质量方针;制定质量保证方针和标准;建立和管理质量保证体系;明确各阶段的质量保证业务;坚持各阶段的质量评审;确保设计质量;提出与分析重要的质量问题;总结实现阶段的质量保证活动;整理面向用户的文档、说明书等;鉴定质量,鉴定质量保证体系;收集、分析和整理质量信息。2、质量保证是面向消费者的活动。它包括的主要功能:软件工程第十章软件质量与质量保证3、软件质量保证的主要任务用户要求定义力争不重复劳动掌握开发新软件的方法组织外部力量协作的方法排除无效劳动发挥每个开发者的能力提高软件开发的工程能力提高计划和管理质量软件工程第十章软件质量与质量保证10.2.1McCall的质量因素10.2影响软件质量的因素软件质量因素直接影响软件开发过程各个阶段的产品质量和最终软件产品质量。由于对软件质量理解的不断深化,软件质量因素也不是一成不变的。McCall等人提出的软件质量因素共11个,分为3类。这些软件质量因素集中在软件产品的三个重要方面:它的运行特性、它承受改变的能力以及对新环境的适应能力。McCall质量因素至今仍是有效的。软件工程第十章软件质量与质量保证产品转移产品修改产品运行效率完整性可用性可靠性正确性互用性可重用性可移植性灵活性可测试性可维护性McCall的软件质量因素1、影响软件质量因素软件工程第十章软件质量与质量保证质量因素定义正确性程序满足规格说明及用户目标的程度可靠性能够防止因概念、设计和结构等方面的不完善造成的软件系统失效,具有挽回因操作不当造成软件系统失效的能力可用性学习使用软件的难易程度完整性控制未被授权人员访问程序和数据的程度效率软件对计算机资源的使用效率,分为运行时间效率和存储空间效率可维护性软件产品交付用户使用后,修改其错误和改进其性能所需工作量的大小可测试性测试程序使之具有预定功能所需的工作量灵活性当软件操作环境变化时,对软件做相应修改的难易程度可移植性将一个程序从一个运行环境移植到另一个运行环境的难易程度可复用性在其他应用中该程序可以被再次使用的程度(或范围)互用性将一个软件系统和其他软件系统组合在一起的难易程度软件质量因素的定义软件工程第十章软件质量与质量保证2、McCall定义的软件质量因素评价标准(1)可审查性:检查软件需求、规格说明、标准、过程、指令、代码及合同是否一致的难易程度。(2)准确性:计算和控制的精确程度。(3)通信共性:标准接口、协议和带宽的使用程度。(4)完备性:所需功能完全实现的程度。(5)复杂性:程序结构化、模块化、简明、简洁、清晰和可理解的程度。(6)简明性:程序代码的紧凑性。(7)一致性:在整个软件开发项目中使用统一的设计和文档编制技术的程度。(8)数据共性:在整个程序中使用标准数据结构和类型的程度。(9)容错性:系统在各种异常条件下提供继续操作的能力。软件工程第十章软件质量与质量保证(10)执行效率:程序的运行性能。(11)可扩充性:体系结构,数据或过程设计可扩充的程度。(12)通用性:程序部件潜在的应用范围。(13)硬件独立性:软件同支持它运行的硬件系统不相关的程度。(14)自检视性:程序监视其自身操作并且标识产生的错误的程度。(15)模块性:程序各构件的功能独立性。(16)可操作性:程序操作的难易程度。(17)安全性:控制或保护程序和数据不受破坏的机制,以防止程序和数据受到意外的或蓄意的存取、使用、修改、毁坏或泄密。(18)自文档性:源代码提供有意义文档的程度。(19)简单性:理解程序的难易程度。软件工程第十章软件质量与质量保证(20)软件系统独立性:程序与非标准的程序语言设计特征操作系统特征以及其他环境约束无关的程度。(21)可跟踪性:从一个设计说明或一个实际程序构件返回到需求的能力。(22)易培训性:软件支持新用户使用该系统的能力以上准则被定义后,我们可以按照下面表达式表达每个质量因素:Fq=c1×m1+c2×m2+…+cn×mn(q=1,2,…,11)其中,Fq是一个软件质量因素,mn是Fq对第n种评价准则的测量值,cn是相应的加权系数,McCall将评价准则都分为0—10级。0级最低,10级最高。因此,mn的取值可以为0,0.1,0.2,…,1.0。需要注意的是,分配给每个测量值的加权系数依赖于具体的软件产品。软件工程第十章软件质量与质量保证10.2.2ISO质量因素ISO9126标准也制定了标识软件质量的有关特征,并且力求能标识计算机软件的关键质量属性。该标准标识了6个关键质量因素:(1)功能性:软件满足所确定的需求的程度。(2)可靠性:软件可以被使用的时间长度。(3)可用性:软件容易使用的程度。(4)效率:软件优化使用系统资源的程度。(5)可维护性:软件容易被修复的程度。(6)可移植性:软件可以被从一个运行环境移植到另一个运行环境的容易程度。软件工程第十章软件质量与质量保证10.3软件质量的度量10.3.1软件质量度量方法1、软件质量度量满足的度量标准客观性:如果不存在来自测试者对度量的主观影响,则度量是客观的。适用性:如果度量结果能够明确地说明质量特性时,则表明度量是适用的。可靠性:如果在重复度量中,在同样条件下达到相同的效果则认为度量是可靠的。经济性:当度量是在低成本下进行时,则它是经济的。度量的经济性如何主要取决于度量过程的自动化程度和数据量。可比较性:当某项度量与其他度量相关时,则度量具有可比较性。软件工程第十章软件质量与质量保证标准化:如果有一个可以明确表示度量结果的标度存在,则度量被认为是达到标准化。有效性:质量标准的有效性是最难被证明的。但如果不说明度量标准是有效的,就不能客观的评价软件质量。2、软件质量度量的方法精密度量、全面度量和简易度量。精密度量是使用质量度量评价准则进行详细度量,工作量较大但度量精度较高。全面度量比较简单,可以和简易度量并用对各个质量评价准则进行度量。软件工程第十章软件质量与质量保证3、软件质量因素为了在开发和维护过程中定量地评价软件的质量,必须对软件质量因素进行度量,以测定软件是否达到了要求的质量因素的程度。软件质量因素度量有两类:预测型和验收型。预测度量是利用定量的或定性的方法,对软件质量的评价值进行估计,以得到软件质量的比较精确的估算值。它应用在软件开发过程中。验收度量则是在软件开发各阶段的检查点,是对软件的要求质量进行确认性检查的具体评价值,它可以看成是对预测度量的一种确认,是对开发过程中的预测进行评价。软件工程第十章软件质量与质量保证4、软件质量度量与保证的实施循环目标:以用户要求和开发方针为依据,对各质量特性设定质量目标。计划:设定适于被开发软件的评测检查项目,研讨实现质量目标的方法或手段。过程:在开发标准和质量评价准则的指导下,制作高质量的规格说明书和程序。检查:按照质量评价准则进行评价。比较评价结果的质量得分和质量目标。行为:对评价发现的问题进行改进,如果达到了质量目标就转入下一个阶段。软件工程第十章软件质量与质量保证10.3.2软件质量评价软件质量评价通过评分与分析结果两个步聚实现。1、评分对每一阶段要达到的质量指标(质量特性目标值或标准)详细开列并建立度量工作表。评分主要是依据软件实际成果进行的。2、分析结果对照质量指标,分析评分的结果。检查某个质量特性是否达到了要求的质量标准。如果某个质量特性不符合规定的标准,就应该分析这个质量特性,找出其达不到标准的原因。软件工程第十章软件质量与质量保证10.4软件质量保证策略和活动软件质量保证(SoftwareQualityAssurance,简称SQA)是一个复杂的系统,它采用一定的技术、方法和工具,来处理和协调软件产品满足需求时的相互关系,以确保软件产品满足开发过程中所规定的标准,即确保软件质量。为了在软件开发过程中保证软件的质量,主要采取措施:1、审查审查就是在软件生命周期每个阶段结束之前,按照正式使用结束标准对该阶段生产出的软件配置成分进行严格的技术审查。10.4.1软件质量保证策略软件工程第十章软件质量与质量保证2、复查和管理复审复查是检查已有的材料,以判断某阶段的工作是否能够开始或继续。3、测试测试就是对软件规格说明、软件设计和编码的最后复审,目的是在软件产品交付之前尽可能发现软件中潜伏的错误。软件工程第十章软件质量与质量保证美国SEI推荐了一组活动。这些活动将由一个独立的SQA小组执行(或协助):为项目制定SQA计划参与开发该软件项目的软件过程描述评审各项软件工程活动审核指定的软件工作产品记录软件工作及软件工作产品的偏差跟踪问题的解决协调变更的控制与管理帮助收集和分析软件度量的信息。10.4.2软件质量保证活动软件工程第十章软件质量与质量保证10.5软件质量保证标准1、ISO9000标准ISO9000标准是由国际标准化组织(ISO)所属的质量管理和质量保证技术委员会制定并颁布的关于质量管理和质量保证标准的统称。2、ISO9001标准ISO9001标准是应用于软件工程的质量保证标准。软件工程第十章软件质量与质量保证10.6软件技术评审软件技术评审是以保证软件质量为目的的技术活动。它是软件工程的“过滤器”,在软件开发过程的每个阶段,起到较早发现错误和缺陷(进而引发纠错活动)的作用,防止错误传播到软件过程的后续阶段。分为正式技术评审和非正式技术评审。1、正式技术评审的目标2、正式技术评审的方式3、评审会议4、评审报告和记录保存5、评审指导原则正式技术评审是一种由软件工程师和其他人进行的软件质量保障活动。软件工程第十章软件质量与质量保证•软件工程标准基础•软件工程标准的层次•中国的软件标准•ISO9000-3标准及软件质量认证•软件文档的作用与分类•对文档编制的质量要求软件工程第十章软件质量与质量保证1、软件工程标准的概念•软件危机的出路:软件开发的工程化和标准化。•程序设计语言的标准化:为某一程序设计语言规定若干个标准子集,对于语言的实现者和用户都带来很大方便。•软件过程的标准化:软件生存期各个阶段的工作建立标准或规范。一、软件工程标准基础2、软件工程标准的类型国家标准GB/T15538-1995《软件工程标准分类法》给出软件工程标准的分类。涉及过程管理、产品管理、资源管理,以及确认与验证。软件工程第十章软件质量与质量保证•过程标准:方法、技术、度量•产品标准:需求、设计、部件、描述、计划、报告•专业标准:职别、道德准则、认证、特许、课程•记法标准:术语、表示法、语言软件工程标准的清单可用二维表表示。表中填入的标准表明了软件工程标准的工作范围和如何对标准分类。3、软件工程标准化的作用•可提高软件的可靠性、可维护性和可移植性;•可提高软件人员的技术水平,减少差错和误解;•可提高软件人员之间的通信效率,提高软件的生产率;•有利于软件管理;有利于降低软件产品成本和运行维护成本;•有利于缩短软件开发周期。软件工程第十章软件质量与质量保证二、软件工程标准的层次(1)国际标准由国际联合机构制定和公布,提供各国参考的标准。•国际标准化组织(InternationalStandardsOrganization)ISO•ISO建立“计算机与信息处理技术委员会”,简称ISO/TC97,专门负责与计算机有关的标准化工作。这一标准通常冠有ISO字样,如:ISO8631《信息处理─程序构造及其表示法的约定》。该标准已由中国收入国家标准。软件工程第十章软件质量与质量保证(2)国家标准由政府或国家级机构制定或批准,适用于全国范围的标准,如:•GB─中华人民共和国国家技术监督局公布实施的标准,简称“国标”。已批准了若干软件工程标准。•ANSI(A
本文标题:第10章 软件质量与保证
链接地址:https://www.777doc.com/doc-447806 .html