软考(系统架构师)-软件架构设计之特定领域软件体系结构DSSA
定义
特定领域软件架构DSSA(Domain Specific Software Architecture)以一个特定问题领域为对象,形成由领域参考模型、参考需求、参考架构等组成的开发基础架构,支持一个特定领域中多个应用的生成。
DSSA具备以下特征:
-
一个严格的问题域和问题解域 -
具有普遍性,使其可以用于领域中某个特定应用的开发 -
对整个领域的构件组织模型的恰当抽象 -
具备该领域固定的、典型的在开发过程中可重用元素
DSSA中的领域含义划分(从功能覆盖的范围):
- 垂直域
:定义了一个特定的系统族,包含整个系统族内的多个系统,结果是在该领域中可作为系统的可行解决方案的一个通用软件体系结构 - 水平域
:定义了在多个系统和多个系统族中功能区域的共有部分。在子系统级上涵盖多个系统族的特定部分功能
基本活动
- 领域分析
:目的是为了建立领域模型 - 领域设计
:目的是获得DSSA(特定领域软件架构) - 领域实现
:目的是依据领域模型和DSSA开发和组织可重用信息
参与角色
- 领域专家
:主要任务包括提供关于领域中系统的需求规约和实现的知识 - 领域分析人员
:主要任务包括控制整个领域分析过程,进行知识获取,将获取的知识组织到领域模型中 - 领域设计人员
:主要任务根据领域模型和现有系统开发出DSSA,并对DSSA的准确性和一致性进行验证,建立领域模型和DSSA之间的联系 - 领域实现人员
:主要任务根据领域模型和DSSA,或者从头开发可重用构件,或从现有系统提取可重用构件,并进行验证,建立DSSA和可重用构件间的联系
建立过程
DSSA的建立过程是并发的、递归的和反复进行的,也即它是螺旋模型。
-
定义领域范围 -
定义领域特定的元素:目标是编译领域字典和领域术语的同义词词典 -
定义领域特定的设计和实现需求约束:目标是描述解空间中有差别的特性 -
定义领域模型和体系结构:目标是产生一般的体系结构,并说明构成它们的模块或构件的语法和语义 -
产生、搜集可重用的产品单元:目标是为DSSA增加构件
DSSA的三层次系统模型如下
注意:这里需要记住不同环境下对应不同的开发人员,即领域架构师在领域开发环境;应用工程师在领域特定的应用开发环境;操作员在应用执行环境

夜雨聆风