有多少UML图是描述一个完整系统所必需的?

有多少UML图是描述一个完整系统所必需的?,uml,Uml,有必要用所有9个UML图来描述一个系统吗 我知道序列图和协作图是同构的,所以这里可以去掉一个,如果我只用一个动态部分的图和一个静态部分的图来表示它,可以吗?实际上UML2.x有14个图 但您不必使用所有图表来描述您的系统。 作为一般建议: 建模并应用UML处理较小比例的异常, 设计空间中困难、棘手的部分[Larman,应用UML和 模式] 在绘制UML图之前,问问自己:我为什么要绘制这个图?我的真正目的是什么?它会给我带来什么好处?如果你没有可靠的答案或好处,就不要画任何图表 使用UML图来理解

有必要用所有9个UML图来描述一个系统吗


我知道序列图和协作图是同构的,所以这里可以去掉一个,如果我只用一个动态部分的图和一个静态部分的图来表示它,可以吗?

实际上UML2.x有14个图

但您不必使用所有图表来描述您的系统。

作为一般建议:

建模并应用UML处理较小比例的异常, 设计空间中困难、棘手的部分[Larman,应用UML和 模式]

在绘制UML图之前,问问自己:我为什么要绘制这个图?我的真正目的是什么?它会给我带来什么好处?如果你没有可靠的答案或好处,就不要画任何图表

使用UML图来理解您的问题解决方案空间的性质,探索您的问题空间,探索新的设计思想,与团队成员交流思想,但不仅仅是文档。

所以从技术上讲,只有两个图是可以的:一个是静态的 类似类图的图和类似序列的动态图 图表

但技术上正确并不意味着这样做是正确的

所有的图表都应该有一个绘制它的目的,否则它将不是一个建模活动。这将是绘画练习:-)

在开发系统时,使用少量能给您带来最大好处的图表来帮助您

不要忘记重要的事情不是绘制UML图。重要的是找到正确的抽象,为对象分配正确的平衡责任,使您的系统具有灵活性和可扩展性

最后


没有任何UML图可以使您的设计“无罪”。论文中的所有设计思想都是“有罪的”,直到工作代码证明其“无罪”:-)

实际上UML2.x有14个图

但您不必使用所有图表来描述您的系统。

作为一般建议:

建模并应用UML处理较小比例的异常, 设计空间中困难、棘手的部分[Larman,应用UML和 模式]

在绘制UML图之前,问问自己:我为什么要绘制这个图?我的真正目的是什么?它会给我带来什么好处?如果你没有可靠的答案或好处,就不要画任何图表

使用UML图来理解您的问题解决方案空间的性质,探索您的问题空间,探索新的设计思想,与团队成员交流思想,但不仅仅是文档。

所以从技术上讲,只有两个图是可以的:一个是静态的 类似类图的图和类似序列的动态图 图表

但技术上正确并不意味着这样做是正确的

所有的图表都应该有一个绘制它的目的,否则它将不是一个建模活动。这将是绘画练习:-)

在开发系统时,使用少量能给您带来最大好处的图表来帮助您

不要忘记重要的事情不是绘制UML图。重要的是找到正确的抽象,为对象分配正确的平衡责任,使您的系统具有灵活性和可扩展性

最后


没有任何UML图可以使您的设计“无罪”。论文中的所有设计思想都是“有罪的”,直到工作代码证明其“无罪”:-)

这很主观。根据系统开发的距离,您可能只能创建两个或三个。如果这是一个系统,您将返回并为其绘制图表,根据复杂性,您可能会有几十个。不同的图表解释不同的事情。你想解释什么?有很多用例吗?您的状态机是否复杂,是否可以从其他图表中获益?对于一个给定的系统,没有一个正确的答案。这是非常主观的。根据系统开发的距离,您可能只能创建两个或三个。如果这是一个系统,您将返回并为其绘制图表,根据复杂性,您可能会有几十个。不同的图表解释不同的事情。你想解释什么?有很多用例吗?您的状态机是否复杂,是否可以从其他图表中获益?对于给定的系统,没有1个正确答案。