《解构领域驱动设计》全局分析篇

简介: 《解构领域驱动设计》全局分析篇

解决问题的第一要务是明确问题,问题尚不知,就尝试求解,自然就是无的放矢了。全局分析的目标就是确定问题空间,在统一语言的指导下,通过各种可视化手段,由领域专家与团队一起完成对问题空间的探索,帮助领域驱动设计对准问题,输出价值需求和业务需求。


价值需求既是目标系统的目标,也是对目标系统问题空间的界定和约束,它指导着业务需求分析。


业务需求由动态的业务流程和静态的业务活动组成,二者的结合依靠业务场景按照时间点和业务目标对业务流程的切分。


通过运用商业模式画布,可以获得组成价值需求的利益相关者、系统愿景和系统范围。


业务流程的梳理可以帮助团队对问题空间的各条业务线构成一个整体认识,弄清楚各种角色如何参与到一个完整的流程中,流程的时序性也可以避免识别业务活动时可能出现的缺失。


业务流程图与服务蓝图以可视化的方式形象地呈现每一个提供了业务价值的业务流程。


业务活动是角色与目标系统之间的一次功能性交互,是体现了服务价值的功能行为。


一直以来,该如何确定业务需求层次,划分业务需求粒度,总是众说纷纭,没有一个客观的标准;业务活动将目标系统视为一个黑盒子,从功能性交互的完整性保证了每个业务活动都是正交的,就无需再考虑业务活动的层次和粒度,或者说,只要确定了完整性,保障了正交性,业务活动的层次与粒度也就确定下来了。


业务活动可以使用用例、用户故事或事件风暴中的事件来表达。


业务活动是全局分析阶段的基本业务单元,它的输出对于架构映射与领域建模具有重要意义:

  • 架构映射:业务活动是识别限界上下文、确定上下文映射的基础,同时,它的粒度正好对应每个限界上下文向外公开的服务契约;
  • 领域模型:业务需求分析细化的业务活动既是领域分析建模的重要参考,同时又作为服务场景成为场景驱动设计的起点。


全局分析是领域驱动设计统一过程的起点,它的目的是探索问题空间,使团队就问题空间的价值需求和业务需求达成共识,并在统一语言的指导下将其清晰地呈现出来。只有问题定义清楚了,团队才能更好地寻求解决方案。

相关文章
|
27天前
|
存储 前端开发 JavaScript
前端必备知识:闭包的概念、作用与应用
前端必备知识:闭包的概念、作用与应用
16 1
|
6月前
|
存储 Java 程序员
Java数组全套深入探究——基础知识阶段2、数组的定义语法
Java数组全套深入探究——基础知识阶段2、数组的定义语法
65 0
|
6月前
|
自然语言处理 JavaScript 前端开发
JavaScript开发基础问题:如何理解闭包及其作用?
JavaScript开发基础问题:如何理解闭包及其作用?
58 5
|
自然语言处理 JavaScript 前端开发
JavaScript作用域深度剖析:从局部到全局一网打尽
JavaScript作用域深度剖析:从局部到全局一网打尽
|
前端开发
前端学习案例3-闭包定义3
前端学习案例3-闭包定义3
64 0
前端学习案例3-闭包定义3
|
前端开发
前端学习案例1-闭包定义
前端学习案例1-闭包定义
50 0
前端学习案例1-闭包定义
|
前端开发
前端学习案例4-闭包定义4
前端学习案例4-闭包定义4
68 0
前端学习案例4-闭包定义4
|
前端开发
前端学习案例2-闭包定义2
前端学习案例2-闭包定义2
61 0
前端学习案例2-闭包定义2
|
前端开发 领域建模
解构领域驱动设计》架构映射篇
解构领域驱动设计》架构映射篇
解构领域驱动设计》架构映射篇
|
前端开发
前端工作总结148-引用当前组件下面的方法是混入
前端工作总结148-引用当前组件下面的方法是混入
73 0
前端工作总结148-引用当前组件下面的方法是混入
下一篇
无影云桌面