技术开发 频道

绘制整洁的UML图

    避免曲线
    您可以在图 5 中看出,我对图 4做了更进一步的改进:除去了曲线。人们喜欢看到垂直或水平的直线。这次我又假装是在网格上绘制图(实际上这是许多计算机辅助系统工程(CASE)工具的内置特性),然后只需要象在网格上那样绘制出框和线条。

图 5. 图 4 的更整洁版本


    避免混乱或复杂的图
    显示太多细节或者外观很混乱的图看上去不太好。最好能够有几张显示各种程度的细节的图,而非一张显示所有事物的复杂的图。这就是为什么UML拥有几种图的原因之一:一个软件是如此复杂,以至于我们无法在单一图上对其所有方面建模。而且,UML 允许将包添加到图中(下星期的技巧主题)。

    另一个相关的注意事项是对屏幕或页面区域的使用。在我看来,一张占据几页的图比将所有内容蜷缩在一起,使它能在一页上打印出的图要好得多。您应该给图留出足够的空间,使它易于理解。

    避免在图的美化上浪费太多时间
    尽管这些经验法则非常有效,但无休止地调整图的外观总是会增加额外的建模时间。解决这个问题的一个方法是尝试使图的外观保持在大致良好的水平上--您在使用图时,不需要它非常完美。一旦确信图按照您所需的方式对应用程序建模,就可以开始移动框以避免交叉线,增进其可理解性。

    您的主要目标是对系统建模,而不是绘制漂亮的图。有必要指出这些重要的经验法则也可以被用来美化低劣的设计。例如,我可以从图2 开始,将它重排成图 1,以使设计看上去比实际的更为复杂 --可能使得高级管理人员相信我需要更多时间或资源才能完成工作,或者引导他们避开我不是特别喜欢的备选设计。假设您的动机随情形而改变,我希望您所处的情形是健康的,您所考虑的最重要的问题是使了不起的设计看上去更引人入胜,而不是在办公室权术中求生存。


    参考资料

    您可以参阅本文在 developerWorks 全球站点上的 英文原文.

    Building Object Applications That Work: Your Step-By-Step Handbook for Developing Robust Systems with Object Technology ,由 Scott W. Ambler 著。New York: Cambridge University Press, 1998。

    Process Patterns -- Building Large-Scale Systems Using Object Technology ,由 Scott Ambler 著。New York: Cambridge University Press, 1998。

    The Object Primer 2nd Edition ,由 Scott W. Ambler 著。New York: Cambridge University Press, 2000。

0
相关文章