架构核心要点--特定领域软件体系结构

290 阅读3分钟

特定领域软件体系结构(domain specific software architecture,DSSA)

定义:专用于一类特定的应用领域,支持一组应用的领域模型参考需求参考架构等组成的标准体系结构,目标是支持在一个特定领域中多个应用的生成。

是在整个领域中能有效使用的、标准的组合结构的软件构件的集合

DSSA的必备特征

  1. 一个严格定义的问题域和问题域解。

  2. 具有普遍性,可用于领域中某个特定应用的开发。

  3. 对整个领域的构件组织模型的恰当抽象。

  4. 具备该领域固定的、典型的在开发过程中可重用元素。

垂直域:局限在一个特定领域中的通用完整的软件架构。

水平域:横跨多个不同的领域,涵盖多个领域之间相同的、共有部分功能。

 要点1:  DSSA的3个基本活动** **

  1. 领域分析

主要目标:获得领域模型。

定义领域的边界,分析领域中系统的需求,确定哪些需求是领域中的系统广泛共享的,从而建立领域模型。(问题域)

领域模型:描述领域中系统之间的共同需求。

  1. 领域设计

主要目标:获得DSSA特定领域的软件架构。

DSSA描述在领域模型中表示的需求的解决方案,适应领域中多个系统的需求的一个高层次的设计。(解空间)

  1. 领域实现

主要目标:依据领域模型和DSSA,开发和组织可重用信息。

可重用信息:从现有系统中提取得到、通过新的开发得到。

image.png

 要点2:  建立DSSA的5个过程** **

1. 定义领域范围:领域中的应用要满足用户一系列的需求。2. 定义领域特定的元素:建立领域字典、归纳领域术语的同义词、识别出领域中相同和不同的元素。3. 定义领域特定的设计和实现需求的约束:描述解空间中有差别的特性。4. 定义领域模型和架构:产生一般的体系结构,说明构成它们的模块或构件的语法和语义。5. 产生、搜集可复用的产品单元:为DSSA增加可复用的构件。

总结:DSSA 的建立过程是并发的、递归的、反复进行的。该过程的目的是将用户的需求映射为基于实现限制集合的软件需求,这些需求定义了DSSA。

image.png

 要点3:  DSSA的三层次系统模型** **

1. 领域 开发环境:核心通用架构、领域模型、参考需求、参考结构。2. 领域特定的 应用开发环境:根据具体环境把核心架构实例化。3. 应用 执行环境:实现实例化的架构。

image.png

 要点4:  参与DSSA的4种角色** **

  1. 领域专家:提供需求规约、实现知识、领域字典、领域模型、DSSA、样本系统。2. 领域分析人员:控制领域分析过程,将获取的知识组织到领域模型中,验证领域模型的准确性和一致性,维护领域模型。3. 领域设计人员:根据领域模型开发出DSSA,建立领域模型和DSSA之间的联系。4. 领域实现人员:开发可重用构件、从现有系统中提取可重用构件,对可重用构件进行验证,建立DSSA与可重用构件之间的联系。