为什么需要架构图,怎么画?
不知不觉中做架构师也已经4年了,最初的感觉只是一个名号,不再把代码作为强制的任务,后来开始慢慢的转变工作内容。画图,成为了我的主要工作。我可能不是每天都在写代码,但却是每天都在画图,而且我越来越觉得画图让我更容易说清楚。
画架构图有几个好处:看清楚系统包含哪几个部分,各个部分实现什么职责,相互之间的关系是什么。当和别人讨论的时候,通过架构图可以很容易的把讨论的问题框定在一个确定的范围里,可以很容易的察觉出彼此之间存在误解的一些区域,比如对一个底层的组件。这样就能避免两个人讨论了半天,结果发现你说的是A模块,我说的是B模块。
当我需要向别人说明某个问题时,通过画图,可以高效的说明问题的背景,哪些是相关的,哪些是无关。听我说话的人就能很快进入我设定的角色,问出有针对性的问题,理解我的要求。
那么怎样才能画出高质量的架构图呢?
首先需要明白你画图的目的,是说明业务还是技术;是整体还是局部;是已完成的还是待完成的。
确定了目的以后,就需要确定实现该目的的关键因素有哪些,比如为了说明业务,我需要说明用户是谁,做这个业务的目的是什么,做业务时系统需要完成什么任务,做完之后,其它系统会受什么影响;
确定关键因素之后,需要选择表达关键因素的方法,独立的方块,方块内包含的方块,流程,网状;
最后是开始画图,一定要先划出高层次的模块,确定好各个模块的位置,确定好各个模块的核心内容,再分模块填充里面的内容。不要一开始就话小模块,过早陷入细节。