特定领域软件体系结构(domain specific software architecture,DSSA)
定义:专用于一类特定的应用领域,支持一组应用的领域模型、参考需求、参考架构等组成的标准体系结构,目标是支持在一个特定领域中多个应用的生成。
是在整个领域中能有效使用的、标准的组合结构的软件构件的集合。
DSSA的必备特征
一个严格定义的问题域和问题域解。
具有普遍性,可用于领域中某个特定应用的开发。
对整个领域的构件组织模型的恰当抽象。
具备该领域固定的、典型的在开发过程中可重用元素。
垂直域:局限在一个特定领域中的通用的完整的软件架构。
水平域:横跨多个不同的领域,涵盖多个领域之间相同的、共有的部分功能。
要点1: DSSA的3个基本活动** **
- 领域分析
主要目标:获得领域模型。
定义领域的边界,分析领域中系统的需求,确定哪些需求是领域中的系统广泛共享的,从而建立领域模型。(问题域)
领域模型:描述领域中系统之间的共同需求。
- 领域设计
主要目标:获得DSSA特定领域的软件架构。
DSSA描述在领域模型中表示的需求的解决方案,适应领域中多个系统的需求的一个高层次的设计。(解空间)
- 领域实现
主要目标:依据领域模型和DSSA,开发和组织可重用信息。
可重用信息:从现有系统中提取得到、通过新的开发得到。
要点2: 建立DSSA的5个过程** **
1. 定义领域范围:领域中的应用要满足用户一系列的需求。2. 定义领域特定的元素:建立领域字典、归纳领域术语的同义词、识别出领域中相同和不同的元素。3. 定义领域特定的设计和实现需求的约束:描述解空间中有差别的特性。4. 定义领域模型和架构:产生一般的体系结构,说明构成它们的模块或构件的语法和语义。5. 产生、搜集可复用的产品单元:为DSSA增加可复用的构件。
总结:DSSA 的建立过程是并发的、递归的、反复进行的。该过程的目的是将用户的需求映射为基于实现限制集合的软件需求,这些需求定义了DSSA。
要点3: DSSA的三层次系统模型** **
1. 领域 开发环境:核心通用架构、领域模型、参考需求、参考结构。2. 领域特定的 应用开发环境:根据具体环境把核心架构实例化。3. 应用 执行环境:实现实例化的架构。
要点4: 参与DSSA的4种角色** **
- 领域专家:提供需求规约、实现知识、领域字典、领域模型、DSSA、样本系统。2. 领域分析人员:控制领域分析过程,将获取的知识组织到领域模型中,验证领域模型的准确性和一致性,维护领域模型。3. 领域设计人员:根据领域模型开发出DSSA,建立领域模型和DSSA之间的联系。4. 领域实现人员:开发可重用构件、从现有系统中提取可重用构件,对可重用构件进行验证,建立DSSA与可重用构件之间的联系。