V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
jonsmith
V2EX  ›  程序员

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

  •  
  •   jonsmith · 143 天前 · 3370 次点击
    这是一个创建于 143 天前的主题,其中的信息可能已经有所发展或是发生改变。

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

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

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

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

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

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

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

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

    思维导图用于拆解需求

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

    时序图用于跨模块、系统流程分析
    skyrim61
        26
    skyrim61  
       142 天前
    迅捷流程图
    flmn
        27
    flmn  
       142 天前
    我画的最多的就是时序图,不管是与业务沟通还是与开发沟通都好使。
    flmn
        28
    flmn  
       142 天前
    另外,画图推荐 draw.io
    flmn
        29
    flmn  
       142 天前
    画图还推荐 D2
    weixiangzhe
        30
    weixiangzhe  
       142 天前
    plnatUml 直接 vsCode 里敲,喜欢调整布局 draw.io
    weixiangzhe
        31
    weixiangzhe  
       142 天前
    并且 draw.io 支持导入 plantUml
    Livid
        32
    Livid  
    MOD
       142 天前
    @Rache1 谢谢,7 楼的 spam 账号已经被彻底 ban 。
    dif
        33
    dif  
       142 天前
    就我目前的情况来说:
    1 、功能架构图
    2 、技术架构图
    3 、网络拓扑图
    基本上能够应付了,时序图这种一般很少话,流程图偶尔会画一下。
    ztmark
        34
    ztmark  
       142 天前   ❤️ 1
    @Jianzs 在这个网站最底下有 infoq 翻译的中文版
    sola97
        35
    sola97  
       141 天前
    我现在都让 GPT 生成 mermaid 的时序图,我再小改一下就完事了
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   2895 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 781ms · UTC 14:45 · PVG 22:45 · LAX 07:45 · JFK 10:45
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.