《第5章 软件质量标准.ppt》由会员分享,可在线阅读,更多相关《第5章 软件质量标准.ppt(28页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、1,第5章 软件质量标准,2,内容提要,5.1 软件质量标准概述5.1.1 国际标准5.1.2 国家标准5.1.3 行业标准5.1.4 企业规范5.1.5 项目规范5.2 ISO9001和9000-3在软件中的应用5.3 能力成熟模型CMM&CMMI5.3.1 CMM质量思想5.3.2 CMM关键域5.3.3 PSP和TSP5.3.4 CMMI5.3.5 CMM中的质量框架,3,内容提要,5.4 IEEE软件工程标准5.4.1 IEEE 730:2001 结构与内容5.4.2 IEEE/EIA Std 12207软件生命周期过程5.4.3 IEEE Std 1012验证与确认5.4.4 IEE
2、E Std 1028评审5.5 其它质量标准5.5.1 ISO/IEC 15504-2:2003软件过程评估标准5.5.2 Tick IT5.6小结,4,5.1 软件质量标准概述,经过数十年的发展,软件行业形成的标准分工细,体系繁多。本节主要从标准的层次来说明软件质量标准的情况。根据软件工程标准制定机构和标准适用的范围,将软件质量标准分为5个级别,即国际标准、国家标准、行业标准、企业标准和项目规范。很多标准的原始状态可能是项目标准或企业标准,但随着行业发展与推进,它的权威性可能促使它发展成为行业、国家或国际标准,因此这里所说的层次具有一定的相对性。,5,5.1.1 国际标准,由国际机构指定和公
3、布供各国参考的标准称为国际标准。国际标准化组织(International Standards Organization,ISO)具有广泛的代表性和权威性,它所公布的标准也具有国际影响力。20世纪60年代初,国际标准化组织建立了“计算机与信息处理技术委员会”,专门负责与计算机有关的标准工作。它所公布的标准带有ISO字样,如ISO10012:1995质量手册编写指南。,6,5.1.2 国家标准,由政府或国家级的机构制定或批准,适用于本国范围的标准,称为国家标准。如:GB(GuoBiao)中华人民共和国国家技术监督局是中国的最高标准化机构,它所公布实施的标准简称为“国标”。ANSI(America
4、n National Standards Institute)美国国家标准协会。是美国一些民间标准化组织的领导机构,具有一定的权威性。FIPS(Federal Information Processing Standards)美国商务部国家标准局联邦信息处理标准。它所公布的标准均冠有FIPS字样。如,1987年发表的FIPS PUB 13287 Guideline for validation and verification plan of computer software(软件确认与验证计划指南)。BS(British Standard)英国国家标准。DIN(Deutsches Inst
5、itut for Normung)德国标准协会。JIS(Japanese Industrial Standard)日本工业标准行业标准。,7,5.1.3 行业标准,行业标准是由一些行业机构、学术团体或国防机构制定,并适用于某个业务领域的标准。中华人民共和国国家军用标准(GJB)。是由我国国防科学技术工业委员会批准,适合国防部门和军队使用的标准。例如,1988年发布实施的GJB473-88军用软件开发规范。美电气和电子工程师学会(Institute Of Electrical and Electronics Engineers,IEEE),该学会成立了软件标准技术委员会(SESS),开展软件标准
6、化活动。美国国防部标准(Department of Defense-Standards,DOD-STD)。美国军用标准(Military-Standards,MIL-S)。另外,我国的一些部门(如信息产业部)也开展了软件标准化工作,制定和公布了一些适合本部门工作需要的规范。这些规范的制定参考了国际标准和国家标准。这些标准的制定对各自行业的软件工程起到了强有力的推动作用。,8,5.1.4 企业规范,一些大型企业或公司,由于软件工程工作的需要,制定适用于本部门的规范。例如,美国IBM公司通用产品部(General Products Division)1984年制定“程序设计开发指南”。,9,5.1
7、.5 项目规范,项目规范是为一些科研生产项目需要而由组织制定一些具体项目的操作规范,此种规范制定的目标很明确,即为该项任务专用。项目规范虽然最初的使用范围小,但如果它能成功指导一个项目的成功运行并重复使用,也有可能发展为行业规范。,10,5.2 ISO9001和9000-3在软件中的应用,ISO 9001描述的20条需求所面向的是以下问题。管理职责;质量系统;合同复审;设计控制;文档和数据控制;对客户提供产品控制;产品标识和可跟踪性;过程控制;审查和测试;审查、度量和测试设备的控制;审查和测试状态;对不符合标准产品的控制;改正和预防行为;处理、存储、包装、保存和交付;质量记录的控制;内部质量审
8、计;培训;服务;统计技术;采购。,11,5.3 能力成熟模型CMM&CMMI,能力成熟度模型(Capability Maturity Model,CMM)的本质是软件管理工程的一个部分。它是对于软件组织在定义,实现,度量,控制和改善其软件过程的进程中各个发展阶段的描述。通过5个不断进化的层次来评定软件生产的历史与现状。,12,5.3.1 CMM质量思想,13,5.3.2 CMM关键域,初始级可重复级已定义级已管理级优化级,14,处于CMM初始级项目,15,CMM2 项目,16,5.3.3 PSP和TSP,个体软件过程个体软件过程(Personal Software Process,PSP)是一
9、种可用于控制、管理和改进个人工作方式的自我持续改进过程,是一个包括软件开发表格、指南和规程的结构化框架。PSP与具体的技术(程序设计语言、工具或者设计方法)相对独立,其原则能够应用到几乎任何的软件工程任务之中。PSP能够说明个体软件过程的原则; 帮助软件工程师做出准确的计划;确定软件工程师为改善产品质量要采取的步骤;建立度量个体软件过程改善的基准;确定过程的改变对软件工程师能力的影响。团队软件过程实践证明,仅有PSP还是不够。因此,CMM/SEI又在此基础上发展出了TSP方法。TSP指导项目组中的成员如何有效地规划和管理所面临的项目开发任务,并且告诉管理人员如何指导软件开发队伍。TSP实施集体
10、管理与自己管理自己相结合的原则,最终目的在于指导开发人员如何在最少的时间内,以预计的费用生产出高质量的软件产品。所采用的方法是对群组开发过程定义、度量和改进。实施TSP的先决条件有3条:需要有高层主管和各级经理的支持,以取得必要的资源;项目组开发人员需要经过PSP的培训并有按TSP工作的愿望和热情;整个开发单位在总体上应处于CMM二级以上,开发小组的规模以320人为宜。,17,5.3.4 CMMI,软件能力成熟度集成模型(Capacity Maturity Model Integrated,CMMI)是CMM模型的最新版本。早期的能力成熟度模型是一种单一的模型其英文缩写为CMM,较多地用于软件
11、工程。随着应用的推广与模型本身的发展,该方法演绎成为一种被广泛应用的综合性模型,因此改名为CMMI模型。不能集中其不同过程改进的能力以取得更大成绩;要进行一些重复的培训、评估和改进活动,因而增加了许多成本;遇到不同模型中有一些对相同事物说法不一致,或活动不协调,甚至相抵触。,18,5.3.5 CMM中的质量框架,软件质量保证(Software Quality Assurance,SQA)是CMM可重复级中6个关键过程域之一,在CMMI中该关键过程升级为管理级中的过程与产品质量保证过程(Process and Product Quality Assurance,PPQA)。正如在CMMISW中描
12、述的那样,软件质量保证的目的是提供成员与管理阶层客观洞察流程与相关工作产品。软件质量保证包括评审和审计软件产品和活动,以验证它们是否符合适用的规程和标准,还包括向软件项目和其他有关的管理者提供评审和审计的结果。CMM/CMMI为满足这个关键过程域的要求需要达到以下4个目标:目标1:软件质量保证活动是有计划的目标2:软件产品和活动与适用的标准、规程和需求的符合性要得到客观验证目标3:相关的小组和个人要被告知软件质量保证的活动和结果目标4:高级管理者处理在软件项目内部不能解决的不符合问题。,19,质量保证实现的具体实施方法,定义项目类型和生命周期建立SQA计划,确定项目审计内容生成SQA报告审计S
13、QA报告独立汇报,20,5.4 IEEE软件工程标准,顾客标准流程标准产品标准资源与技术标准,21,5.4.1 IEEE 730:2001 结构与内容,目的参考文档管理文档标准、实践、约定和度量软件评审,22,5.4.2 IEEE/EIA Std 12207软件生命周期过程,主要过程(Primary Process)包括5个过程,这些过程供各主要当事方(如需方、供方、开发者、运行者和维护者)在参与或完成软件产品开发、运行或维护时使用,它们是:获取过程:需方获取系统,软件产品或软件服务的活动。供应过程:供方向需方提供系统、软件产品或软件服务的活动。开发过程:开发者定义并开发软件产品的活动。运行过
14、程:运行者在规定的环境中为其用户提供计算机系统服务的活动。2.支持过程(Supporting Process)包括8个过程,其每个过程均有明确的目的支持其它过程,帮助软件项目获得成功及良好的产品质量。它们是:文档编制过程:记录生存期过程中产生信息所需的活动。配置管理过程:实施配置管理活动。质量保证过程:为确保软件产品和软件过程符合规定的需求并能坚持既定计划所需的活动。联合评审、审核、验证与确认可作为质量保证技术使用。验证过程:为验证最终产品满足预期使用要求的活动。确认过程:为确保最终产品满足预期使用要求的活动。联合评审过程:评审方与被评审方共同对某一活动的状态和产品进行评审的活动。审核过程:审
15、核项目是否按要求、计划、合同完成的活动。问题解决过程:分析和解决在开发、运行、维护或其他过程中出现的问题(不论其性质和来源如何)的活动。,23,软件生命周期过程示意图,24,5.4.3 IEEE Std 1012验证与确认,验证验证是用来评价某一系统或某一组件的过程,来判断给定阶段的产品是否满足该阶段开始时施加的条件。即说明验证活动在一定的程度上是一种普通的测试活动,要求验证每个开发阶段是否符合先前阶段定义的需求。经过合理组织的项目应该包含验证和确认计划(Verification and Validation Plan,VVP)。在IEEE 1012-1987,IEEE软件验证和确认标准(IE
16、EE Standard for Software Verification and Validation)和IEEE 1059-1993,IEEE软件验证和确认指南(IEEE Software Guide for Verification and Validation Plan)中,IEEE为建立一个VVP提供了优秀的指导。确认确认是开发过程中间或结束时对某一系统或某一组件进行评价的过程,以确认它是否满足规定的需求。需要确认已经实现的组件实际上按照规格说明书进行的工作。通常,用测试来完成这项任务,确认计划是必须的。,25,5.4.4 IEEE Std 1028评审,26,5.5 其它质量标准,
17、5.5.1 ISO/IEC 15504-2:2003软件过程评估标准ISO/IEC 15504-2:2003ISO/IEC 15504-2:2004ISO/IEC 15504-4:2004,27,5.5.2 Tick IT,在20世纪80年代末期,软件开发过程的特殊性是软件企业在应用ISO 9001标准陷入了困境,于是在这个特殊的行业需要在通用认证过程的基础上补充附加的要求,导致了Tick IT认证项目的产生。TickIT项目帮助软件企业建立与其业务过程相关的质量体系,并使该体系满足ISO 9001的要求。TickIT程序要求企业的第三方质量管理体系认证应由经认可的认证机构实施,而认证审核活动应通过使用那些在软件行业及其过程方面有直接经验的审核员完成。TickIT项目由TickIT办公室进行管理,它是英国标准学会(Britain Standard Institute,BSI)专门负责所有信息系统和通信标准化工作的部门。IRCA TickIT审核员项目通过向第三方认证提供TickIT审核员及审核员培训课程来支持TickIT认证项目的实施。审核员IT能力要求基本指南由英国计算机协会的TickIT委员会制定。,28,5.6小结,本章从通用标准的概念、层次等方面展开,侧重于软件质量标准的介绍。通过本章的学习,可以从整体上了解软件行业标准体系结构和内容。,
限制150内