软件可靠性.docVIP

  1. 1、本文档共9页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
软件可靠性.doc

软件可靠性是个大问题 闵应骅 如果说计算机体系结构描写了计算机的躯体,那么,软件就是计算机的灵魂。软件可靠性对可信计算起着举足轻重的作用。几十年来,硬件技术特别是集成电路技术飞速发展,但软件技术在产品质量、生产力、成本及性能等众多方面都滞后于硬件技术的发展。随着软件系统规模和复杂性的增加,其开发成本以及由于软件故障而造成的经济损失也正在增加,软件质量问题已成为制约计算机发展的关键因素之一。 软件可靠性是个大问题 不要认为,软件仅仅是一个计算机指令序列,它是为用户提供所需信息处理能力的逻辑上的信息处理设备。用户需要的是一个满意的软件产品。但是,不要把软件的产品实现和开发管理混为一谈,或者顾此失彼。产品实现包括从需求描述、系统设计、系统实现、测试验证到运行维护的整个生命周期。但是,几十年的经验表明,要实现一个高质量的软件产品,开发管理极其重要。软件生命周期定义了软件过程的框架和原则,但没有描述软件过程的活动、组织形式、工具和操作规程,以及开发方针和约束。这些正是当下所谓软件过程技术要研究的。由于当今的软件,无论是系统软件、中间件或应用软件,都不是一个单位、一个人能够完成的,需要合作和协同,因此,软件产业需要国际标准。20世纪80年代,卡内基-梅隆大学的软件工程研究所在美国国防部的支持下,提出了评价软件供应商过程能力的能力成熟度模型(CMM)。一个软件组织的能力成熟度的高低,就看该组织是否能站在比软件项目更高的层次上考察其实施软件开发所使用的软件过程。能够定义该软件过程者为成熟度三级;如能度量和管理,则达到成熟度四级;如果还能优化该过程,则达到了成熟度五级。只有在成熟的软件过程管理之下,才能生产出高质量的软件产品。CMM模型现在还在不断地丰富和改进。质量和生产率是软件工程的两个核心目标。CMM等已被公认为软件质量保证方面的事实标准。它强调软件过程的管理与控制,忽略软件人员个人的主动性和创造性。所以,进入二十一世纪,在美国成立了Agile联盟,提出了敏捷软件开发方法,以适应那些需求不够确定、软件开发团队不是很大的软件开发项目。在2000年,美国政府和商业机构公布了CMM水平评估结果。在第一、二级者超过一半,30%达到第三级,只有17%达到第四、五级。实际情况可能比这还要糟。CMM现在正发展成CMMI,以更广泛地评估一个单位创造复杂软件系统的能力。一个信息技术(IT)项目经理最重要的责任是为各种活动分配资源。其他责任还有项目计划和评估、控制、组织、合同管理,质量管理,风险管理,通讯和人力资源管理。项目经理的错误决策也许是今天软件失效的主要原因。技术管理的失误引起技术差错,但可以纠正,而错误的项目管理决策,例如雇用程序员太少或合同类型的错误,可能引起全盘皆输。 2005年9月IEEE Spectrum 杂志专门报导了用户定制的企业软件及许多软件失效的问题,这些失效导致公司破产、政府和工业界每年损失在美国达到600-750亿美元,这类计划的15-20%不是中途停止,就是完成后很快被抛弃。问题在那里?为什么软件会失败?没有过程文档或者很糟的过程文档、不可能满足的需求、很差的或者不断更改的规格说明和质量控制。最大的问题可能在于人,用户无法说清究竟他希望要什么,卖主无法控制,管理者看到这种情况只有另图别路。我们不妨举几个典型的例子来说明问题。 最著名的一个软件失效是美国联邦调查局(FBI)的“虚拟案件文件系统”。这个用户软件希望自动化该局的纸上工作环境,允许下属通过计算机网络分享与调查相关的信息。但是,FBI说,开发商开发的软件错误太多,使他们丢弃了这个1.7亿美元的项目。但是许多人说FBI对此失败也有责任。当FBI准备花更多的钱来做这个项目时,应该搞清楚现在的问题出在哪里。研究表明问题还是出在软件开发过程的错误。 所有的信息技术系统都是很脆弱的。对一个砖瓦建筑大楼,你需要拆掉几百块置于战略位置的砖才能使一面墙倒塌。但是,对于一个十万行程序的软件,只要有一两行是坏的,就会出现大问题。1991年,ATT电话网络失灵,使一千二百万用户丢失电话服务,完全是由于一行程序中一个字符的键入错误造成的。 另一个不成熟的IT实践是1997年美国税收服务的40亿现代化项目,美国国税局现在还继续投80亿。把税收编码翻译成软件编码基本上是不可能的。税收法规非常复杂,基于常常是含糊的法律条文,并且经常改变。从信息工程的观点来看,那是一个需求梦想。如果考虑到来自内部和外部的恶意攻击,问题就更加复杂。 Sydney Water Corp.是澳洲最大的水提供商,该公司的自动顾客信息和计费系统,经费3,320万美元,在2002年被取消。根据澳大利亚总审计师的研究,该项目的计划和规范不适当,使许多需求改变,而且要追加经费和推迟项目的计划。Sydney W

文档评论(0)

整理王 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档