特定领域软件架构
某一特定应用领域内,为一组应用提供组织结构参考标准、高层次的软件架构
横向特定领域: 例如持久层设计领域
纵向特定领域: 例如供应链系统领域
活动过程
领域分析:根据领域知识 ,获取特定领域内 系统共有的领域需求; 定义领域边界 - 识别知识源 - 分析领域需求 - 生成领域模型
领域设计:根据领域模型 构建特定领域软件架构;选择体系结构描述商业需求和质量属性
领域实现:收集领域内系统的可复用构件或开发新的构件,利用领域模型和DSSA;
主要成员及职责
领域专家:提供领域内系统的需求规约和实现知识
,建立领域内术语和名词的领域字典,参与领域需求和DSSA的复审;
领域分析人员:负责控制领域分析过程,根据领域知识 获取领域需求 并构建领域模型,验证领域模型的一致性和准确性
,维护领域模型;
领域设计人员:负责控制领域设计过程,根据领域模型和现有系统
建立 DSSA ,并维护DSSA和领域模型的关系;
领域实现人员:负责根据领域内系统提取可复用构件或开发新的构件,以实现DSSA ,建立构件的DSSA关系
,提供给领域内新的应用;
特定领域软件架构建立的五个阶段
定义领域范围(领域需求):收集领域需求
定义领域特定元素
(领域词汇表): 定义领域领域字段和领域术语的同义词典
,并分析其相似性和差异性;
定义领域设计和实现需求的
约束(领域需求约束影响): 识别约束
,定义领域内约束 的 实现和设计的不同影响 ,并记录下来
定义领域模型和领域架构(领域模型和领域架构设计):产生一般的体系结构,并说明体系结构的构件或模块的语义和语法
产生(领域架构实现): 根据领域内系统抽取可复用构件或开发新的构件,以实现DSSA,提供给领域内新的系统;
三层次系统模型
领域开发环境 - 领域设计师
特定领域应用开发环境 - 应用开发师
应用执行环境
- 领域操作师