Software Architecture: a Roadmap
软件体系结构发展路线图
-------过去、今天和未来
一:内容提要
在过去十年间,作为软件工程的一个重要领域,软件体系结构越来越受到
关注。在设计、构造任何一个复杂软件时,一个关键问题就是它的体系结构。
一个好的架构能确保软件满足诸如性能、可移植性、可扩展性和可互操作性等
关键需求,而一个坏的架构可能是灾难性的。人们逐渐认识到一个合理的架构
是系统设计、开发成功的关键,以及在开发一个新产品时,对过去设计的重用
的重要性。
虽然对于软件体系结构的研究有了很大进展,但这个领域相对来说还不成熟。
尽管一个工程的软件架构的基本轮廓逐渐变得清晰,但仍面临许多挑战和未知。
本文研究了软件体系结构的一些重要发展,并对其未来的发展及挑战做了预测。
过去:
十年前,体系结构的描述大多依赖于非形式化的箱线图。虽然不正式,但
架构设计对整个系统设计是重要的。同时,人们也意识到需要一个更严格的方
法。早期的学者观察到某些统一的规则,开始号召架构设计作为一个需要关注
的领域,并发明了软件架构师这个工作词汇。工具供应商开始考虑对架构设计
的支持,语言设计者也开始考虑架构表现的符号。行业内,有两股潮流,一是
认识到在构建复杂软件系统时对方法、技术、模式的共享。设计师用抽象来使
整个复杂系统便于理解。第二是对在特定领域利用共性来提供一系列产品的重
用框架的关注。这种想法基于相关系统的共同方面可以被提取出来,通过实例
化共享的设计来使每个新系统的成本相对较低。常见例子:用户界面工具包和
框架(提供可重用组件,如菜单和对话框)
今天:
软件开发中体系结构设计越来越重要和明确化。现在有很多关于软件架构
的职称,构架师也认识到在构架设计空间内作出明确权衡的重要性。体系结构
设计的技术基础已经大为改善,三个重要进步是:体系结构描述语言和工具的
发展;产品流水线生产和架构标准的产生;关于体系结构设计专业知识的传播
和编纂。
(1)体系结构描述语言和工具的发展:非形式化的图不能用于一致性、完整性
或正确性分析。对此,人们提出用形式化的符号(正规的表示法)来表示和分
析体系结构设计,就是常说的体系结构描述语言(ADLs)。 ADL 提供具体的
语法与刻画体系结构的概念框架,通常还提供工具,用于分析、显示、编译或
是 模 拟 架 构 描 述 。 已 经 提 出 若 干 适 用 于 特 定 领 域 的 ADL , 典 型 的 有
UniCon,Darwin,Rapide,C2,SADL,Wright。C2 支持用户界面系统采用基
评论0