首页 > 其他分享 >实践篇(三):如何有效评审软件架构图?

实践篇(三):如何有效评审软件架构图?

时间:2023-02-21 11:31:57浏览次数:33  
标签:是否 能够 元素 实践 架构图 理解 软件架构 评审 含义

作者:京东科技  倪新明

设计意图的传达是架构可视化关注的重要维度,在技术方案评审过程中不可避免的会出现各种各样的架构图或设计图,这些图形化表述在设计意图传达效果层面表现不一,本文从图形化的视角为软件架构图的评审关注点提供了参考。

注:关于架构及架构可视化参考文章 《 探寻软件架构的本质,到底什么是架构?》 《 软件架构可视化及C4模型:架构设计不仅仅是UML》

1 原则

明确的主题:架构图要表达的意图明确,比如是容器图、组件图还是部署图

一致的抽象层级:保持一致的抽象层级,不应超过2个以上的层次变化

粒度合适的范围:不应试图在一张图表达“所有的东西”,每张架构图聚焦于自身职责边界的范围

清晰的图例说明:对架构图颜色、形状等有明确的图例,以方便阅读导航

图形颜色不宜太多:过多颜色增加认知成本,建议不超过 4 种

图形元素不宜太多:过多图形元素增加认知成本

明确的连线关系描述

2 评审检查单

如同上线检查单和开发检查单,针对于软件架构图的评审制定一套检查单同样具有价值。不论架构设计者,还是参与设计评审的开发人员,对于形式各异的 “架构图” 是提供通用的参考关注点,以便干系人更多、更深入、更高效、更有针对性的获取架构图的更多信息。

2.1 通用检查项

架构图是否具有标题?

是否能够理解架构图的类型是什么?

是否能够理解架构图的范围是什么?

架构图是否有图例

2.2 元素

架构图中每一个元素是否有名字

是否能够理解架构图中每个元素的类型? (比如,抽象级别,软件系统?容器?组件?等等)

是否能够理解架构图中的每个元素是做什么的?简要描述信息?

是否能够理解与该元素相关的技术选型(适合标明技术选型的元素)

是否能够理解架构图中使用的所有缩写/简称的含义?

是否能够理解架构图中元素使用的所有颜色的含义

是否能够理解架构图中元素使用的所有形状的含义

是否能够理解架构图中元素使用的所有图标的含义?

是否能够理解架构图中元素使用的所有边框样式的含义? (比如,实线 vs 虚线)

是否能够理解架构图中使用的所有元素大小的含义? (比如, 小框 vs 大框 )

2.3 关联关系

架构图中的每条线是否有描述关系含义的信息?

是否能够理解架构图中的每个关联关系****(适合标明技术选型的场景)的技术选型是什么? (比如,进程间的交互的协议)

是否能够理解架构图中的关联关系的简称或缩写

是否能够理解架构图中的连线颜色的含义?

是否能够理解架构图中的连线箭头的含义?

是否能够理解架构图中的连线样式的含义? (比如,实线 vs 虚线)

3 结语

本文描述了软件架构图的一些评审关注点,其实不只是评审的视角,对于任何一个图形化的软件系统架构或设计表诉,如何能够快速的了解其要表达的意图至关重要,对于设计者而言如何快速传递架构设计信息并于干系人达成一致也至关重要。

标签:是否,能够,元素,实践,架构图,理解,软件架构,评审,含义
From: https://blog.51cto.com/u_15714439/6076399

相关文章

  • 火山引擎 DataTester:在广告投放场景下的 A/B 实验实践
    更多技术交流、求职机会,欢迎关注字节跳动数据平台微信公众号,回复【1】进入官方交流群“我知道在广告上的投资有一半是无用的,但问题是我不知道是哪一半。”——零售大亨约翰......
  • 项目开发软件架构选择指南
    从系统的组织和部署结构方面来看,软件架构的演化进程显然有着从简单到复杂的趋势。那是否最新最复杂的架构就是目前业界选择的最佳架构呢?非也。没有最好的架构,只有最合适的......
  • 测试环境docker化实践
    测试环境对于任何一个软件公司来讲,都是核心基础组件之一。测试环境伴随着发展也从单一的几套环境发展成现在的任意的docker动态环境+docker稳定环境环境体系。期间环境系统......
  • TiDB数据库在汽车之家的应用与实践
     引言TiDB是PingCAP公司研发的开源分布式关系型数据库,具有兼容MySQL协议,易水平扩展、高可用、强一致、HTAP等特性。目前TiDB已在汽车之家论坛,好友粉丝,智......
  • TiDB数据库在汽车之家的应用与实践
     引言TiDB是PingCAP公司研发的开源分布式关系型数据库,具有兼容MySQL协议,易水平扩展、高可用、强一致、HTAP等特性。目前TiDB已在汽车之家论坛,好友粉丝,智......
  • TiDB数据库在汽车之家的应用与实践
     引言TiDB是PingCAP公司研发的开源分布式关系型数据库,具有兼容MySQL协议,易水平扩展、高可用、强一致、HTAP等特性。目前TiDB已在汽车之家论坛,好友粉丝,智......
  • 容器化构建最佳实践
    在我们的开发过程中,少不了与容器打交道,几乎所有常用的应用的都会提供构建好的容器镜像以便用户快速体验。特别是越来越多的团队使用k8s作为容器平台,在应用部署的过程中也就......
  • JVM系统优化实践(1):JVM概览
    您好,我是湘王,这是我的51CTO博客,欢迎您来,欢迎您再来~这是多年之前做过的学习笔记,今天再翻出来,觉得仍然是记忆犹新。「独乐乐不如众乐乐」,就拿出来分享给「众乐乐」吧。目前大......
  • JVM系统优化实践(1):JVM概览
    您好,我是湘王,这是我的博客园,欢迎您来,欢迎您再来~   这是多年之前做过的学习笔记,今天再翻出来,觉得仍然是记忆犹新。「独乐乐不如众乐乐」,就拿出来分享给「众乐乐」吧......
  • Apache Hudi 流转批 场景实践
    背景在某些业务场景下,我们需要一个标志来衡量hudi数据写入的进度,比如:Flink实时向Hudi表写入数据,然后使用这个Hudi表来支持批量计算并通过一个flag来评估它的分区数......