软件架构流程就是为软件项目引入结构和愿景,因此评审架构图时,有一些事情可能是你想要坚持以确保情况就是如此的。这个清单适用于在架构流程开始阶段产生的图表,也适用于那些为一个已有软件系统回顾性编写文档而产生的图表。
1.我能从多个抽象层次看到并理解解决方案。
2.我理解大局,包括谁将使用系统(比如,角色、人物等)以及现有的IT环境(比如现有的系统)有什么依赖。
3.我理解逻辑容器和已作出的高层次技术选择(比如,Web服务器、数据库,等等)。
4.我理解哪些是主要组件,以及如何使用它们来满足重要的用户故事、用例、功能,等等。
5.我理解所有这些组件是什么,它们的职责是什么,还能看到所有的组件都有一个归属。
6.我理解图表使用的表示法、约定、颜色编码,等等。
7.我能看到图表之间的可追踪性和一直在使用的图表元素。
8.我理解业务领域是什么,也能从较高层次看到软件系统提供的功能。
9.我理解实现策略(框架、类库、API等),对于系统如何被实现也差不多能可视化。