系统架构的发展历程可追溯到20世纪60年代中期爆发的一场大规模软件危机,其突出表现是软件生产不仅效率低,而且质量差。主要是因为软件开发的理论和方法不够系统、技术手段相对落后,软件生产主要是手工作坊式。为了解决软件危机,北大西洋公约组织(NATO)分别于1968年和1969年连续召开两次著名的软件会议(即NATO会议),提出了软件工程的概念,发展了软件工程的理论和方法,为今后的软件产业的发展指明了方向。
随着软件规模的进一步扩大和软件复杂性的不断提高,新一轮的软件危机再次出现。1995年,Standish Group研究机构以美国境内8000个软件工程项目为调查样本进行调查,其结果显示,有84%的软件项目无法按时按需完成,超过30%的项目夭折,工程项目耗费超出预算189%,软件工程遭遇到了前所未有的困难。
通过避免软件开发中重复劳动的方式提升软件开发效率并保障软件质量,软件重用与组件化成为解决此次危机行之有效的方案。随着软件组件化开发方式的发展,如何在设计阶段对软件系统进行抽象,获取系统蓝图以支持系统开发中的决策成为迫切而现实的问题,分析问题的根源和产生的原因
在这种情况下,软件架构应运而生。
20世纪90年代,研究人员展开了对软件架构的基础研究,主要集中于架构风格(模式)、架构描述语言、架构文档和形式化方法。众多研究机构在促进软件架构成为一