赞
踩
软件工程中常常出现一个名词——“银弹”,在这里记录一些自己的理解。
《没有银弹:软件工程的本质性与附属性工作》(英语:No Silver Bullet—Essence and Accidents of Software Engineering)是IBM大型机之父佛瑞德·布鲁克斯所发表一篇关于软件工程的经典论文。该论述中强调由于软件的复杂性本质,而使真正的银弹并不存在;所谓的没有银弹是指没有任何一项技术或方法可使软件工程的生产力在十年内提高十倍。
简而言之,银弹被认为是一种通用性 的杀伤性武器,一种可解决所有问题的万金油选手,可以随时降低开发中遇到困难的复杂度。而这种工具是不存在的,至少现阶段很难看到出现的希望。
布鲁克斯认为,软件开发的困难主要分为两类:
本质性困难:软件本身在概念(conceptual)建构上存先天的困难;亦即如何从抽象性问题,发展出具体概念上的解决方案。
附属性困难 :将概念上的构思施行于电脑上,所遭遇到的困难。
附属性困难解决:开发工具的完善,如高级语言的出现,分时技术以及统一的开发环境等;
本质性困难解决:原因:复杂性(complexity)、隐匿性(invisibility)、配合性(conformity)、易变性(changeability)
目前解决方法的探索:高级语言、面向对象编程、人工智能……
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。