首页 > 其他分享 >No Silver Bullet

No Silver Bullet

时间:2023-12-01 18:45:30浏览次数:28  
标签:Bullet 软件开发 No 复杂性 Brooks Silver

"No Silver Bullet" 是一个著名的软件工程论文,由Fred Brooks在1986年发表。这篇论文的全名是《No Silver Bullet — Essence and Accidents of Software Engineering》(没有银弹——软件工程的本质与偶然性)。这篇论文提出了一个观点,即在软件开发领域,没有一种单一的技术、方法或工具可以解决所有问题。

在这篇论文中,Brooks指出软件开发的复杂性和困难性,并认为软件开发的本质问题是复杂性本身。他认为,软件系统的复杂性不仅来自于其规模和功能要求,还来自于其不可见性、不可测性、不可重用性等特点。Brooks认为,尽管技术和工具的进步可以提高软件开发的效率和质量,但它们无法消除软件开发中的根本困难。

Brooks提出了一些解决软件开发困难的方法,如增加软件工程师的技术能力、采用更好的软件开发过程和管理方法等。然而,他认为这些方法只能缓解问题,而不能完全解决。

"No Silver Bullet" 这个术语后来被广泛引用,用来指代在软件开发领域寻找一种简单、快速、通用的解决方案的愿望。它强调了软件开发的困难性和复杂性,并提醒人们需要持续努力和创新来改进软件开发实践。

标签:Bullet,软件开发,No,复杂性,Brooks,Silver
From: https://www.cnblogs.com/SELHF/p/17870696.html

相关文章

  • Flutter开发type 'Null' is not a subtype of type 'Handler'报错
    问题描述今天调试flutter程序时报错,程序运行时报如下错误:type'Null'isnotasubtypeoftype'Handler'问题分析类型“Future<int>”不是类型强制转换中类型“int”的子类型。这里不能强制转换,要拿到DatabaseHelper.dbhelper.getTaskGroupRelationOrde()返回结果可以使用Dat......
  • Java环境变量配置及报错java --version Error: could not open `D:\APP\Develop\JA
    C:\Users\Administrator>java--versionError:couldnotopen`D:\APP\Develop\JAVA\jre\lib\amd64\jvm.cfg'Java环境变量的配置控制面板→系统→高级系统设置→环境变量在下方系统变量中新建在下方系统变量中找到Path,双击打开,新建两个%JAVA_HOME%\bin%JAVA_HOME%\jre\b......
  • Docker|--镜像中既有gcc和.NET运行时, 但是容器启动的时候报错 exec: "dotnet": exec
    基本信息#镜像gcc_for_net7_image是如何产生的,分为3步1.基于gcc的镜像运行起来的一个包含了gcc环境的容器,2.在这个容器里安装了.NET7运行时,3.再将这个包含了gcc环境和.NET7的容器打包为一个镜像"gcc_for_net7_image"总之,这个镜像"gcc_for_net7_image"既包含了gcc......
  • 【解决】模拟器设置system读写报错'/dev/block/sda6' is read-only mount: '/system'
    remount失败'/dev/block/sda6'isread-onlyadbdisable-verityfailedtoreadfstab'/dev/root'isread-onlymount-oremount,rw/systemmount:'/system'notin/proc/mountsmount-orw,remount-tauto/主要是设置没调好模拟器需要打开可写系统盘或......
  • ubuntu编译软件报错:fatal error: libnet.h: No such file or directory
    参考:https://blog.csdn.net/wuyou1995/article/details/104742326/  ---------------------------------------     解决方法:sudoapt-getinstalllibnet1-dev ......
  • Inno Setup6.2.0汉化版软件及生成更新包脚本(三)
    按照 InnoSetup6.2.0汉化版软件及生成安装脚本(二)的安装包安装后可以安装以下脚本进行更新,会自动识别版本,关闭服务,关闭打开的客户端,更新客户端,最后启动服务。//定义常量#defineMyAppId"08FBA954-A306-4782-8C02-05F3DFE01772"#defineMyAppName"客户端名称"#defineO......
  • Inno Setup6.2.0汉化版软件及生成安装包脚本(二)
    个人研究,为了记录下打包脚本,大家也可以安装打包脚本向导一步一步生成。下面是我打包的脚本,其中包含了安装过程中执行批处理文件,是为了安装API服务,可以参考下:;脚本由InnoSetup脚本向导生成!;有关创建InnoSetup脚本文件的详细资料请查阅帮助文档!#defineMyAppName"客......
  • Inno Setup6.2.0汉化版软件打包工具(1)
    InnoSetup是一个免费的安装制作软件,小巧、简便、精美是其最大特点,支持pascal脚本,能快速制作出标准Windows风格的安装界面,足以完成一般安装任务。该软件用Delphi写成,其官方网站同时也提供源程序免费下载。它虽不能与Installshield这类恐龙级的安装制作软件相比,但也当之无愧算是后......
  • ORA-01187 cannot read from file 201 because it failed verification tests..temp01
    Description:WegetthismessageinrunningtheUpgradeExpress20-21export(create_customer_data):ORA-01187:cannotreadfromfile201becauseitfailedverificationtestsORA-01110:datafile201:'/exlibris/oradata/aleph20/aleph20_temp01.dbf'O......
  • 统信UOS/麒麟KYLINOS设置用户模板
    原文链接:统信UOS/麒麟KYLINOS设置用户模板hello,大家好啊,今天给大家带来一篇关于修改用户模板的文章,结合我们之前制作ISO镜像及制作云桌面用户模板的文章,可以一同使用。本篇文章对用户模板的五个方面进行了设置,都是一些很简单的操作,大家可以根据示例进行延伸操作,本文只是提供一种思......