Day29-03|7.5.3 参与 DSSA 的人员:让领域知识、架构决策与复用工程形成合力

一、教材定位

DSSA 不是架构师一个人的工作。它同时涉及业务领域知识、软件架构设计、产品线规划、构件开发、测试验证、项目交付和资产治理。参与人员的职责边界如果不清晰,最容易出现两种问题:一是平台团队按照自己的技术偏好抽象出脱离业务的“通用平台”;二是业务项目为了短期交付不断修改公共核心,最终使 DSSA 失去稳定性和复用价值。

二、参与角色总览

角色 主要关注点 主要产物
领域专家 业务概念、规则和流程 领域术语、规则、流程模型
领域架构师 共性、可变性和参考架构 DSSA、领域模型、架构决策
产品线经理 产品范围、收益和路线 产品线规划、复用目标
构件开发人员 构件实现、接口和扩展点 框架、服务、SDK、模板
应用架构师 具体项目的架构实例化 项目架构、适配方案
项目经理 进度、资源、风险和交付 计划、里程碑、风险台账
测试与质量人员 功能和质量属性证据 测试报告、质量门禁
运维与安全人员 部署、监控、安全和恢复 基线、演练、合规证据

三、领域专家

领域专家是 DSSA 的知识来源,通常来自业务部门、行业顾问、客户代表、运营人员或长期维护旧系统的人员。他们负责解释领域术语、业务目标、流程规则、例外情况和实际约束。例如在银行领域,架构师可能知道账户、交易和消息如何建模,但只有业务专家能够解释日终清算、冲正、挂账、差错处理和监管报送的真实语义。

领域专家不一定直接设计软件结构,但必须参与共性和可变性确认。某个能力是否是领域共性,不能只看代码重复,还要看业务意义是否稳定。领域专家还要参与验收,确认 DSSA 没有把不同业务概念错误合并。

四、领域架构师

领域架构师是 DSSA 的主要技术负责人,负责把领域知识转化为架构资产。他需要界定领域边界,组织共性分析和可变性分析,建立领域模型,设计参考架构,确定质量属性策略,划分核心与扩展部分,并维护架构决策记录。

领域架构师不能只关注逻辑分层,还要处理数据所有权、接口版本、部署拓扑、故障传播、权限边界、构件替换和演进路线。面对业务专家的需求,领域架构师要判断它是稳定共性、可配置变化、插件扩展,还是不应纳入 DSSA 的项目特例。

五、应用架构师

应用架构师负责把 DSSA 应用到具体项目中。他需要理解领域资产的适用范围,选择合适的变体,设计项目级适配方案,补充项目特有能力,并保证项目架构不违反 DSSA 的核心约束。

应用架构师还承担反馈责任。如果某个适配逻辑在多个项目中重复出现,应将其反馈给领域架构师;如果公共构件不能满足项目质量目标,应提供性能、安全和可靠性证据,推动领域资产改进,而不是私下复制一份分支。

六、产品线经理与业务负责人

产品线经理关注 DSSA 是否值得建设以及如何产生长期收益。他需要分析产品线范围、应用数量、共性比例、市场节奏、建设成本和复用收益,安排领域工程与应用工程的投入比例。

业务负责人负责确定业务优先级、目标用户和商业价值。DSSA 并非越通用越好,如果产品线中的应用差异过大,强行建设统一平台会拖慢交付。产品线经理应推动阶段性建设:先从高价值、稳定且重复率高的能力开始,经过试点后再扩大范围。

七、构件开发人员与平台工程师

构件开发人员负责将领域设计落实为可运行资产,包括公共服务、领域框架、SDK、插件机制、配置中心、接口适配器、测试工具、部署模板和监控模板。开发人员需要遵守构件契约、版本兼容和扩展点设计,不能把项目特定逻辑隐藏在公共构件中。

平台工程师关注构件的工程化交付:自动构建、依赖管理、制品仓库、环境配置、持续集成、持续交付、灰度发布、日志采集和运行监控。没有工程化支撑,DSSA 资产很难被多个项目稳定使用。

八、项目经理

项目经理协调领域工程和应用工程的资源与节奏。他需要识别复用依赖、安排资产验证、控制公共构件变更的影响,并在项目计划中留出适配、联调、性能测试和迁移演练的时间。

项目经理还要防止“为了按期上线而直接修改核心资产”。如果项目必须采取临时方案,应建立技术债务和回收计划,明确后续是否反哺 DSSA、是否保留适配层、何时消除分支。

九、测试、质量、安全和运维人员

测试人员要验证 DSSA 资产在多个应用和多个变体中的可复用性,重点关注构件组合、边界条件、版本兼容、异常恢复和回归影响。质量人员负责建立质量门禁,确保资产具有文档、测试报告、缺陷记录和支持范围。

安全人员负责身份认证、授权、数据分级、加密、审计、漏洞和合规评估。运维人员负责容量、监控、告警、备份、恢复、发布和故障演练。DSSA 若只描述业务功能而没有这些角色参与,就很难把可用性、安全性和可维护性真正落实。

十、角色协作机制

参与人员不能只靠临时会议协作,应建立正式机制:领域术语评审统一语言;架构评审确认边界与质量属性;构件评审确认接口、版本和扩展点;安全评审确认风险;发布评审确认部署和回滚;运行复盘将真实问题反馈到资产库。

可以建立责任矩阵:领域专家负责业务语义,领域架构师负责 DSSA 决策,应用架构师负责项目实例化,构件团队负责实现和维护,测试团队负责证据,项目经理负责协调和交付。对于每个关键决策必须有唯一责任人,同时允许相关角色提出意见。

十一、案例分析:制造执行系统 DSSA

某企业为多个工厂建设制造执行系统。领域专家提供工艺、工单、设备、物料和质量检验知识;领域架构师提炼生产计划、工单执行、设备采集和质量追溯的共性,设计领域事件和构件边界;产品线经理确认哪些能力优先平台化;应用架构师根据不同工厂选择设备协议和排产规则;构件团队开发设备适配器、工单服务和追溯组件;安全人员设计操作审计和设备身份;运维人员建立边缘节点监控和断网恢复;测试团队验证高峰生产、设备离线、重复采集和质量追溯。

最终,稳定共性进入 DSSA,设备厂商差异通过适配器表达,工厂排产差异通过规则策略表达。该案例说明参与人员的价值不是简单分工,而是共同把业务差异转换成可治理的架构变化点。

十二、练习题

题1

领域专家和领域架构师的职责有什么区别?

参考答案

领域专家提供业务概念、规则、流程、例外和实际约束,确认架构是否符合业务语义;领域架构师负责把这些知识转化为领域模型、共性与可变性、参考架构、构件、接口和质量属性策略。前者回答业务是什么,后者回答如何形成可复用的软件体系结构。

题2

应用架构师发现公共构件无法满足项目性能目标,应如何处理?

参考答案

先通过压测和容量分析确认问题,再判断是配置不当、适配层瓶颈还是构件本身设计缺陷;将证据反馈给领域架构师和构件团队,评估升级、扩展、替换或项目隔离方案。不能直接复制公共构件并长期形成无人维护的分支。

题3

为什么安全和运维人员必须参与 DSSA?

参考答案

因为 DSSA 的复用不仅涉及功能,还涉及身份、授权、数据保护、监控、部署、备份、恢复和故障演练。缺少安全和运维参与,架构资产可能在开发环境可用,却无法满足生产环境的可靠性和合规要求。

十三、论文写作素材

论文可以写“我组织领域专家、领域架构师、应用架构师、开发、测试、安全和运维共同参与 DSSA 建设。领域专家负责确认业务语义,领域架构师负责共性和可变性分析,应用架构师负责具体实例化,构件团队负责资产实现,测试、安全和运维团队负责质量证据。通过责任矩阵和架构评审保证决策闭环,最终避免公共平台脱离业务或被项目随意修改。”

十四、今日复盘

参与 DSSA 的人员可以按“懂业务、定架构、做资产、落项目、保质量、管运行”记忆。考试答题不要只罗列角色名称,要写每个角色的职责、输入、产物和协作关系。