软件架构自概念诞生以来,大致经历了四个发展阶段:
(1)基础研究阶段(1968-1994)
模块化开发方法是指把一个待开发的软件分解成若干个小的而且简单的部分,采用对复杂事物分而治之的经典原则。主张将系统分解成模块时,应遵循以下规则:
a、最高模块内聚;
b、最低耦合;
c、模块大小适度;
d、模块调用链的深度(嵌套层次)不可过多;
e、接口简单、精炼(扇入扇出数不宜太大),具有信息隐蔽能力;
f、尽可能地复用已有模块。
与此同时it业为了降低开发成本,解决业务需求的易变性,实现软件模块的重用,考虑将企业业务与数据处理相分离的分层思想,这也是软件架构的初步雏形,包括传统mis系统的架构。
(2)概念体系和核心技术形成阶段(1999-2000)
组件化开发是重要的标志,组件具有可组装性和可插拔性。
(3)理论体系完善与发展阶段(1996-至今)
a、软件架构描述与表示
基于组件和消息的软件架构描述语言c2sadl,分布、并发类型的架构描述语言wright,架构互换语言acme,基于组件和连接的架构描述语言unicon,基于事件的架构描述语言rapide,以及其他比较有影响力的功述语言darwin,metah,aesop,weaves,sadl ,xadl等。
b、软件架构分析、设计和测试。
架构分析常用的方法有:软件架构分析方法saam,架构权衡分析法atam,成本效益分析法cbam,基于场景的架构再工程sbar、架构层次的软件可维护性预测alpsm,软件架构评估模型saem等。
c、软件架构发现、深化与重用;
d、基于软件架构的开发方法。
e、软件架构风格。
(4)普及阶段(2000=至今天)
软件架构是软件生命周期中的重要产物,它影响软件开发的各个阶段:
需求阶段、开发阶段、实现阶段、维护阶段。