什么是软件危机,软件危机有哪几种表现?
发布网友
发布时间:2022-03-24 01:16
我来回答
共3个回答
懂视网
时间:2022-03-24 05:37
软件危机的具体表现有:
1、软件开发费用和进度失控。费用超支、进度拖延的情况屡屡发生。有时为了赶进度或压成本不得不采取一些权宜之计,这样又往往严重损害了软件产品的质量。
2、软件的可靠性差。尽管耗费了大量的人力物力,而系统的正确性却越来越难以保证,出错率大大增加,由于软件错误而造成的损失十分惊人。
3、生产出来的软件难以维护。很多程序缺乏相应的文档资料,程序中的错误难以定位,难以改正,有时改正了已有的错误又引入新的错误。随着软件的社会拥有量越来越大,维护占用了大量人力、物力和财力。进入80年代以来,尽管软件工程研究与实践取得了可喜的成就,软件技术水平有了长足的进展,但是软件生产水平依然远远落后于硬件生产水平的发展速度。
4、用户对“已完成”的系统不满意现象经常发生。一方面,许多用户在软件开发的初期不能准确完整的向开发人员表达他们的需求;另一方面,软件开发人员常常在对用户需求还没有正确全面认识的情况下,就急于编写程序。
热心网友
时间:2022-03-24 02:45
软件危机,是因为千万人合作一个大软件,比如windows 操作系统,结果就会发现让每个人按自己的编程风格完成规定的任务,就会要了命,最后花钱巨多搞出来的东西,可能非常失败。
因为:
每个人只能编写一部分,他为完成任务,需要搞好和别人软件的接口数据,这样接口没有标准,凭每个人随意布置,就会对不上。
即使所有的这类协调工作都搞的很好,最后软件顺利拼接,真正的大麻烦也就随之而来:大软件总是无法避免巨多错误,但很多错误和不能理解同事的思路有关系,这需要读懂同事的软件来检查纠错;即使错的与别人无关,也是需要容易读懂自己以往干活时的思路。
这就造成一个问题,软件往往编写时思路清晰,技巧明白,一旦事过境迁,自己写的是什么,很快忘光,同事的更会云里雾里。这就需要软件编写时有很强的可读性,为此甚至不惜改变算法,降低运行速度和效率。
以上种种,就需要为编程制定一系列标准和规则,制定可读性,可修改性等要求,这就是软件工程要讲的内容。
热心网友
时间:2022-03-24 04:03
软件开发进度难以预测
拖延工期几个月甚至几年的现象并不罕见,这种现象降低了软件开发组织的信誉。
软件开发成本难以控制
投资一再追加,令人难于置信。往往是实际成本比预算成本高出一个数量级。
而为了赶进度和节约成本所采取的一些权宜之计又往往损害了软件产品的质量,从而不可避免地会引起用户的不满。
用户对产品功能难以满足
开发人员和用户之间很难沟通、矛盾很难统一。往往是软件开发人员不能真正了解用户的需求,而用户又不了解计算机求解问题的模式和能力,双方无法用共同熟悉的语言进行交流和描述。
在双方互不充分了解的情况下,就仓促上阵设计系统、匆忙着手编写程序,这种"闭门造车"的开发方式必然导致最终的产品不符合用户的实际需要。
软件产品质量无法保证
系统中的错误难以消除。软件是逻辑产品,质量问题很难以统一的标准度量,因而造成质量控制困难。
软件产品并不是没有错误,而是盲目检测很难发现错误,而隐藏下来的错误往往是造成重大事故的隐患。
软件产品难以维护
软件产品本质上是开发人员的代码化的逻辑思维活动,他人难以替代。除非是开发者本人,否则很难及时检测、排除系统故障。
为使系统适应新的硬件环境,或根据用户的需要在原系统中增加一些新的功能,又有可能增加系统中的错误。
软件缺少适当的文档资料
文档资料是软件必不可少的重要组成部分。实际上,软件的文档资料是开发组织和用户的之间权利和义务的合同书,是系统管理者、总体设计者向开发人员下达的任务书,是系统维护人员的技术指导手册,是用户的操作说明书。