第12章软件质量与可靠性

上传人:小** 文档编号:55129702 上传时间:2018-09-25 格式:PPT 页数:60 大小:1.40MB
返回 下载 相关 举报
第12章软件质量与可靠性_第1页
第1页 / 共60页
第12章软件质量与可靠性_第2页
第2页 / 共60页
第12章软件质量与可靠性_第3页
第3页 / 共60页
第12章软件质量与可靠性_第4页
第4页 / 共60页
第12章软件质量与可靠性_第5页
第5页 / 共60页
点击查看更多>>
资源描述

《第12章软件质量与可靠性》由会员分享,可在线阅读,更多相关《第12章软件质量与可靠性(60页珍藏版)》请在金锄头文库上搜索。

1、软件工程,软件工程,刘迎春,软件工程,第12章 软件质量与可靠性,12.1 软件质量保证 12.2 软件能力 12.3 软件可靠性 12.4 软件质量管理标准,第12章 软件质量与可靠性,软件质量,是贯穿于整个软件生存周期的一个重要问题。它渗透到软件开发和维护的每一个时期,每个阶段,乃至每一个细节活动中。 20世纪90年代以来,质量认证逐渐在企业流行,把对于产品的质量保证扩展到对于整个企业的质量认证。 软件现代质量管理的内容也相应地扩展为包括质量保证与质量认证等两个方面。,12.1 软件质量保证,质量是任何产品生命的关键,对于软件也不例外。 由于软件产品的特殊性,质量保证(Quality As

2、surance)比硬件产品更加困难。,12.1.1 软件的质量要求,12.1.2 软件质量保证的内容,软件质量保证的内容主要包括:审查、开发方法、配置控制与程序测试的综合应用。 在“软件开发规范”的指导下,对于软件计划和开发时期各个阶段的工作都要进行复审;每个阶段产生的文档都必须严格管理,以确保文档和程序的完整性与一致性;最后要对程序进行不同类型的测试。,12.2 软件能力,12.2.1CMM的由来与发展 20世纪80年代后期,卡内基梅隆大学(CMU/SEI)根据美国联邦政府的要求开始研究软件企业的开发能力。于1991年正式公布了软件过程能力成熟度模型(Capability Maturity

3、Model)CMM1.0版,标志着软件质量管理向质量认证迈出了重要的一步。,SW-CMM的由来与发展(2),20世纪60年代中期,大型软件系统生产中爆发的软件危机,使程序中大量的错误难以消除,软件生产的进度无法预测,开发应用费用失去控制,程序员人数增长需求很难满足要求。 人们将工程的概念、原理、技术和方法引入了软件系统开发,在一定程度上解决了软件生产过程中遇到的问题。软件工程成为软件产业的重要分支。 直至80年代还是没有提出一套管理软件开发的通用原则,软件管理不善的问题依旧在大范围内存在。,SW-CMM的由来与发展(3),70年代中期美国国防部曾立题专门研究软件项目做不好的原因,发现70%的项

4、目是因为管理不善而引起,而并不是因为技术实力不够。 90年代中期,软件工程管理不善的问题仍然存在。据美国软件工程实施现状的调查,大约只有12%的项目能够在预定的费用和进度下交付。1995年,美国共取消了812亿美元的软件项目,其中31%的项目未做完就取消了,53%的软件项目进度通常要延长50%的时间,通常只有9%的软件项目能够及时交付并且费用也不超支。 结论:管理是影响软件研发项目全局的因素,而技术只影响局部。,SW-CMM的由来与发展(4),80年代中期,美国联邦政府提出对软件承包商的软件开发能力进行评估的要求。在Mitre公司的帮助下,1987年9月,美国卡内基-梅隆大学软件工程研究所发布

5、了软件过程成熟度框架,并提供了软件过程评估和软件能力评价两种评估方法和软件成熟度提问单。 4年之后,SEI将软件过程成熟度框架进化为软件能力成熟度模型(Capability Maturity Model For Software,简称SW-CMM)。 1991年8月,SEI发布了最早的SW-CMM v1.0。 经过两年的试用,1993年SEI正式发布了SW-CMM v1.1,这是目前使用最为广泛的版本。,SW-CMM的由来与发展(5),从1995年,CMM又进入了另一个修改的高峰期。 美国政府和软件业界大力支持和积极参与下,SEI先后发表了CMM 2.0版的A版,B版和C版草案;1997年,C

6、MM 2.0C版草案停止推进。 SEI宣布,CMM 1.1版和CMM 2.0C版草案都有效。 自CMM 1.1发布起,SEI相继研制并发布了“人员能力成熟度模型”(P-CMM),“软件访问能力成熟度模型”(SA-CMM)和“系统工程能力成熟度模型”(SE-CMM)及其支持文件。 经过试运行,把SM-CMM, P-CMM, SA-CMM和SE-CMM合并在一起:CMMI。,SW-CMM的由来与发展(6),SEI的CMM为软件工程管理开辟了一条新的途经,其的本质还是软件工程的一个部分。 迄今为止,CMM虽然只是美国卡内基-梅隆大学软件工程研究所(SEI)发表的一份技术报告,既不是政府也不是行业协会

7、批准的标准,但它在美国和国际上已成为事实上的软件行业标准。 围绕以CMM为基础的软件过程评估和软件能力评价,建立了从审核员培训到提供评估和评价的一整套服务体系。,12.2.2 软件能力的概念,软件能力是表示软件企业或项目机构的开发能力,是度量软件过程完善程度的尺度 。 软件过程成熟度用来表达一个特定的软件过程被明确和有效的定义、管理、测量和控制的程度。 软件过程成熟度高的企业,对于软件管理以及工程的方法、规程和过程等均有明确的定义,不会因人员的变化而变化。 将软件过程的能力成熟度分成不同的等级,每个等级包括一组过程目标,等级越高,表明企业的软件过程成熟度越高,其软件过程能力也就越高。,12.2

8、.3CMM模型的内容,SW-CMM为软件企业的过程能力提供了一个阶梯式的进化框架。 它是基于过去所有软件工程成果的过程改善的框架,吸取了以往软件工程的经验教训。 指明了一个成熟的软件组织在软件开发方面需要管理的主要工作、这些工作之间的关系以及以怎样的先后次序,一步一步的做好这些工作使软件组织走向成熟。,1.初始级 特征,软件过程的特点是杂乱无章,有时甚至混乱。几乎没有定义过程的规则或步骤。 过分的承诺。常作出良好的承诺:“按照软件工程方式,有序的工程过程来工作”;或达到高目标的许诺。但实际上却出现一系列危机。 遇到危机就放弃原计划过程,反复编码和测试。 成功完全依赖个人努力和杰出的专业人才,取

9、决于超常的管理人员和杰出有效的软件开发人员。具体的表现和成果都源于或者说是决定于个人的能力和他们先前的经验、知识以及他们的进取心和积极程度。 能力只是个人的特性,而不是开发组织的特性。依靠着个人的品质或承受着巨大压力,或找窍门取得成果。但此类人一旦离去,对组织的稳定作用也消失。 软件过程是不可确定的和不可预见的。软件成熟性程度处于第一级的软件组织的软件过程在实际的工作过程中被经常的改变(过程是随意的)。这类组织也在开发产品,但其成果是不稳定的,不可预见的,不可重复的。也就是说,软件的计划、预算、功能和产品的质量都是不可确定和不可预见的。,CMM模型的内容,1.初始级,极少存在或使用稳定的过程

10、所谓“过程”,往往是“就这么干”而言。 各种条例、规章制度互不协调,甚至互相矛盾。,过程:,依赖个人努力和杰出人物。一旦优秀人物离去,项目就无法继续。 人们的工作方式如同“救火”。就是在开发过程中不断地出现危机,以及不断的“救火”。,人员:,引进新技术是极大风险。,技术:,不收集数据或分析数据。,度量:,CMM模型的内容,1.初始级,建立项目管理过程。实施规范化管理。保障项目的承诺。 首要任务是进行需求管理,建立客户与软件项目之间的共同理解,使项目真正反映客户的要求。 建立各种软件项目计划。如软件开发计划、软件质量保证计划、软件配置计划、软件测试计划、风险管理计划及过程改进计划。 开展软件质量

11、保证活动(SQA),改进方向:,CMM模型的内容,2.可重复级,进行较为现实的承诺,可按以前在同类项目上的成功经验建立的必要过程准则来确保再一次的成功。 主要是逐个项目地建立基本过程管理条例来加强过程能力。 建立了基本的项目管理过程来跟踪成本、进度和功能。 管理工作主要跟踪软件经费支出、进度及功能。识别在承诺方面出现的问题。 采用基线(BASELINE)来标志进展、控制完整性 。 定义了软件项目的标准,并相信它,遵循它。 通过子合同建立有效的供求关系。,特征:,CMM模型的内容,2.可重复级,软件开发和维护的过程是相对稳定的,但过程建立在项目一级。 有规则的软件过程是在一个有效的工程管理系统的

12、控制之下,先前的成功经验可以被重复。,过程:,项目的成功依赖于个人的能力以及管理层的支持。 理解管理的必要性及对管理的承诺。 注意人员的培训问题。,人员:,建立技术支持活动,并有稳定的计划。,技术:,每个项目建立资源计划。主要是关心成本、产品和进度。有相应的管理数据。,度量:,CMM模型的内容,2.可重复级,不再按项目制定软件过程,而是总结各种项目的成功经验,使之规则化,把具体经验归纳为全组织的标准软件过程。把改进组织的整体软件过程能力的软件过程活动,作为软件开发组织的责任。 确定全组织的标准软件过程,把软件工程及管理活动集成到一个稳固确定的软件过程中。从而可以跨项目改进软件过程效果,也可作为

13、软件过程剪裁的基础。 建立软件工程过程小组(SPEG)长期承担评估与调整软件过程的任务,以适应未来软件项目的要求。 积累数据:建立组织的软件过程库及软件过程相关的文档库。 加强培训。,改进方向:,CMM模型的内容,3.确定级,无论管理方面或工程方面的软件过程都已文件化、标准化,并综合成软件开发组织的标准软件过程。 软件过程标准被应用到所有的工程中,用于编制和维护软件。有的项目也可根据实际情况,对软件开发组织的标准软件过程进行剪裁。 在从事一项工程时,产品的生产过程、花费、计划以及功能都是可以完全控制的,从而软件质量也可以控制。 软件工程过程组(SPEG)负责软件过程活动。 在全组织范围内安排培

14、训计划。,特征:,CMM模型的内容,3.确定级,整个组织全面采用综合性的管理及工程过程来管理。软件工程和管理活动是稳定的和可重复的,具有连续性的。 软件过程起了预见及防范问题的作用,能使风险的影响最小化。,过程:,以项目组的方式进行工作。如同综合产品团队。 在整个组织内部的所有人对于所定义的软件过程的活动、任务有深入理解。大大加强了过程能力。 有计划地按人员的角色进行培训。,人员:,在定性基础上建立新的评估技术。,技术:,在全过程中收集使用数据。 在全项目中系统地共享数据。,度量:,CMM模型的内容,3.确定级,开始着手软件过程的定量分析,以达到定量地控制软件项目过程的效果。 通过软件的质量管

15、理达到软件的质量目标。,改进方向:,CMM模型的内容,4.管理级,制定了软件过程和产品质量的详细而具体的度量标准。软件过程和产品的质量都可以被理解和控制。 软件组织的能力是可预见的。原因是软件过程是被明确的度量标准所度量和操作。不言而喻,软件产品的质量就可以预见和得以控制。 组织的度量工作保证所有项目对生产率和质量进行度量,并作为作为重要的软件过程活动。 具有良好定义及一致的度量标准来指导软件过程,并作为评价软件过程及产品的定量基础。 在开发组织内已建立软件过程数据库,保存收集到的数据,可用于各项目的软件过程。,特征:,CMM模型的内容,4.管理级,开始定量认识软件过程。 软件过程的变化小,一

16、般在可接受的范围内。 可以预见软件过程中和产品质量方面的一些趋势。一旦质量经度量后超出这些标准或是有所违反,可以采用一些方法去改正,以达到良好的目标。,过程:,每个项目中存在强烈的群体工作意识。因为每人都了解个人的作用与组织的关系,因此能够产生这种群体意识。,人员:,不断地在定量基础上评估新技术。,技术:,在全组织内进行数据收集与确定。 度量标准化。 数据用于定量地理解软件过程及稳定软件构成。,度量:,CMM模型的内容,4.管理级,缺陷防范。不仅仅在发现了问题时能及时改进,而且应采取特定行动防止将来出现这类缺陷。 主动进行技术变动管理、标识、选择和评价新技术,使有效的新技术能在开发组织中施行。

17、 进行过程变动管理。定义过程改进的目的,经常不断地进行过程改进。,改进方向:,CMM模型的内容,5.优化级,整个组织特别关注软件过程改进的持续性、预见及增强自身。防止缺陷及问题的发生。不断地提高他们的过程能力。 加强定量分析,通过来自过程的质量反馈和吸收新观念、新科技,使软件过程能不断地得到改进。 根据软件过程的效果,进行成本/效益分析,从成功的软件过程实践中吸取经验,加以总结。把最好的创新成绩迅速向全组织转移。对失败的案例,由软件过程小组进行分析以找出原因。 组织能找出过程的不足并预先改进。把失败的教训告知全体组织以防止重复以前的错误。 对软件过程的评价和对标准软件过程的改进,都在全组织内推广。,

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 商业/管理/HR > 经营企划

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号