所属章节:
第7章. 系统架构设计基础知识
第5节. 特定领域软件体系结构
1. 定义
DSSA 是Domain Specific Software Architecture 的简称,中文译为特定领域软件体系结构 或特定领域软件架构。
早在20世纪70年代(1970s)就有人提出了程序族、应用族的概念,特定领域软件体系结构的主要目的是在一组相关的应用中共享软件体系结构 。简单地说,DSSA就是在特定领域中为一组应用提供组织结构参考 的标准软件体系结构。
对DSSA研究的角度、关心的问题不同,导致了对DSSA的不同定义。
- Hayes Roth对于DSSA的定义
DSSA就是专用于一类特定类型的任务(领域)的、在整个领域中能有效地使用的、为成功构造应用系统限定了标准的组合结构的软件构件的集合。
- Tracz对于DSSA的定义
DSSA就是一个特定的问题领域中支持一组应用的领域模型、参考需求、参考体系结构等组成的开发基础,其目标就是支持在一个特定领域中多个应用的生成。
通过对众多的DSSA的定义和描述的分析,可知DSSA的必备特征如下:
(1)一个严格定义 的问题域和问题解域;
(2)具有普遍性 ,使其可以用于领域中某个特定应用的开发;
(3)对整个领域的构件组织模型 的恰当抽象;
(4)具备该领域固定的 、典型的 在开发过程中可重用元素。
一般的DSSA的定义并没有对领域的确定和划分给出明确说明。从功能覆盖范围的角度,有两种理解DSSA中领域的含义的方式。
(1)垂直域
定义了一个特定的系统家族 ,包含整个系统家族内的多个系统 ,结果是在该领域中可作为系统的可行解决方案的一个通用软件体系结构。
(2)水平域
定义了在多个系统和多个系统家族 中功能区域的共有部分 。在子系统级上涵盖多个系统族的特定部分功能。
在垂直域上定义的DSSA只能应用于一个成熟的、稳定的领域 ,但这个条件比较难以满足。若将领域分割成较小的范围,则相对更容易,也容易得到一个一致的解决方案。