6.特定领域软件架构 DSSA
定义
特定领域软件架构以一个特定问题领域为对象,形成由领域参考模型、参考需求、参考架构等组成的开发基础架构,支持一个特定领域中多个应用的生成

参与人员
领域专家
角色
有经验的用户、从事该领域中系统的需求分析、设计、实现以及项目管理的有经验的软件工程师等,作为特定应用领域知识的权威来源,负责提供该领域深入、专业的知识和见解。
职责
- 提供领域相关知识的权威信息
- 参与模型的构建和验证,确保模型能准确地反映现实世界的领域知识
- 阐述领域内用户需求和业务目标
- 评估 DSSA 的适用性和有效性
- 在领域特定的建模语言和工具开发过程中提供反馈
- 参与基于 DSSA 构建的应用的评审和测试
领域分析人员
角色
领域分析人员应由具有知识工程背景的有经验的系统分析员来担任,负责从领域专家和其他相关来源收集、分析、组织和形式化领域知识,并将其转化为软件开发可以理解和使用的模型。 分析后可以得到模型
职责
- 识别和提取领域内的关键概念、关系、流程和规则。
- 构建和维护领域模型,例如概念模型、业务流程模型和规则模型。
- 分析领域需求,识别共性和可变性。
- 将领域知识转化为软件开发可以理解的形式。
- 参与参考架构的设计和可重用构件的识别。
- 协助领域专家验证领域模型的准确性。
领域设计人员
角色
领域设计人员应由有经验的软件设计人员来担任, 基于领域模型和分析结果,负责设计领域特定的软件架构 (DSSA),定义参考架构和可重用构件的蓝图。 设计后可以得到架构
职责
- 架构设计: 设计 DSSA 的整体结构和组织框架(参考架构),包括主要组件、接口、交互模式和架构风格,以满足领域的需求和约束。
- 构件识别与定义: 识别领域内具有可重用性的软件构件,并定义它们的接口、功能和行为规范。
- 设计原则制定: 制定领域特定的设计原则和指南,确保基于 DSSA 构建的应用具有一致性和高质量。
- 技术选型指导: 根据领域特性和需求,指导技术和平台的选择。
- 质量属性考虑: 在架构和构件设计中考虑性能、安全性、可维护性等重要的质量属性。
领域实现人员
角色
领域实现人员应由有经验的程序设计人员来担任,负责根据领域设计人员的规范和蓝图,开发可重用的软件构件,并使用这些构件构建特定的领域应用程序。·
职责
- 构件开发: 根据构件规范进行详细设计、编码和单元测试,实现可重用的软件模块。
- 应用构建: 利用已开发的可重用构件,结合特定的应用需求进行组装、配置和定制,构建最终的领域应用程序。
- 集成测试: 对构建的应用进行集成测试,确保各个构件协同工作正常。
- 技术实现: 运用合适的编程语言、框架、工具和技术来实现设计方案。
- 部署与维护支持: 参与应用程序的部署过程,并为后续的维护工作提供支持。
建立过程

三层次模型

领域开发环境(领域架构师)
用于定义、建模、分析和设计领域特定的概念、规则、流程、组件
领域特定的应用开发环境(应用开发者)
基于领域模型、参考架构和可重用构件快速构件、配置和定制领域特定的应用程序
应用执行环境(操作员)
最终用户运行和使用领域特定应用程序的平台和基础设施。