画简单草图对我和合作过的很多团队都管用。但这是为了提供结构性的想法和指导,而非制订标准。目标是帮助团队以有效且高效的方式沟通他们的软件设计,而非创造另一套综合性的建模标记。
UML提供了一套通用的抽象和 用于描述它们的通用标记,但我几乎看不到哪个团队可以有效地使用它们。我更愿意看到团队能够以通用的抽象来讨论他们的软件系统,而不是绞尽脑汁去理解各种标记元素想要展现的东西。至于我嘛,一套通用抽象比通用标记更重要。
大多数地图在履行这一准则上都是很好的例子。它们都显示了道路、河流、湖泊、森林、城镇、教堂等,但通常依据颜色编码、线条样式、图标等 ,使用不同的标记。理解它们的关键就是放置在地图一角的图例。在软件架构图中,我们同样可以使用图例。
必须重申,非正规的框线草图提供灵活性的代价就是一致性,因为你创造了你自己的标记,而不是使用UML等的标准。我的建议是注意颜色编码、线条样式、形状等,让你的团队自然发展出一致的标记。给每个图都添加一个解释标记的简单图例,这会很有帮助。如果命名真的是软件开发中最难的事情,就尽量避免一个图里都是带标签的框。标出框的含义有助于避免歧义,同时提供一个“一目了然”的友好视图。