软件危机是指在计算机软件开发和维护过程中(软件危机是指在计算机软件开发和维护过程中所产生的)

软件危机是指在计算机软件开发和维护过程中(软件危机是指在计算机软件开发和维护过程中所产生的)缩略图

什么是软件危机?

什么是软件危机?

软件危机

软件危机的形成

1.硬件生产率大幅提高

如今,计算机的发展已进入一个新的历史阶段;

硬件产品已系列化、标准化,”即插即用”。

硬件产品的生产可以采用最高精尖的现代化工具和手段、自动成批生产。生产效率几百万倍的提高。

生产能力过剩。

2. 软件生产随规模增大复杂度增大

以美国宇航局的软件系统为例:

1963年 水星计划系统 200万条指令

1967年 双子星座计划系统 400万条指令

1973年 阿波罗计划系统 1000万条指令

1979年 哥伦比亚航天飞机系统 4000万条指令

假设1个人一年生产一万条有效指令,那么是否4000人生产一年,或400人生产10年就能完成任务呢?答案是否定的。一万条指令的复杂度决不仅仅是100条指令复杂度的100倍。

3. 软件生产率很低

伴随计算机的普及,整个社会对计算机应用的需求越来越大。

但软件的生产却还沿用”手工作坊”的生产方式,人工编程生产。生产效率仅提高了几倍。

生产能力极其低下。

4. 硬、软件供需失衡

社会大量需求,生产成本高,生产过程控制复杂,生产效率低等等因素构成软件生产的恶性循环。

由此产生”软件危机”。

5. 矛盾引发”软件危机”

软件危机是指在计算机软件的开发和维护过程中所遇到的一系列严重问题。

为了研究、解决软件危机,诞生了一门新兴学科–软件工程学。它把软件作为工程对象,从技术措施和组织管理两个方面来研究、解决软件危机。

软件危机的具体体现

1. 软件开发进度难以预测

拖延工期几个月甚至几年的现象并不罕见,这种现象降低了软件开发组织的信誉。以丹佛新国际机场为例:

该机场规模是曼哈顿机场的两倍,宽为希思机场的10倍,可以全天侯同时起降三架喷气式客机;投资1.93亿美元建立了一个地下行李传送系统,总长21英里,有4,000台遥控车,可按不同线路在20家不同的航空公司柜台、登机门和行李领取处之间发送和传递行李;支持该系统的是5,000个电子眼、400 台无线电接受机、56台条形码扫描仪和100台计算机。按原定计划要在1993年万圣节前启用,但一直到1994年6月,机场的计划者还无法预测行李系统何时能达到可使机场开放的稳定程度。

2. 软件开发成本难以控制

投资一再追加,令人难于置信。往往是实际成本比预算成本高出一个数量级。

而为了赶进度和节约成本所采取的一些权宜之计又往往损害了软件产品的质量,从而不可避免地会引起用户的不满。

3. 用户对产品功能难以满足

开发人员和用户之间很难沟通、矛盾很难统一。往往是软件开发人员不能真正了解用户的需求,而用户又不了解计算机求解问题的模式和能力,双方无法用共同熟悉的语言进行交流和描述。

在双方互不充分了解的情况下,就仓促上阵设计系统、匆忙着手编写程序,这

软件危机的准确定义是什么?

软件危机的准确定义是什么?

软件危机(Software Crisis) 是计算机软件在它的开发和维护过程中所遇到的一系列严重问题。概括地说,主要包含两方面的问题:如何开发软件,怎样满足对软件日益增长的需求;如何维护数量不断膨胀的已有软件。

“软件危机”使得人们开始对软件及其特性进行更深一步的研究,人们改变了早期对软件的不正确看法。早期那些被认为是优秀的程序常常很难被别人看懂,通篇充满了程序技巧。现在人们普遍认为优秀的程序除了功能正确,性能优良之外,还应该容易看懂、容易使用、容易修改和扩充。

程序设计语言虽然为计算机的应用开拓了无比广阔的前景,但游荡在软件世界的幽灵——“软件危机”依然存在。因为软件的开发不仅受到程序设计的方法、结构的制约,而且受到开发周期以及软件开发成本的限制,更重要的是软件质量的保障与其程序设计的正确性关系极大。如果所开发的软件其可靠性得不到保障,在运行中将会产生不堪设想的严重后果。

其次就是,有软件危机的存在,也对应着程序员不断去更新和完善软件

软件危机是指

软件危机是指

所谓软件危机是指在计算机软件的开发和维护过程中所遇到的一系列严重问题.

什么是软件危机,为什么产生软件危机?

软件危机是指落后的软件生产方式无法满足迅速增长的计算机软件需求,从而导致软件开发与维护过程中出现一系列严重问题的现象。

产生软件危机的原因主要有两个方面:

1、与软件本身的特点有关。

软件不同于硬件,它是计算机系统中的逻辑部件而不是物理部件;软件样品即是产品,试制过程也就是生产过程。

软件不会因使用时间过长而“老化”或“用坏”;软件具有可运行的行为特性,在写出程序代码并在计算机上试运行之前,软件开发过程的进展情况较难衡量,软件质量也较难评价,因此管理和控制软件开发过程十分困难。

2、来自于软件开发人员的弱点。

其一,软件产品是人的思维结果,因此软件生产水平最终在相当程度上取决于软件人员的教育、训练和经验的积累。

其二,对于大型软件往往需要许多人合作开发,甚至要求软件开发人员深入应用领域的问题研究,这样就需要在用户与软件人员之间以及软件开发人员之间相互通讯,在此过程中难免发生理解的差异,从而导致后续错误的设计或实现。

扩展资料:

解决途径

在软件开发过程中人们开始研制和使用软件工具,用以辅助进行软件项目管理与技术生产,人们还将软件生命周期各阶段使用的软件工具有机地集合成为一个整体,形成能够连续支持软件开发与维护全过程的集成化软件支援环境,以期从管理和技术两方面解决软件危机问题。

此外,人工智能与软件工程的结合成为80年代末期活跃的研究领域。基于程序变换、自动生成和可重用软件等软件新技术研究也已取得一定的进展,把程序设计自动化的进程向前推进一步。

在软件工程理论的指导下,发达国家已经建立起较为完备的软件工业化生产体系,形成了强大的软件生产能力 。软件标准化与可重用性得到了工业界的高度重视,在避免重用劳动,缓解软件危机方面起到了重要作用。

参考资料来源:百度百科–软件危机

软件危机是什么啊?

软件开发技术的进步未能满足发展的要求.在软件开发中遇到的问题找不到解决的办法,问题积累起来,形成尖锐的矛盾,导致了软件危机 产生的原因: 1,软件分规模越来越大,结构越来越复杂 2,软件开发管理困难而复杂 3,软件包开费用不断增加 4,软件开发技术落后 5,生产方式落后,仍采用手工方式 6,开发工具落后,生产率提高缓慢

软件工程导论解答题,1、软件危机是什么,其产生的原因是什么 2、详细设计要做些什么

1.软件危机是指:在计算机软件开发和维护过程中所遇到的一系列严重的问题. 2.原因是:一方面与软件本身的特点有关,另一方面是和软件的开发和维护的方法不正确有关. 3.详细设计步骤: 1.结构程序设计 2.人机界面设计 3.数据设计 4.体系结构设计 5.过程设计(最重要)

软件危机 是指A计算机病毒的出现B利用计算机进行经济犯罪活动C软件开发和维护中出现的一系列问题.选什么

选择C

软件危机产生的原因

软件工程研究结果表明 ,软件危机的原因主要有两方面:

①与软件本身的特点有关。

软件不同于硬件,它是计算机系统中的逻辑部件而不是物理部件;软件样品即是产品,试制过程也就是生产过程;软件不会因使用时间过长而“老化”或“用坏”;软件具有可运行的行为特性,在写出程序代码并在计算机上试运行之前,软件开发过程的进展情况较难衡量,软件质量也较难评价,因此管理和控制软件开发过程十分困难;软件质量不是根据大量制造的相同实体的质量来度量,而是与每一个组成部分的不同实体的质量紧密相关,因此,在运行时所出现的软件错误几乎都是在开发时期就存在而一直未被发现的,改正这类错误通常意味着改正或修改原来的设计,这就在客观上使得软件维护远比硬件维护困难;软件是一种信息产品,具有可延展性,属于柔性生产,与通用性强的硬件相比,软件更具有多样化的特点,更加接近人们的应用问题。

随着计算机应用领域的扩大,99%的软件应用需求已不再是定义良好的数值计算问题,而是难以精确描述且富于变化的非数值型应用问题。因此,当人们的应用需求变化发展的时候,往往要求通过改变软件来使计算机系统满足新的需求,维护用户业务的延续性。

②危机原因来自于软件开发人员的如下弱点:

其一,软件产品是人的思维结果,因此软件生产水平最终在相当程度上取决于软件人员的教育、训练和经验的积累;

其二,对于大型软件往往需要许多人合作开发,甚至要求软件开发人员深入应用领域的问题研究,这样就需要在用户与软件人员之间以及软件开发人员之间相互通讯,在此过程中难免发生理解的差异,从而导致后续错误的设计或实现,而要消除这些误解和错误往往需要付出巨大的代价;

其三,由于计算机技术和应用发展迅速,知识更新周期加快,软件开发人员经常处在变化之中,不仅需要适应硬件更新的变化,而且还要涉及日益扩大的应用领域问题研究;软件开发人员所进行的每一项软件开发几乎都必须调整自身的知识结构以适应新的问题求解的需要,而这种调整是人所固有的学习行为,难以用工具来代替。

软件生产的这种知识密集和人力密集的特点是造成软件危机的根源所在。

从软件开发危机的种种表现和软件开发作为逻辑产品的特殊性可以发现软件开发危机的原因:

(1)用户需求不明确

在软件开发过程中,用户需求不明确问题主要体现在四个方面:

在软件开发出来之前,用户自己也不清楚软件开发的具体需求;

用户对软件开发需求的描述不精确,可能有遗漏、有二义性、甚至有错误;

在软件开发过程中,用户还提出修改软件开发功能、界面、支撑环境等方面的要求;

软件开发人员对用户需求的理解与用户本来愿望有差异。

(2)缺乏正确的理论指导

缺乏有力的方法学和工具方面的支持。由于软件开发不同于大多数其他工业产品,其开发过程是复杂的逻辑思维过程,其产品极大程度地依赖于开发人员高度的智力投入。由于过分地依靠程序设计人员在软件开发过程中的技巧和创造性,加剧软件开发产品的个性化,也是发生软件开发危机的一个重要原因。

(3)软件开发规模越来越大

随着软件开发应用范围的增广,软件开发规模愈来愈大。大型软件开发项目需要组织一定的人力共同完成,而多数管理人员缺乏开发大型软件开发系统的经验,而多数软件开发人员又缺乏管理方面的经验。各类人员的信息交流不及时、不准确、有时还会产生误解。软件开发项目开发人员不能有效地、独立自主地处理大型软件开发的全部关系和各个分支,因此容易产生疏漏和错误。

(4)软件开发复杂度越来越高

软件开发不仅仅是在规模上快速地发展扩大,而且其复杂性也急剧地增加。软件开发产品的特殊性和人类智力的局限性,导致人们无力处理“复杂问题”。所谓“复杂问题”的概念是相对的,一旦人们采用先进的组织形式、开发方法和工具提高了软件开发效率和能力,新的、更大的、更复杂的问题又摆在人们的面前。这个只是原因,有一些解决的方法,我不想打字了 累死我了!你要是想知道再说吧。