概念
DSSA是一个在特定领域中为一组应用提供组织参考的标准软件体系结构
DSSA通常是一个具有三个层次的系统模型,包括领域开发环境、领域特定应用开发环境和应用执行环境。
从功能覆盖的范围的角度有两种理解DSSA种领域的含义方法
垂直域:定义了一个特定的系统族,包括整个系统族内的多个系统,结果是在该领域中可作为系统的可行解决方案的一个通用软件体系结构
水平域:定义了在多个系统和多个系统族中功能区域的共有部分。在子系统级上涵盖多个系统族的特定部分功能
在特定领域架构中,垂直域关注的是与行业相关的,聚焦于行业特性的内容,而水平域关注的是各个行业共性部分的内容
特点
DSSA具有一个严格定义的问题域和问题解域
具有普遍性使其可以用于领域中某个特定应用的开发
对整个领域的构建组织模型恰当抽象
具备该领域固定的、典型的在开发中可重用元素
基本活动
DSSA基本活动是一个反复的、逐渐求精的过程;它的基本活动包括:领域分析、领域设计、领域实现
领域分析:这个阶段的主要目标是获得领域模型
定义领域边界,明确分析对象
识别信息源,即整个领域工程过程中信息的来源
分析领域中系统的需求,确定哪些需求是领域中的系统广泛共享的,从而建立领域模型
当领域中存在大量系统时,需求选择它们的一个子集作为样本系统
领域设计:这个阶段主要目标是获得DSSA
DSSA描述在领域模型中表示的需求的解决方案,它不是单个系统的表示,而是能够适应领域中多个系统的需求的一个高层次的设计。建立领域模型后,就可以派生出满足这些被建模的领域需求的DSSA,由于领域模型中的领域需求具有一定的变化性,DSSA也要相应的具有变化性。特可以通过多选一的(Atermative)、可选的(Optional)解决方案等来做到这一点。因此在这个阶段通过获得DSSA,也就同时形成了重用基础设施的规约。
领域实现:这个阶段的主要目标是依据领域模型和DSSA开发和组织可重用信息
这些可重用信息可能是从现有系统中提取得到,也可能需要通过新的开发得到,他们依据领域模型和DSSA进行组织,也就是领域模型和DSSA定义了这些可重用信息的重用时机,从而支持了系统化的软件重用。这个阶段也可以看做重用基础设施的实现阶段。
参与人员
DSSA的参与人员包括领域专家、领域分析人员、领域设计人员、领域实现人员
DSSA建立过程是并发的、递归的和反复进行的,采用螺旋模型。包括:定义领域范围、定义领域特定的元素、定义领域特定的设计和实现需求约束、定义领域模型和架构、产生、收集可重用的产品单元
1、定义领域范围:本阶段的重点是确定什么在感兴趣的领域中以及本过程何时结束;这个阶段的一个主要输出是领域中的应用需要满足一系列的用户的需求
2、定义领域特定的元素:本阶段的目标是编译领域字典和领域术语的同义词词典。在领域工程过程的前一个阶段产生的高层块圈被增加更多的细节,特别是识别领域中应用间的共同性和差异性。
3、定义领域特定的设计和实现需求约束:本阶段的目标是描述解空间中有差别的特定不仅要识别出约束,并且要记录约束对设计和实现决定造成的后果,还要记录对处理这些问题时产生的所有问题的讨论
4、定义领域模型和体系结构:本阶段的目标是产生一般的体系结构,并说明构成它们的模块或构件的语法和语义
5、产生、收集可重用的产品单元:本阶段的目标是为DSSA 增加构件,使它可以被用来产生问题域中的新应用。