架构制图:工具与方法论( 十 )

  • PlantUML:作为文本制图的代表性工具 , PlantUML 可以用于绘制各种类型的UML图 , 以及其他一些适用于文本制图场景的图(比如这个开源的 C4-PlantUML 扩展) 。 在这些场景下 , 文本制图具有可视化制图所无法比拟的优势:轻量、高效、版本化、自动化、一致性、易于复用等 。 虽然文本制图工具诞生已久(比如应用广泛的 [Graphviz]() , 最早发行于 1991 年) , 但相信随着现代各种 XXX as Code 的意识觉醒 , 这类Diagram as Code 工具也会获得更多青睐(btw , 语雀文档早已支持内嵌 PlantUML 制图) 。
  • 架构制图方法论总结
    古有云:授人以鱼 , 不如授人以渔 。 推而广之:授人以方法 , 也不如授人以方法论 。 什么是方法论?虽然这个词在公司里已经用烂了 , 但确实有它的价值和意义:方法论(methodology)是对方法的更高维度抽象 , 由它可以推导出解决问题的具体方法(method) 。 理解了方法论 , 才能融会贯通 , 掌握解决问题的本质要点;你也不会再受限于单一的具体方法 , 因为使用任何方法都能快速上手和灵活运用 , 并得到差不多的同等效果 。
    因此 , 本文最后这一章节将对各种架构制图方法进行归纳总结 , 并尝试提炼出一个通用的架构制图方法论 , 期望能帮助大家更好地理解架构制图背后的原理和思想 。 即便现在所熟知的各种方法与工具终会过时 , 也依然能风轻云淡地看待它们的新老交替:过去是 UML , 现在是 C4 , 未来是什么呢?这并不关键 , 因为即使方法过时了 , 背后的方法论也不会过时 。
    所以 , 那些茫茫多的方法背后 , 究竟是什么样的核心方法论在支撑着呢?经过作者呕心沥血冥思苦想了近 15 秒钟 , 终于总结出了如下这套经典方法论(p.s:就是凑数的 , 不要太当真~ ) 。 由于其中包含了 5 个环环相扣的要点 , 我们姑且称它为:五环理论 。

    架构制图:工具与方法论
    本文插图
    1. 理解制图目标
    架构制图:工具与方法论
    本文插图
    架构制图的第一要点 , 是需要先深刻理解制图目标 。 正所谓“以始为终” , 有了目标我们才能清晰地前行;否则漫无目的地乱窜 , 往往会多走不少弯路 , 甚至南辕北辙 。 架构制图的目标是什么?其实前文已经提到过很多 , 这里再简单总结下:
    • 准确(accurate):错的图比没有图还糟糕;即使一开始是准确的 , 后面也需要定期更新校对;
    • 完整(complete):需要覆盖架构的核心要素和关键信息 , 为受众呈现一个没有残缺的完整架构设计;
    • 清晰(clear):制图时最好带上图例(形状、颜色、线型、箭头);用图描述不清的地方 , 还可以加上文字标注做补充;
    • 一致(consistent):比如同一类型的图 , 最好使用相同的记号风格 , 以降低受众的理解成本;不一致往往还会带来混淆;
    • 简洁(consise):在满足以上 4 点基础之上 , 还需要让图更加简洁 , 一方面是更容易被人接受(没人读 = 没写) , 另一方面更新维护成本也更低 。
    2. 找准受众和关注点
    架构制图:工具与方法论
    本文插图
    架构制图的第二要点 , 是要找准你制图的受众(audience)以及他们各自的关注点(concern) 。 找不准的话 , 要么效果大打折扣(不是他们想听的) , 要么犹如对牛弹琴(他们根本就听不懂) 。 常见的一些受众和关注点可包括: