进阶[架构] 软件架构设计-特定领域软件架构设计(DSSA)

373 阅读2分钟

含义

特定领域软件架构设计表示在应对某些专用或通用领域设计时而使用的一系列设计方法

分类

特定领域软件架构设计从领域划分,分为水平域与垂直域

  • 水平域是指通用领域进行设计,可适用于多个不同的领域,例如通用计算库,工具库等等
  • 垂直域表示对某一领域的深入设计,无法水平替换到不同的领域,例如汽车行业专用协议库。

基本活动

while true then
    领域分析--》对这个行业的共性做需求分析[领域模型(即通用需求模型)]
    领域设计--》对这个行业的共性做架构设计[DSSA(特定领域架构)]
    领域实现--》对这个行业软件的共性做实现[得到可复用的开发组织和软体]
end
每次迭代逐步求精

完成领域活动所需的人员

  • 领域专家:有经验的用户、从事该领域中系统的需求分析、设计、实现以及项目管理的有经验的软件工程师等
  • 领域分析人员:领域分析人员应由具有知识工程背景的有经验的系统分析员担任
  • 领域设计人员:领域设计人员应由有经验的软件设计人员担任
  • 领域实现人员:领域实现人员应由有经验的程序员担任

特定领域的软件架构建立过程

并发地,递归地,反复地,螺旋形地反复重复
while true then
    定义领域范围
    定于领域特定元素
    定义领域特定的设计和实现需求约束
    定义领域模型和架构
    产生、搜集可复用的产品单元
end

特定领域软件架构-三层次模型

领域架构师 ---》 领域开发环境 (开发出基础版)
                    | 参考架构,参考需求,架构,领域模型,开发工具
应用工程师 ---》 领域特定的应用开发环境(根据客户需求对基础版进行定制)
                    | 实例化的架构
操作员     ---》  应用执行环境 (软件开发完成,由操作人员运行)