欢迎大家关注公众号「JAVA前线」查看更多精彩分享文章,主要包括源码分析、实际应用、架构思维、职场分享、产品思考等等,同时欢迎大家加我微信「java_front」一起交流学习
我在之前文章《结合DDD讲清楚编写技术方案七大维度》介绍了从零到一使用DDD方法论搭建项目的七个步骤:
四色分领域:四色分析法将一个整体需求拆分为不同领域,这是DDD方法论核心思想。四色分析法同样可以用在子域或者限界上下文中,直到拆分出可以得心应手处理之边界为止。
用例看功能:当领域划分完成后,使用用例图描述系统功能。用例图不关心实现细节,而是从外部视角描述系统功能,即使不了解实现细节的人,通过用例图也可以快速了解系统功能。
流程三剑客:使用活动图、顺序图、状态机图三种流程类型的图示描述系统,三种图各有特点:活动图着重描述逻辑分支,顺序图着重描述时间线索,状态机图着重描述状态流转。
领域与数据:如何区分领域模型和数据模型。二者重要区别是值对象存储方式。领域模型在包含值对象的同时也保留了值对象的业务含义,而数据模型可以使用更加松散的结构保存值对象,简化数据库设计。
纵横做设计:纵向做隔离,横向做编排。复杂业务之所以复杂,一个重要原因是涉及角色或者类型较多,很难平铺直叙地进行设计,所以我们需要增加分析维度。其中最常见的是增加横向和纵向两个维度。
分层看架构:系统架构分为两个层次,第一种层次指本项目在整个公司位于哪一层次。持久层、缓存层、中间件、业务中台、服务层、网关层、客户端和代理层是常见的分层架构。第二种层次指本项目内部代码组织方式,一般可以分为接口层,访问层,业务层,领域层,整合层和基础层。
接口看对接:一个接口代码编写完成后,这个接口如何调用,输入和输出参数是什么,这些问题需要在接口文档中得到回答。
上述步骤如何落地为技术方案,这是本文需要回答之问题。本文重点分析技术方案章节,每个章节具体实践文末参看我之前文章链接。
本章节记录需求文档地址
本章节使用四色分析法划分领域
本章节使用用例图描述系统功能
本章节使用时序图描述整体流程
时序图应该着眼全局
不应过多描述复杂逻辑分支
如果有需要可以根据不同维度画多张图
本章节使用活动图描述复杂逻辑分支
如果有需要可以结合多维表格分析
本章节使用状态机图描述状态流转
本章节使用ER图描述实体关系模型
本章节描述建库建表语句:
本章节描述与前端交互接口信息:
本章节使用表格记录负责人和排期:
本文展示了一篇技术方案需要具备的章节,需要说明根据需求复杂度,并不是所有章节都必须。如果一个需求复杂度不高,可以只选取其中几个章节。在《结合DDD讲清楚编写技术方案七大维度》文章有上述章节中各种图实例,希望本文对大家有所帮助。
欢迎大家关注公众号「JAVA前线」查看更多精彩分享文章,主要包括源码分析、实际应用、架构思维、职场分享、产品思考等等,同时欢迎大家加我微信「java_front」一起交流学习