软件体系结构既是所建系统的计划,确保得到期望的特征,同时也是所郭建系统的描述。其常见思想是结构,每种结构都有各种类型的组件及其关系构成,即它们是如何组合、相互协调、通信、同步,以及进行其它交互。有了体系结构,设计人员或项目管理者就能在一个比较高的层次上俯瞰软件的整体状况。同时软件体系结构可以复用,这样就能减少开发成本,并降低软件开发风险,例如在设计、实现、测试、评估、维护、升级中的潜在问题。
- 体系结构风格、设计模式、应用框架
三个概念是从不同角度来讨论软件的体系结构。体系结构风格描述了软件系统整体组织结构,例如管道线、B/S、C/S等结构,独立于实际问题。设计模式可以看成规范的小粒度的结构成分,解决设计中反复出现的问题,例如Bridgei模式,为解决抽象部分和实现部分独立变化的问题,提供了一种通用结构。应用框架表现为一组抽象构件的集合及构件实例间的交互方式,面向某一特定的应用领域,可以用代码表示,一个框架往往包含多个设计模式。
- 框架(组件模型)
框架是指实现了部分功能的某类程序结构的实现,定义了其中各个功能组件及其相互关系并实现了部分功能。其分为水平型、垂直型和复合文档型,水平型框架一般面向通用类程序构造,垂直型框架一般面向特定的应用领域,复合文档型框架是比较通用的框架,除了Visual C++以外,基本所有的集成开发环境都是复合文档型框架。
- 软件体系结构建模
所谓对软件体系结构建模就是确定如何表示软件体系结构,可以通过五种软件模型来表示软件体系结构:结构模型、框架模型、动态模型、过程模型和功能模型。
体系结构设计包含的内容:明确定义软件各子系统、关键构件、关键类的职责划分及协作关系,同时也要也要描述它们在物理运行环境下的部署模型,同时还必须针对软件系统全局性、基础性的技术问题给出技术解决方案。
- 软件体系结构风格
列出几种常见的软件体系风格:
.管道-过滤器
.数据抽象和面向对象风格
.基于事件的隐式调用风格
.分层系统风格
.仓库风格和黑板风格
.MVC风格
.解释器风格
.C2风格