关于软件架构:实践篇三如何有效评审软件架构图
作者:京东科技 倪新明设计用意的传播是架构可视化关注的重要维度,在技术计划评审过程中不可避免的会呈现各种各样的架构图或设计图,这些图形化表述在设计用意传播成果层面体现不一,本文从图形化的视角为软件架构图的评审关注点提供了参考。 注:对于架构及架构可视化参考文章 《 探寻软件架构的实质,到底什么是架构?》 《 软件架构可视化及C4模型:架构设计不仅仅是UML》 1 准则•明确的主题:架构图要表白的用意明确,比方是容器图、组件图还是部署图 •统一的形象层级:保持一致的形象层级,不应超过2个以上的档次变动 •粒度适合的范畴:不应试图在一张图表白“所有的货色”,每张架构图聚焦于本身职责边界的范畴 •清晰的图例阐明:对架构图色彩、形态等有明确的图例,以不便浏览导航 •图形色彩不宜太多:过多色彩减少认知老本,倡议不超过 4 种 •图形元素不宜太多:过多图形元素减少认知老本 •明确的连线关系形容 2 评审检查单如同上线检查单和开发检查单,针对于软件架构图的评审制订一套检查单同样具备价值。不管架构设计者,还是参加设计评审的开发人员,对于形式各异的 “架构图” 是提供通用的参考关注点,以便干系人更多、更深刻、更高效、更有针对性的获取架构图的更多信息。 2.1 通用查看项架构图是否具备题目? 是否可能了解架构图的类型是什么? 是否可能了解架构图的范畴是什么? 架构图是否有图例? 2.2 元素架构图中每一个元素是否有名字? 是否可能了解架构图中每个元素的类型? (比方,形象级别,软件系统?容器?组件?等等) 是否可能了解架构图中的每个元素是做什么的?简要形容信息? 是否可能了解与该元素相干的技术选型(适宜表明技术选型的元素) 是否可能了解架构图中应用的所有缩写/简称的含意? 是否可能了解架构图中元素应用的所有色彩的含意 是否可能了解架构图中元素应用的所有形态的含意 是否可能了解架构图中元素应用的所有图标的含意? 是否可能了解架构图中元素应用的所有边框款式的含意? (比方,实线 vs 虚线) 是否可能了解架构图中应用的所有元素大小的含意? (比方, 小框 vs 大框 ) 2.3 关联关系架构图中的每条线是否有形容关系含意的信息? 是否可能了解架构图中的每个关联关系(适宜表明技术选型的场景)的技术选型是什么? (比方,过程间的交互的协定) 是否可能了解架构图中的关联关系的简称或缩写? 是否可能了解架构图中的连线色彩的含意? 是否可能了解架构图中的连线箭头的含意? 是否可能了解架构图中的连线款式的含意? (比方,实线 vs 虚线) 3 结语本文形容了软件架构图的一些评审关注点,其实不只是评审的视角,对于任何一个图形化的软件系统架构或设计表诉,如何可能疾速的理解其要表白的用意至关重要,对于设计者而言如何疾速传递架构设计信息并于干系人达成统一也至关重要。