软件危机学习报告

软件危机学习报告


软件危机的主要原因,把它很不客气地说:只要没有机器,编程是一点问题也没有;当我们有几台微弱的电脑,编程就成为平和的问题,而现在我们有巨大的电脑,编程已成为一个同样巨大的问题。
——艾兹赫尔·戴克斯特拉,《卑微的程序员》,《Communications ofthe ACM》


软件危机(sofa-ware crisis)顾名思义:软件遭受到巨大的危机!!

咦!你别逗我了!软件这个东西还有危机!哈哈哈哈哈哈……


额……软件这个东西的确不会像商品一样会遭受到:价格贬价,产品囤积,产品损害等等,但是他却确有比上面讲的还要可怕的!!!

在20世纪60年代时(也就是第二三代计算机出现的时代),软件设计中是没有引进软件工程这一概念!在计算机性能飞速发展的年代。我们的老前辈们还在使用着手工作坊式的的软件开发方法……这种完全是自给自足、个人开发、个人使用、纯粹的私人式的开发模式所带来就是:开发成本特别高!可靠性差的不敢正视、开发时间长的可以抵得上二万五、开发后的维护工作量不是可以使用数字来代表的……

等等!你说你完全没有懂!!说我在讲些什么!!

(忧伤的喝着优酸乳ing……)

呃呃呃……在早期开发软件的过程中!人是适应计算机的,而不是计算机适应人的。当时的编程员可谓是五十八般武术样样都会!全才型人才啊!他们不仅仅是对于软件熟悉(当时只有二进制语言、汇编语言不知道是多少年之后才出现滴…)对于硬件的了解程度之深!恐怕那一台ENIAC的零件给他,他都二话不说的组装好吧?!

没错那时编程员可谓是超神的存在,但是……

同时也是计算机发展史中:最没有素质的编程员s!!!

早期编程员只是为使用而使用,准确的说他们就是计算机与用户之间的“翻译器”。当时,编程员基本上就是“填鸭式教育给灌出了”滴,开发人员数量很少!于是软件基本上都是个人编写,个人编写水平就是软件质量——偷工减料那还好说,不过当时编程员他们自己码出来的程序,连自己都看不懂(如果有想挑战自己理解能力孩纸们可以问度娘阿姨:意大利面条式程序)。不过,在当时硬件技术的限制下,软件开发都是一些非常小型的,基本上不会有文档资料的存在,几乎不存在系统化开发的方法,设计软件就等于翻译软件……

不过那可是21世纪……呗!是20世纪60年代!计算机的性能是二的N次方的提高,连全球首款CPU:4004微处理器(在1971年由英格尔公司制造,从此奠定了我们看到CPU就想到英格尔的地位。虽然它很垃圾,但是它的处理能力是等于世界第一部计算机ENIAC哦!)都没有诞生哦!在当时已经出现了高速度、大容量的硬件,并且计算机使用已不是out的电子管了,都使用了晶体管了!甚至出现集成电路(IC)的概念!硬件的发展是每一年提高30%,而且软件却只能以6~7%速度提高,我们可爱的编程员还在使用原始社会的“石头”努力中…这不是作死!这是找死!

总之,软件危机引起如下悲剧……

1. 软件开发的投入超出预算
2. 软件开发时间超出了预计时间
3. 软件的开发质量极其低下
4. 辛辛苦苦开发的软件被客户一句回绝
5. 软件开发后根本不能开展维护工作
6. 软件对于计算机硬件使用率极低!

其实总结起来,引起软件危机的原因不过二点:


软件自身的问题:软件是人类想出来了,是为了用户的要求而设计!它是计算机当中的逻辑部分,俗话说的好:条条道路通罗马啊!不只一种方法可以满足用户的要求!所以这必然是软件的开发过程是不可预料的!很难管理、控制软件。而且软件不像硬件可以出现错误可以通过细小的修改就可以的,软件一出现错误就要重新改写、修改设计,在某种立场上讲软件比硬件更难维护!
第二种也是最无奈的:编程人员的问题。
1. 软件是人类的智力劳动的结果(这是可是ISO认证的哦!)所以编程员的知识水平就代表着软件质量!
2. 用户究竟在说什么啊!!顾客可是上帝啊!你有胆子可以和客户叫骂,但你没脸在老板面前吧……用户只是为了自己的利益来对这个项目的投资,但是他们一般没有这个能力自行处理,不然叫你干嘛啊!
3. 缺乏独立性:太过于依赖编程员,使产品太过于“个性化”,就失去产品原来的设计
4. 软件开发规模太大:开发规模必然使之人员增多,管理人员如果不会与各个部门交流会导致软件开发进展延时!
5. 软件开发难度太大:软件开发超过人类的智力的局限性!你还不要不信啊!比如:我们最熟悉的OS(操作系统)Windows 8它的源码大概是10亿行吧。如果你能轻轻松松就能搞定的话……Why are you so diao!


当然!有问题我们就会来解决它!

1968年北大西洋公约组织的计算机科学家在联邦德国召开国际会议,第一次讨论软件危机问题,并正式提出“软件工程”一词,从此一门新兴的工程学科——软件工程学——为研究和克服软件危机应运而生。
从此以后软件开发就开始具有了系统化、规范的、可度量的等特点。
但是,完全解决了软件危机的是面向对象思想(OOP)
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值