虽然我开发多年,但都是小团队或不太规范。多数是面向需求文档、原型或 UI 图,直接拆解模块、分派任务,没有较详细的系统设计,有时自己会画点流程图、文字描述下功能点。
因为没遇到专业的架构师,没有直观感受。之前看过一些架构的书,比如微服务架构设计,不过偏理论,具体使用什么工具做架构设计,输出哪些成果,比较模糊。
请教下大佬们,实际的系统设计阶段,会输出哪些内容,比如哪些设计图、架构文档?另外,如何想提高下画图、文档等软能力,有哪些入门的方向?书籍或课程
1
franktopplus 2023-12-06 13:03:00 +08:00 via Android 1
我经常画的图有用例图、时序图最多,有时画些状态图,新项目画领域模型图,划分边界。工具用国外的 vp, 国内用 processon, 以前用 visio
|
2
Pantheoon 2023-12-06 13:09:48 +08:00 1
设计主要包含两大块:概要设计和详细设计,概要设计主要是功能拆分后由哪些域和系统支持,也就是边界的问题,以及一些核心流程的设计,这个图的就很泛,可以是组件图,可以是流程图
详细设计就是核心功能的流程,可以是时序图,可以是流程图,如果有状态相关的,可以是状态图,最后再配一个 ER 图,基本就这些. 当然设计里面应该还要考虑,性能,灰度,降级,补偿这些东西,根据自己需求来写就好 |
3
AlexHsu 2023-12-06 13:44:05 +08:00 1
|
4
forschers 2023-12-06 13:45:10 +08:00
我也是,但目前只有画画数据表的图 还有就是草稿图了 比较简单的那种
|
6
wudaye 2023-12-06 13:48:15 +08:00
时序图或泳道图
|
7
utfs8889 2023-12-06 14:13:04 +08:00
一般和团队讨论、头脑风暴会用思维导图、项目计划会画甘特图之类的。像架构图、ER 图这些图标如果不要求形成报告文档的话,我们不会主动画
--- 也欢迎体验下我们的 [数字空间] ( www.writebug.com ),其中的云文档模块支持思维笔记、流程图等工具,重新定义 All in One 一站式内容协作管理,可以平替 notion 、语雀、飞书、企业微信等。 一站式提供了 Git 代码版本管理、任务看板、视频会议、云文档等协作工具,可以管理在学习、工作中常遇到的各种不同类型的数据内容,满足学习、工作的需求。从整个工作流出发,优化各个环节的数据交互,提升内容管理效率。 |
8
yzbythesea 2023-12-06 14:27:03 +08:00
时序图
|
9
jonsmith OP @franktopplus 我没学习过 UML ,请教下如何学习 UML 各类图表
|
10
jonsmith OP @Pantheoon 是的,这块要考虑的内容挺多的。请教下画图对开发的最大好处是什么?好像不画图也能开发,就是一些功能模糊的地方要多掰扯下
|
11
Mithril 2023-12-06 15:13:36 +08:00 1
不管什么图都是 plantuml 一把梭,能直接改文本,改完渲染成图真的太香了。甚至你都能把他写到代码注释里。然后让文档工具给你渲染成图嵌到文档里。
至于什么丑不丑的压根不重要,你那个图是让人更好理解架构流程的,能理解就行。 时序图,组件图,状态图,流程图都经常画。 |
12
Pantheoon 2023-12-06 15:25:14 +08:00 1
@jonsmith 能把一个问题很清楚的描述出来,那这个问题就已经解决了一半,事先梳理好,会对开发有很大帮助,不会开发到一半再去找人对接
|
13
hiphooray 2023-12-06 15:31:27 +08:00
开发过程中会在草稿纸上乱画、但是只有自己能懂的图。
项目总结或者交接时候才会画时序图和 UML 之类的,来落实到纸面上形成交接文件。 |
14
franktopplus 2023-12-06 17:29:43 +08:00 via Android 1
@jonsmith 先学下 uml2.0 规范,看各种图为了表达什么,要素组成,找些权威材料看,以前 ibm 上有现在找不到了,可以看书。再找例子多练习
|
15
liuliancao 2023-12-06 18:26:38 +08:00
极客时间可以找找架构师 or 项目管理相关的 重要的还是结合实际 多写文档 多去画
方向是架构师或者项目管理 文档工具建议主要用自己编辑器或者 web 顺手的 我都是 org-mode+plantuml 搞 |
16
ztmark 2023-12-06 18:29:00 +08:00
c4 图 https://c4model.com/
|
18
Noita 2023-12-06 18:32:34 +08:00
用户故事、技术流程、er 图、菱形对称架构、上下文映射、uml 类图、时序图。年底在评审阶段又增加新的图,还没画过…
|
19
hunterzhang86 2023-12-06 21:12:39 +08:00 1
画图真推荐 Excalidraw ,画出来的图很漂亮,现在甚至支持了 Prompt 画图,只要思路清楚,图很快就可以画出来。可以看这个了解一下: https://www.ifb.me/blog/backend/excalidraw
|
20
Jianzs 2023-12-06 22:22:30 +08:00 1
|
22
hahastudio 2023-12-06 22:38:34 +08:00
时序图和状态机放文档里,能更清晰地描述系统工作机制
|
23
Promtheus 2023-12-07 08:38:18 +08:00
一般除了时序图 很少画别的。
|
24
wjx0912 2023-12-07 08:56:12 +08:00
大多数情况 plantuml ,小团队,只画时序图,对象图,活动图;
少数情况 Excalidraw ,很漂亮,输出也是文本文档 |
25
ChoateYao 2023-12-07 09:12:11 +08:00
思维导图、流程图、时序图
思维导图用于拆解需求 流程图用于用于实现细节流程 时序图用于跨模块、系统流程分析 |
26
skyrim61 2023-12-07 09:19:45 +08:00
迅捷流程图
|
27
flmn 2023-12-07 11:13:42 +08:00
我画的最多的就是时序图,不管是与业务沟通还是与开发沟通都好使。
|
29
flmn 2023-12-07 11:14:45 +08:00
画图还推荐 D2
|
30
weixiangzhe 2023-12-07 11:32:08 +08:00
plnatUml 直接 vsCode 里敲,喜欢调整布局 draw.io
|
31
weixiangzhe 2023-12-07 11:33:09 +08:00
并且 draw.io 支持导入 plantUml
|
33
dif 2023-12-07 17:41:15 +08:00
就我目前的情况来说:
1 、功能架构图 2 、技术架构图 3 、网络拓扑图 基本上能够应付了,时序图这种一般很少话,流程图偶尔会画一下。 |
35
sola97 2023-12-08 16:15:33 +08:00
我现在都让 GPT 生成 mermaid 的时序图,我再小改一下就完事了
|
36
favori 123 天前
如果你想绘制 3D 正轴测图软件架构图,可以试试 iCraft Editor, https://icraft.gantcloud.com
iCraft Editor 是一款免费的 3D 架构图绘制工具,采用真实 3D 场景展现架构图、网络拓扑图、其他 3D 结构图,绘制 AWS|GCP|Azure|AliCloud 架构图,将您的 AWS|GCP|Azure|AliCloud 环境可视化为等距架构图, 可旋转视角、嵌套子场景,帮助您轻松绘制出色的 3D 架构图。 |