V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
• 请不要在回答技术问题时复制粘贴 AI 生成的内容
jonsmith
V2EX  ›  程序员

实际开发中,大家经常会画哪些图?如时序图、架构图、ER 图、UML

  •  
  •   jonsmith · 2023-12-06 12:40:06 +08:00 · 4276 次点击
    这是一个创建于 384 天前的主题,其中的信息可能已经有所发展或是发生改变。

    虽然我开发多年,但都是小团队或不太规范。多数是面向需求文档、原型或 UI 图,直接拆解模块、分派任务,没有较详细的系统设计,有时自己会画点流程图、文字描述下功能点。

    因为没遇到专业的架构师,没有直观感受。之前看过一些架构的书,比如微服务架构设计,不过偏理论,具体使用什么工具做架构设计,输出哪些成果,比较模糊。

    请教下大佬们,实际的系统设计阶段,会输出哪些内容,比如哪些设计图、架构文档?另外,如何想提高下画图、文档等软能力,有哪些入门的方向?书籍或课程

    36 条回复    2024-08-23 11:46:59 +08:00
    franktopplus
        1
    franktopplus  
       2023-12-06 13:03:00 +08:00 via Android   ❤️ 1
    我经常画的图有用例图、时序图最多,有时画些状态图,新项目画领域模型图,划分边界。工具用国外的 vp, 国内用 processon, 以前用 visio
    Pantheoon
        2
    Pantheoon  
       2023-12-06 13:09:48 +08:00   ❤️ 1
    设计主要包含两大块:概要设计和详细设计,概要设计主要是功能拆分后由哪些域和系统支持,也就是边界的问题,以及一些核心流程的设计,这个图的就很泛,可以是组件图,可以是流程图
    详细设计就是核心功能的流程,可以是时序图,可以是流程图,如果有状态相关的,可以是状态图,最后再配一个 ER 图,基本就这些.
    当然设计里面应该还要考虑,性能,灰度,降级,补偿这些东西,根据自己需求来写就好
    AlexHsu
        3
    AlexHsu  
       2023-12-06 13:44:05 +08:00   ❤️ 1
    forschers
        4
    forschers  
       2023-12-06 13:45:10 +08:00
    我也是,但目前只有画画数据表的图 还有就是草稿图了 比较简单的那种
    AlexHsu
        5
    AlexHsu  
       2023-12-06 13:45:42 +08:00
    @AlexHsu 这个恐惧能导出到本地 而且还有模板 抄就完事了
    wudaye
        6
    wudaye  
       2023-12-06 13:48:15 +08:00
    时序图或泳道图
    utfs8889
        7
    utfs8889  
       2023-12-06 14:13:04 +08:00
    一般和团队讨论、头脑风暴会用思维导图、项目计划会画甘特图之类的。像架构图、ER 图这些图标如果不要求形成报告文档的话,我们不会主动画
    ---
    也欢迎体验下我们的 [数字空间] ( www.writebug.com ),其中的云文档模块支持思维笔记、流程图等工具,重新定义 All in One 一站式内容协作管理,可以平替 notion 、语雀、飞书、企业微信等。

    一站式提供了 Git 代码版本管理、任务看板、视频会议、云文档等协作工具,可以管理在学习、工作中常遇到的各种不同类型的数据内容,满足学习、工作的需求。从整个工作流出发,优化各个环节的数据交互,提升内容管理效率。
    yzbythesea
        8
    yzbythesea  
       2023-12-06 14:27:03 +08:00
    时序图
    jonsmith
        9
    jonsmith  
    OP
       2023-12-06 14:56:04 +08:00
    @franktopplus 我没学习过 UML ,请教下如何学习 UML 各类图表
    jonsmith
        10
    jonsmith  
    OP
       2023-12-06 15:02:24 +08:00
    @Pantheoon 是的,这块要考虑的内容挺多的。请教下画图对开发的最大好处是什么?好像不画图也能开发,就是一些功能模糊的地方要多掰扯下
    Mithril
        11
    Mithril  
       2023-12-06 15:13:36 +08:00   ❤️ 1
    不管什么图都是 plantuml 一把梭,能直接改文本,改完渲染成图真的太香了。甚至你都能把他写到代码注释里。然后让文档工具给你渲染成图嵌到文档里。

    至于什么丑不丑的压根不重要,你那个图是让人更好理解架构流程的,能理解就行。

    时序图,组件图,状态图,流程图都经常画。
    Pantheoon
        12
    Pantheoon  
       2023-12-06 15:25:14 +08:00   ❤️ 1
    @jonsmith 能把一个问题很清楚的描述出来,那这个问题就已经解决了一半,事先梳理好,会对开发有很大帮助,不会开发到一半再去找人对接
    hiphooray
        13
    hiphooray  
       2023-12-06 15:31:27 +08:00
    开发过程中会在草稿纸上乱画、但是只有自己能懂的图。
    项目总结或者交接时候才会画时序图和 UML 之类的,来落实到纸面上形成交接文件。
    franktopplus
        14
    franktopplus  
       2023-12-06 17:29:43 +08:00 via Android   ❤️ 1
    @jonsmith 先学下 uml2.0 规范,看各种图为了表达什么,要素组成,找些权威材料看,以前 ibm 上有现在找不到了,可以看书。再找例子多练习
    liuliancao
        15
    liuliancao  
       2023-12-06 18:26:38 +08:00
    极客时间可以找找架构师 or 项目管理相关的 重要的还是结合实际 多写文档 多去画
    方向是架构师或者项目管理 文档工具建议主要用自己编辑器或者 web 顺手的 我都是 org-mode+plantuml 搞
    ztmark
        16
    ztmark  
       2023-12-06 18:29:00 +08:00
    Rache1
        17
    Rache1  
       2023-12-06 18:30:02 +08:00   ❤️ 1
    @utfs8889 #7

    @Livid spam
    Noita
        18
    Noita  
       2023-12-06 18:32:34 +08:00
    用户故事、技术流程、er 图、菱形对称架构、上下文映射、uml 类图、时序图。年底在评审阶段又增加新的图,还没画过…
    hunterzhang86
        19
    hunterzhang86  
       2023-12-06 21:12:39 +08:00   ❤️ 1
    画图真推荐 Excalidraw ,画出来的图很漂亮,现在甚至支持了 Prompt 画图,只要思路清楚,图很快就可以画出来。可以看这个了解一下: https://www.ifb.me/blog/backend/excalidraw
    Jianzs
        20
    Jianzs  
       2023-12-06 22:22:30 +08:00   ❤️ 1
    Jianzs
        21
    Jianzs  
       2023-12-06 22:24:31 +08:00
    @ztmark 请问这个 C4 图,有中文的相关资料么?
    hahastudio
        22
    hahastudio  
       2023-12-06 22:38:34 +08:00
    时序图和状态机放文档里,能更清晰地描述系统工作机制
    Promtheus
        23
    Promtheus  
       2023-12-07 08:38:18 +08:00
    一般除了时序图 很少画别的。
    wjx0912
        24
    wjx0912  
       2023-12-07 08:56:12 +08:00
    大多数情况 plantuml ,小团队,只画时序图,对象图,活动图;
    少数情况 Excalidraw ,很漂亮,输出也是文本文档
    ChoateYao
        25
    ChoateYao  
       2023-12-07 09:12:11 +08:00
    思维导图、流程图、时序图

    思维导图用于拆解需求

    流程图用于用于实现细节流程

    时序图用于跨模块、系统流程分析
    skyrim61
        26
    skyrim61  
       2023-12-07 09:19:45 +08:00
    迅捷流程图
    flmn
        27
    flmn  
       2023-12-07 11:13:42 +08:00
    我画的最多的就是时序图,不管是与业务沟通还是与开发沟通都好使。
    flmn
        28
    flmn  
       2023-12-07 11:14:25 +08:00
    另外,画图推荐 draw.io
    flmn
        29
    flmn  
       2023-12-07 11:14:45 +08:00
    画图还推荐 D2
    weixiangzhe
        30
    weixiangzhe  
       2023-12-07 11:32:08 +08:00
    plnatUml 直接 vsCode 里敲,喜欢调整布局 draw.io
    weixiangzhe
        31
    weixiangzhe  
       2023-12-07 11:33:09 +08:00
    并且 draw.io 支持导入 plantUml
    Livid
        32
    Livid  
    MOD
       2023-12-07 12:45:29 +08:00
    @Rache1 谢谢,7 楼的 spam 账号已经被彻底 ban 。
    dif
        33
    dif  
       2023-12-07 17:41:15 +08:00
    就我目前的情况来说:
    1 、功能架构图
    2 、技术架构图
    3 、网络拓扑图
    基本上能够应付了,时序图这种一般很少话,流程图偶尔会画一下。
    ztmark
        34
    ztmark  
       2023-12-07 19:42:40 +08:00   ❤️ 1
    @Jianzs 在这个网站最底下有 infoq 翻译的中文版
    sola97
        35
    sola97  
       2023-12-08 16:15:33 +08:00
    我现在都让 GPT 生成 mermaid 的时序图,我再小改一下就完事了
    favori
        36
    favori  
       123 天前
    如果你想绘制 3D 正轴测图软件架构图,可以试试 iCraft Editor, https://icraft.gantcloud.com
    iCraft Editor 是一款免费的 3D 架构图绘制工具,采用真实 3D 场景展现架构图、网络拓扑图、其他 3D 结构图,绘制 AWS|GCP|Azure|AliCloud 架构图,将您的 AWS|GCP|Azure|AliCloud 环境可视化为等距架构图, 可旋转视角、嵌套子场景,帮助您轻松绘制出色的 3D 架构图。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1003 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 28ms · UTC 20:32 · PVG 04:32 · LAX 12:32 · JFK 15:32
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.