《没有银弹》是fred brooks在1987年所发表的一篇关于软件工程的经典论文。该论述中强调真正的银弹并不存在,而所谓的银弹则是指没有任何一项技术或方法可以能让软件工程的生产力在十年内提高十倍。brooks最为人所知的是在1975年所出版的《人月神话》—被称为软件工程圣经。
这篇经典论文的核心论述通常被解释为复杂的软件工程问题无法靠简单的答案来解决。
次要和必要复杂度
在该论述当中,讨论到了次要和必要复杂度的差异。所谓次要复杂度是指由人们本身所产生的问题,而这类型的问题是可以被解决的。譬如说,撰写和最佳化组合语言的复杂度就是属于次要的,它可以借由高阶程序语言如java来取代。必要复杂度则是从软件本身要解决的问题衍生而来,并无法被移除。如果软件需要提供三十个不同的功能,那么这三十个功能都是必要的,这些功能都必须被实作出来。
软件工程面临的问题在于我们已经清除了大部分的次要复杂度,而剩余的(主要复杂度)都无法改变。
在移除次要复杂度中最大的进展也许要算是高阶语言的诞生,像是fortran和java。 |