- 1、本文档共112页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
能力成熟度模型(CMM)软件过程改进指南 Watts S. Humphrey The Capability Maturity Model Guidelines for Improving the Software Process 第六章?? ?? 一个高成熟度级别实例: 航天飞机机载软件 6.1 引言 6.2 背景 6.3 过程改进方法 6.4 总的经验 6.1引言 每次航天飞机(简称飞船)发射前,IBM-Houston[注释1]的航天飞机机载软件(space shuttle on board software,简称SSOS)项目负责人签署一份飞行准备就绪认证书,其中郑重宣布在飞船飞行软件中没有已知的危及飞船及其乘员安全的故障。SSOS项目组大约花十年以上时间的努力,确保当新的版本交付美国宇航局(NASA)的Johnson 空间中心时,在航天飞机轨道飞行器主要的控制系统软件(飞行软件)中没有故障。 [注释1] 这一章我们将说明由位于Texas Houston市的IBM联邦系统公司最初完成的工作。1994年春,该机构被售给Loral公司,并归并到Loral的空间信息系统部。这本书的前面三个作者于1993年9月对这个项目调查访问了三天,这一章是根据他们的调查结果编写的。我们感谢Ted Keller,他安排了这次访问,提供了亲眼参观工作过程的机会。我们也感谢Julie Barnard,Shirler Demerson,Barry Eiland,Maureen Judd,Karen Kelley,Barbara Kolkhorst,Tony Macina,Anne Martt,Jim Orr,Tom Peterson,Patti Thornton,他们做了简要的介绍,提供了很好的见解。这一章所使用的图是经过SSOS项目允许的。关于这个项目的其它信息我们推荐《IBM系统杂志》中的一篇极好的文章[Billings94]。 为满足NASA对软件的最高安全性和可靠性标准的需求,SSOS项目逐渐形成了能产生高可预测质量结果的软件过程。项目组相信,假定有一个已定义的过程,它生产的产品质量等级已知,那么保证下一个产品仍保持相同的质量的最好方式是严格按照一种过程标准来执行该过程。经过20多年的工作,现在使用的飞船飞行软件的开发过程,已经具有在统计质量控制下的制造过程所表现的某些相同的特征。 因此,按照这种过程生产的飞行软件预计接近零缺陷,使得SSOS项目负责人签署飞行准备就绪认证书时确信已经满足要求。 最近一次与安全相关的飞船飞行中的故障,是于1986年10月在飞船执行使命时被测试到的,是自1985年飞行以来,仅有的一次软件失效(1989年有一次良性的报警故障)。图6.1显示航天飞机机载软件自1988年交付NASA以后的失效历史。这些数据包括下列情况中出现的失效:NASA的测试时,飞行模拟器上使用时,实际飞行时,以及其他合同单位使用时。 任何偏离软件需求的行为(除了良性的)都会引起失效。在这个级别上所承担的责任,与个人计算机卖主在提供大多数担保时对用户所表现的自由自在的态度形成对照。 SSOS项目通过不断地改进软件过程,自从70年代中期开始改进以来,所交付的每千行代码中的缺陷降低了两个数量级,生产率方面有300%的改进。NASA最近以免予招标的方式,授予SSOS项目10年后续合同。这种一票裁决说明了当前这位合同商具备独特的技能,并且是所知道的唯一能够执行软件过程、产生NASA所需结果的实体。 1989年所实施的软件能力评价结果报告如下:“NASA总部SRMQA鉴定小组确定,飞行软件项目等级为5”。SSOS项目两次被命名为IBM最佳软件实验室,是唯一两次获得NASA杰出奖的合同商。为了了解一个机构是如何在较高的成熟度级别上运作,本章描述了SSOS项目在过去的20年里的逐渐发展的过程。 图6-1(书上的图) 6.2 背景 6.2.1 产品 6.2.2 生命周期 6.2.3 项目特征 6.2.1 产品 飞船飞行软件(基本航空电子软件系统)负责在飞船飞行中各个阶段的制导、导航和飞行控制(图6.2)。此外,软件还支持飞船与地面操作之间的所有接口,监控与管理所有机上系统,进行故障检测与报警,以及实施飞船安全检查过程。飞行软件大约由42万行代码组成,运行在飞船计算机上的操作系统是用汇编语言书写的,而其余飞行软件则是用HAL/S书写。 图6-2飞船飞行软件的结构 在飞船飞行的关键阶段(例如,上升,返回)飞行软件以冗余方式在五个装载计算机中的四个上运行,并建立起非寻常的实时同步。如果基本的飞行软件遭受严重的失效,可以使用由另一个分包商独立开发的备份飞行系统。由于基本系统可靠,这个备用系统在飞行中从来没有使用过。 S
文档评论(0)