首页 理论教育 软件危机的危害及其原因-财产流失,人员伤亡

软件危机的危害及其原因-财产流失,人员伤亡

时间:2023-10-25 理论教育 版权反馈
【摘要】:软件危机的危害可能会导致财产流失,甚至导致人员伤亡。大型的软件项目需要组织大量的人力共同完成,很多管理人员缺乏开发大型软件系统的经验,而大多数的软件开发人员缺乏管理的经验,这样在信息交流的即时性、准确性上就存在着硬伤。但是随着软件规模上快速地发展扩大,而且其复杂性也急剧地增加,软件开发产品的特殊性和人类智力的局限性,导致人们常常觉得无能为力。

软件危机的危害及其原因-财产流失,人员伤亡

1.软件危机产生背景

软件危机(Software Crisis)这个词兴起在20世纪60年末70年代初,但是事实上软件危机是伴随着计算机一起诞生的。在计算机投入实际使用的初期,软件采用密切依赖于计算机的机器代码或汇编语言,往往只是为了一个特定的应用而在指定的计算机上设计和编制,规模比较小、复杂度低,通常是没有任何文档资料的,设计软件往往等同于编制程序,基本上是单兵作战、小作坊模式。

随着软件功能的加强和复杂度的加深,往往一个软件都有几万、几十万甚至上百万行的代码,要完成这样一个软件,一个人或者几个人的智力、体力都是难以承受的。由于软件是智力、逻辑产品,简单地增加软件开发人员往往并不能真正地提高软件开发的效率,相反随着人员的增加,团队人员的协调、组织、风格、培训、管理等方面的问题将会更严峻。具体表现为预算超支、不能按时完成、质量得不到保证、维护困难、可移植性差甚至两个类似的软件也不能重用等问题,更有甚者被迫中止计划。例如世界范围的军事命令和控制系统(WWWMCCS)、IBM OS/360等项目在耗费了大量的人力和财力之后,由于离预定目标相差甚远而不得不中止开发计划。

软件危机的危害可能会导致财产流失,甚至导致人员伤亡。计算机已经被广泛地应用到医疗以及其他与生命息息相关的行业中,如果稍有错误则会导致人员伤亡。

2.软件危机产生原因

导致危机产生的原因很复杂,通常原因大致如下:

(1)用户对软件的需求描述不明确。包括:用户对软件开发需求的描述不精确,可能有遗漏、有二义性甚至有错误;在软件开发出来之前,用户自己也不清楚软件开发的具体需求;在软件开发过程中甚至结束时,用户还会提出修改软件开发功能、界面等方面的要求。

(2)领域差异。由于专业领域的不同,用户难以用软件系统专业的术语描述需求,而软件开发人员对用户需求的理解与用户本来愿望有差异。(www.xing528.com)

(3)缺乏有效的管理和沟通。大型的软件项目需要组织大量的人力共同完成(例如参与Windows 2000编写程序员人数是5000人),很多管理人员缺乏开发大型软件系统的经验,而大多数的软件开发人员缺乏管理的经验,这样在信息交流的即时性、准确性上就存在着硬伤。

(4)缺乏适当的方法和工具。由于软件开发过程是复杂的逻辑思维过程,其产品极大程度地依赖于开发人员高度的创造性和技巧。如果过分地依靠程序设计人员则会加剧软件开发产品的个性化,也是发生软件开发危机的一个重要原因。

(5)人的能力是有限的。在60年代初期,训练有素的程序员不用图和注解就能轻松地编写出几百行的代码,甚至在测试或提交用户前夕发现重大问题都能重头来过。但是随着软件规模上快速地发展扩大,而且其复杂性也急剧地增加(例如Windows 2000代码高达35,000,000行),软件开发产品的特殊性和人类智力的局限性,导致人们常常觉得无能为力。

(6)缺乏必要的文档支持。文档描述更加精确和有据可查,作为沟通交流的手段非常实用。项目经理的文档可以作为项目的数据基础和检查表,并且必要的文档对将来系统的优化、扩展和复用都有很大的指导作用。

3.软件危机的缓解方法

业内人士在认真地分析了软件危机的表现形式找出危机产生的原因之后,开始研究如何能控制和管理软件危机,探索将现代工程的概念、原理、方法和技术引入到软件的开发、管理、维护的可能性,这就是软件工程

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈