1,什么是软件危机

软件危机指,随着计算机工业的发展,在软件开发过程中逐渐形成了一些矛盾。比如:软件开发没有计划性;软件前期需求分析不足;软件开发过程没有规范等等。这些矛盾表现在软件开发中导致了一系列问题,如开发计划无法顺利执行,成本昂贵,开发的软件错误百出等等。正是这种软件危机才促使人们寻求解决方法,也就产生了软件工程。
就是所有软件爆废

什么是软件危机

2,什么是软件危机

软件危机 软件危机的形成 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. 用户对产品功能难以满足 开发人员和用户之间很难沟通、矛盾很难统一。往往是软件开发人员不能真正了解用户的需求,而用户又不了解计算机求解问题的模式和能力,双方无法用共同熟悉的语言进行交流和描述。 在双方互不充分了解的情况下,就仓促上阵设计系统、匆忙着手编写程序,这

什么是软件危机

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

软件危机(Software Crisis) 是计算机软件在它的开发和维护过程中所遇到的一系列严重问题。概括地说,主要包含两方面的问题:如何开发软件,怎样满足对软件日益增长的需求;如何维护数量不断膨胀的已有软件。 “软件危机”使得人们开始对软件及其特性进行更深一步的研究,人们改变了早期对软件的不正确看法。早期那些被认为是优秀的程序常常很难被别人看懂,通篇充满了程序技巧。现在人们普遍认为优秀的程序除了功能正确,性能优良之外,还应该容易看懂、容易使用、容易修改和扩充。 程序设计语言虽然为计算机的应用开拓了无比广阔的前景,但游荡在软件世界的幽灵——“软件危机”依然存在。因为软件的开发不仅受到程序设计的方法、结构的制约,而且受到开发周期以及软件开发成本的限制,更重要的是软件质量的保障与其程序设计的正确性关系极大。如果所开发的软件其可靠性得不到保障,在运行中将会产生不堪设想的严重后果。 其次就是,有软件危机的存在,也对应着程序员不断去更新和完善软件
软件危机泛指在计算机软件的开发和维护过程中所遇到的一系列严重问题。软件危机(software crisis),20 世纪60年代以前,计算机刚刚投入实际使用,软件设计往往只是为了一个特定的应用而在指定的计算机上设计和编制,采用密切依赖于计算机的机器代码或汇编语言,软件的规模比较小,文档资料通常也不存在,很少使用系统化的开发方法,设计软件往往等同于编制程序,基本上是个人设计、个人使用、个人操作、自给自足的私人化的软件生产方式。60年代中期,大容量、高速度计算机的出现,使计算机的应用范围迅速扩大,软件开发急剧增长。高级语言开始出现;操作系统的发展引起了计算机应用方式的变化;大量数据处理导致第一代数据库管理系统的诞生。软件系统的规模越来越大,复杂程度越来越高,软件可靠性问题也越来越突出。原来的个人设计、个人使用的方式不再能满足要求,迫切需要改变软件生产方式,提高软件生产率,软件危机开始爆发 。1968年,北大西洋公约组织(NATO)在联邦德国的国际学术会议创造软件危机(Software crisis)一词。而1960年代中期开始爆发众所周知的软件危机,为了解决问题,在1968、1969年连续召开两次著名的NATO会议,并同时提出软件工程的概念。
软件危机泛指在计算机软件的开发和维护过程中所遇到的一系列严重问题。软件危机(software crisis),20 世纪60年代以前,计算机刚刚投入实际使用,软件设计往往只是为了一个特定的应用而在指定的计算机上设计和编制,采用密切依赖于计算机的机器代码或汇编语言,软件的规模比较小,文档资料通常也不存在,很少使用系统化的开发方法,设计软件往往等同于编制程序,基本上是个人设计、个人使用、个人操作、自给自足的私人化的软件生产方式。60年代中期,大容量、高速度计算机的出现,使计算机的应用范围迅速扩大,软件开发急剧增长。高级语言开始出现;操作系统的发展引起了计算机应用方式的变化;大量数据处理导致第一代数据库管理系统的诞生。

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

4,什么是软件危机

软件危机指,随着计算机工业的发展,在软件开发过程中逐渐形成了一些矛盾。比如:软件开发没有计划性;软件前期需求分析不足;软件开发过程没有规范等等。这些矛盾表现在软件开发中导致了一系列问题,如开发计划无法顺利执行,成本昂贵,开发的软件错误百出等等。正是这种软件危机才促使人们寻求解决方法,也就产生了软件工程。
在1960年代,软件规模的不断增长,但在开发中没有把软件开发作为一个系统工程来考虑,认为软件开发就是写程序并设法使之运行,忽视软件分析的重要性,轻视软件维护,最终导致软件危机。软件危机的主要表现有:1)对软件开发成本和进度的估计不准确;2)产品不符合用户的实际需要;3)软件产品的质量往往靠不住;4)软件常常是不可维护的。
软件危机软件危机的形成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. 用户对产品功能难以满足开发人员和用户之间很难沟通、矛盾很难统一。往往是软件开发人员不能真正了解用户的需求,而用户又不了解计算机求解问题的模式和能力,双方无法用共同熟悉的语言进行交流和描述。在双方互不充分了解的情况下,就仓促上阵设计系统、匆忙着手编写程序,这
答:软件危机:落后的软件生产方式无法满足迅速增长的计算机软件需求,从而导致软件开发与维护过程中出现一系列严重问题的现象。产生软件危机的原因主要有两个方面:1.与软件本身的特点有关。软件不同于硬件,它是计算机系统中的逻辑部件而不是物理部件;软件样品即是产品,试制过程也就是生产过程;软件不会因使用时间过长而“老化”或“用坏”;软件具有可运行的行为特性,在写出程序代码并在计算机上试运行之前,软件开发过程的进展情况较难衡量,软件质量也较难评价,因此管理和控制软件开发过程十分困难;软件质量不是根据大量制造的相同实体的质量来度量,而是与每一个组成部分的不同实体的质量紧密相关,因此,在运行时所出现的软件错误几乎都是在开发时期就存在而一直未被发现的,改正这类错误通常意味着改正或修改原来的设计,这就在客观上使得软件维护远比硬件维护困难;软件是一种信息产品,具有可延展性,属于柔性生产,与通用性强的硬件相比,软件更具有多样化的特点,更加接近人们的应用问题。随着计算机应用领域的扩大,99%的软件应用需求已不再是定义良好的数值计算问题,而是难以精确描述且富于变化的非数值型应用问题。因此,当人们的应用需求变化发展的时候,往往要求通过改变软件来使计算机系统满足新的需求,维护用户业务的延续性。2.来自于软件开发人员的弱点。其一,软件产品是人的思维结果,因此软件生产水平最终在相当程度上取决于软件人员的教育、训练和经验的积累;其二,对于大型软件往往需要许多人合作开发,甚至要求软件开发人员深入应用领域的问题研究,这样就需要在用户与软件人员之间以及软件开发人员之间相互通讯,在此过程中难免发生理解的差异,从而导致后续错误的设计或实现,而要消除这些误解和错误往往需要付出巨大的代价;其三,由于计算机技术和应用发展迅速,知识更新周期加快,软件开发人员经常处在变化之中,不仅需要适应硬件更新的变化,而且还要涉及日益扩大的应用领域问题研究;软件开发人员所进行的每一项软件开发几乎都必须调整自身的知识结构以适应新的问题求解的需要,而这种调整是人所固有的学习行为,难以用工具来代替。

文章TAG:什么  软件  软件危机  危机  什么是软件危机  
下一篇