在任何软件系统的开发周期内,代码都是最受关注的部分。这很正常,因为最终交付的只有代码。但如果要向别人解释系统如何工作,你会一来就说代码吗?
可惜,代码并非全部 。在缺少文档的情况下,人们通常会在白板或纸上画框线,来解释哪些是主要的结构单元以及它们如何相互连接。用图片描述软件时,我们会倾向于制作一个超级图,尽可能多地把各个抽象层次的细节都塞进去。这可能是因为我们在预设问题,或者有点过于关注系统在代码层面的运行细节。这样的图往往乱成一团,既复杂又令人费解。选择一个Microsoft Visio、Rational Software Architect或Sparx Enterprise Architect之类的工具,不但不会让事情变得简单,往往更复杂。
更好的方法是制作一些抽象层次各异的图。比起一张试图讲清所有事情的复杂图,多张简单图可以更有效地描述软件。