软件危机

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

软件危机——科技的“危机”与重生邓家龙刘鑫朱垚应用六班软件危机简介软件危机历史软件危机表现软件危机案例软件危机的原因分析——软件危机简介软件危机(英语:SoftwareCrisis)是早期计算机科学的一个术语[1],是指在软件开发及维护的过程中所遇到的一系列严重问题,这些问题皆可能导致软件产品的寿命缩短、甚至夭折。[2]软件开发是一项高难度、高风险的活动,由于它的高失败率,故有所谓“软件危机”之说。[3]软件危机的本源是复杂、期望和改变。这个术语用来描述正急遽增加之电脑的力量带来的冲击和可能要处理的问题的复杂性。从本质上来说,它谈到了写出正确、可理解、可验证的电脑程序的困难。——软件危机历史1968年,北大西洋公约组织(NATO)在联邦德国的国际学术会议创造软件危机(Softwarecrisis)一词。[4][5]而1960年代中期开始爆发众所周知的软件危机,为了解决问题,在1968、1969年连续召开两次著名的NATO会议,并同时提出软件工程的概念。1972年,艾兹赫尔·戴克斯特拉于计算机协会图灵奖的演讲:软件危机的主要原因,把它很不客气地说:只要没有机器,编程是一点问题也没有;当我们有几台微弱的电脑,编程就成为平和的问题,而现在我们有巨大的电脑,编程已成为一个同样巨大的问题。——艾兹赫尔·戴克斯特拉,《卑微的程序员》,《CommunicationsoftheACM》软件危机使人们认识到中大型软件系统与小型软件有着本质性差异:大型软件系统开发周期长、费用昂贵、软件质量难以保证、生产率低,它们的复杂性已远超出人脑能直接控制的程度,大型软件系统不能沿袭工作室的开发方式,就像制造小木船的方法不能生产航空母舰一样。[9]它的存在已经有数十年的历史了,一直到了1980年代的面向对象技术才解决了一部分在软件危机上的窘境。——软件危机表现软件危机其原因,衔接到硬件的整体复杂度,与软件开发流程。危机表现在几个方面:项目运行超出预算。项目运行超过时间。软件质量低落。软件通常不符合需求。项目无法管理,且代码难以维护。硬件成长率每年大约30%,软件每年只勉强以4~7%速度在成长,信息系统的交付日期一再延后,许多待开发的软件系统无法如期开始。1960年代软件开发成本占总成本20%以下;1970年代软件成本已达总成本80%以上,软件维护费用在软件成本中高达65%。1986年公布的数据,所有验收的外包软件中,竟然只有4%可用,其余96%却是不堪一用。大部分的企业自行开发的信息系统中,有四分之三也是功败垂成。因此软件维护成本居高不下,软件产品质量低落是最主要的原因——软件危机案例1995年,StandishGroup研究机构以美国境内8000个软件项目作为调查样本,调查结果显示,有84%软件计划无法于既定时间、经费中完成,超过30%的项目于运行中被取消,项目预算平均超出189%。美国银行信托软件系统开发案美国银行1982年进入信托商业领域,并规划发展信托软件系统。项目原订预算2千万美元,开发时程9个月,预计于1984年12月31日以前完成,后来至1987年3月都未能完成该系统,期间已投入6千万美元。美国银行最终因为此系统不稳定而不得不放弃,并将340亿美元的信托账户转移出去,并失去了6亿美元的信托生意商机。其他——软件危机案例IBMOS/360IBMOS/360操作系统被认为是一个典型的案例。到现在为止,它仍然被使用在360系列主机中。这个经历了数十年,极度复杂的软件项目甚至产生了一套不包括在原始设计方案之中的工作系统。OS/360是第一个超大型的软件项目,它使用了1000人左右的程序员。佛瑞德·布鲁克斯在随后他的大作《人月神话》中曾经承认,在他管理这个项目的时候,他犯了一个价值数百万美元的错误。1985年-1987年,导致病人死于Therac-25医疗线性加速器的过量辐射。1996年,亚利安五号原型爆炸。1998年,波音DeltaIII火箭爆炸。——软件危机案例诺顿危机公关不力“误杀门”事件升级◎文/本报记者徐英截至5月28日,跨国软件企业赛门铁克中国分公司仍未就旗下产品诺顿“误杀门”事件对用户致歉。而这个时间被危机处理专家认为是最后的化解危机时间。5月18日,不少使用诺顿杀毒软件的用户,遇到了重启电脑出现蓝屏无法启动的状况,原来,5月17日升级的诺顿杀毒软件将两个简体中文版本的MicrosoftWindows系统文件当成病毒删除,从而让用户电脑瘫痪。随着事件的进展,最初诺顿的误杀已然演变成一场危机公关事件。记者就此事的危机公关过程欲采访赛门铁克公司时,被对方以“目前以解决客户问题为先,公司没有太多时间和媒体解释”为由拒绝了采访。对于赛门铁克的这种做法,危机处理专家认为,这违背了危机处理原则之一——真诚沟通。——软件危机案例诺顿危机公关不力“误杀门”事件升级◎文/本报记者徐英截至5月28日,跨国软件企业赛门铁克中国分公司仍未就旗下产品诺顿“误杀门”事件对用户致歉。而这个时间被危机处理专家认为是最后的化解危机时间。5月18日,不少使用诺顿杀毒软件的用户,遇到了重启电脑出现蓝屏无法启动的状况,原来,5月17日升级的诺顿杀毒软件将两个简体中文版本的MicrosoftWindows系统文件当成病毒删除,从而让用户电脑瘫痪。随着事件的进展,最初诺顿的误杀已然演变成一场危机公关事件。记者就此事的危机公关过程欲采访赛门铁克公司时,被对方以“目前以解决客户问题为先,公司没有太多时间和媒体解释”为由拒绝了采访。对于赛门铁克的这种做法,危机处理专家认为,这违背了危机处理原则之一——真诚沟通。——软件危机的原因分析用户需求不明确在软件开发过程中,用户需求不明确问题主要体现在四个方面:在软件开发出来之前,用户自己也不清楚软件开发的具体需求;用户对软件开发需求的描述不精确,可能有遗漏、有二义性、甚至有错误;在软件开发过程中,用户还提出修改软件开发功能、界面、支撑环境等方面的要求;软件开发人员对用户需求的理解与用户本来愿望有差异。缺乏正确的理论指导缺乏有力的方法学和工具方面的支持。由于软件开发不同于大多数其他工业产品,其开发过程是复杂的逻辑思维过程,其产品极大程度地依赖于开发人员高度的智力投入。由于过分地依靠程序设计人员在软件开发过程中的技巧和创造性,加剧软件开发产品的个性化,也是发生软件开发危机的一个重要原因。——软件危机原因分析软件开发规模越来越大随着软件开发应用范围的增广,软件开发规模愈来愈大。大型软件开发项目需要组织一定的人力共同完成,而多数管理人员缺乏开发大型软件开发系统的经验,而多数软件开发人员又缺乏管理方面的经验。各类人员的信息交流不及时、不准确、有时还会产生误解。软件开发项目开发人员不能有效地、独立自主地处理大型软件开发的全部关系和各个分支,因此容易产生疏漏和错误。软件开发复杂度越来越高软件开发不仅仅是在规模上快速地发展扩大,而且其复杂性也急剧地增加。软件开发产品的特殊性和人类智力的局限性,导致人们无力处理“复杂问题”。所谓“复杂问题”的概念是相对的,一旦人们采用先进的组织形式、开发方法和工具提高了软件开发效率和能力,新的、更大的、更复杂的问题又摆在人们的面前。——软件危机的解决途径软件工程诞生于60年代末期,它作为一个新兴的工程学科,主要研究软件生产的客观规律性,建立与系统化软件生产有关的概念、原则、方法、技术和工具,指导和支持软件系统的生产活动,以期达到降低软件生产成本、改进软件产品质量、提高软件生产率水平的目标。软件工程学从硬件工程和其他人类工程中吸收了许多成功的经验,明确提出了软件生命周期的模型,发展了许多软件开发与维护阶段适用的技术和方法,并应用于软件工程实践,取得良好的效果。在软件开发过程中人们开始研制和使用软件工具,用以辅助进行软件项目管理与技术生产,人们还将软件生命周期各阶段使用的软件工具有机地集合成为一个整体,形成能够连续支持软件开发与维护全过程的集成化软件支援环境,以期从管理和技术两方面解决软件危机问题。此外,人工智能与软件工程的结合成为80年代末期活跃的研究领域。基于程序变换、自动生成和可重用软件等软件新技术研究也已取得一定的进展,把程序设计自动化的进程向前推进一步。在软件工程理论的指导下,发达国家已经建立起较为完备的软件工业化生产体系,形成了强大的软件生产能力。软件标准化与可重用性得到了工业界的高度重视,在避免重用劳动,缓解软件危机方面起到了重要作用谢谢欣赏再见

1 / 13
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功