知识卡片

软件危机与NATO会议催生软件架构学科

普通读书笔记卡

内容

软件架构学科的诞生并非凭空而来,而是两轮软件危机接力催生的产物。20世纪60年代中期,大规模软件危机首次爆发,突出表现为软件生产效率低、质量差,根源是开发理论方法不系统、技术手段滞后、软件生产以手工作坊方式进行;北大西洋公约组织(NATO)为此在1968年和1969年连续召开两次会议(史称NATO会议),提出”软件工程”概念,建立起软件工程专业的教育培养体系。但随着软件规模和复杂性进一步扩大,新一轮危机再度出现——1995年Standish Group对美国境内8000个软件工程项目的调查显示,84%的项目无法按时按需完成,超过30%的项目夭折,工程项目平均超支189%。第二次危机催生了软件重用与组件化这一应对方案,而组件化开发方式一旦推广,就带来一个新的迫切问题:如何在设计阶段对软件系统进行抽象、获取系统蓝图以支持开发决策——这正是软件架构应运而生的直接动因。这条”效率危机→工程学科化→规模危机→重用/组件化→抽象与蓝图需求→架构学科”的因果链揭示了一个规律:软件工程史上的每一次方法论跃迁,几乎都是对上一次危机的直接回应,而不是研究者凭空提出的理论创新——理解这条链条,就能理解为什么软件架构关注的核心始终是”总体结构”而非”局部算法”。

参考来源

- 位置:《软件架构理论与实践》第1章《软件架构概述》"1.1 软件架构产生的背景"节(源文件:_epub-src/OEBPS/text00006.html) - 结论依据:原文先说明1960年代软件危机催生NATO会议和软件工程概念,再说明1995年Standish Group的量化调查数据揭示新一轮危机,进而指出软件重用与组件化是应对方案,并由此引出"如何在设计阶段进行抽象、获取系统蓝图"这一迫切问题,直接支撑本卡片的因果链结论。 - 原始内容:20世纪60年代中期开始爆发大规模的软件危机……1995年,Standish Group研究机构以美国境内8000个软件工程项目作为调查样本进行调查,其结果显示,有84%的软件项目无法按时按需完成,超过30%的项目夭折,工程项目耗费平均超出预算189%……在这种情况下,软件架构应运而生。