小天管理 发表于 2024年6月20日 发表于 2024年6月20日 大局上来说,显然没有。 我们在这 60 多年的历程中,有了不少新的工具和方法,比如结构化设计、面对对象设计、项目管理 WBS 、需求工程,数以千计的计算机语言,瀑布方法和敏捷系列的几十种方法,UML 和相应的软件过程方法,大量的关系数据库和非关系数据库,优良的操作系统。 但是软件危机依然大量存在。 当年提出的软件危机的问题包括: 项目运行超出预算。 项目运行超过时间。 软件质量低落。包括软件通常不符合需求,项目无法管理,且代码难以维护 现在还是这样。 行业的标杆企业微软可以说明很多问题。2000 年前后,微软出版了一批项目管理的书籍,可以让外人看到微软内部的项目状况,我知道很多 MS 的软件都饱受软件危机的折磨。最典型突出的就是 Vista ,历时五年,出来一个广受诟病的 OS ,Vista 被寄以厚望的若干大的特性,都没有发布或者阉割发布。 有赞的白呀说他们的系统做了十年,有 2 万个功能,每一个功能都是需要的。引入一个新的功能,解决了 5%的客户的需求,但是让 95%的用户感到难用。 我知道很多企业也是这样的。 某公司的一个商业软件,从 2011 年开发到 2022 年,已经完全重写 4 次,每 2.5 年重写一次。每一次的理由都是一样的。就是维护不下去了。,每一次都说先赶出来再说,并且每一个功能都是需要的。然后赶出来后就快速的进入报废的循环。 原因很简单,之前维护不下去的产品的原因没有解决,因此就会一再重犯相同的问题。 很多产品代码都存在的大函数,一个函数几千甚至几万行。这样的函数显然缺乏任何的结构化,也没有任何的面向对象化这样的分而治之的方法,和现代程序设计无缘。所有软件危机提出以来,为了解决软件危机而引入的方法,实践在在这样的产品设计中没有任何体现,当然也就不可能度过软件危机。 所以,尽管工业和教育界有不少的发明创造,但是实际上很多项目根本没有利用过这些创新,所以,软件危机继续广泛存在。 或许某天软件行业不存在了,比如被 AI 吃掉了,软件危机才会真的消失。
已推荐帖子