是否必须拥有所有 9 个 UML 图来描述系统?
我知道序列图和协作图是同构的,所以可以在这里消除一个,如果我只用一张动态图和一张静态图来表示它可以吗?
实际上 UML 2.x 有 14 个图表。
但是您不必使用所有图表来描述您的系统。
作为一般建议:
为设计空间中较小比例的不寻常、困难、棘手的部分建模和应用 UML [拉曼,应用 UML 和模式]
在画 UML 图之前先问问自己:我为什么要画这个图?我真正的目的是什么?它会给我带来什么样的好处?如果您没有可靠的答案或好处,请不要绘制任何图表。
使用 UML 图来了解您的问题解决方案空间的性质,探索您的问题空间,探索新的设计理念,与团队成员交流想法,而不仅仅是文档。
所以从技术上讲,只有两张图是可以的:一张像类图这样的静态图和像序列图这样的动态图。
但技术上正确并不意味着它是正确的做法
所有的图表都应该有绘制它的目的。否则它将不是一个建模活动。这将是绘画练习:-)
在开发系统时使用少量的图表,这些图表可以为您带来最大的好处 - 帮助您。
不要忘记,重要的是不要画 UML 图。重要的是找到正确的抽象,为对象分配正确平衡的职责,使您的系统灵活且可扩展。
最后
没有 UML 图可以使您的设计“无罪”。论文上的所有设计想法都是“有罪的”,直到它们的“清白”被工作代码证明。:-)