我应该从哪个UML图开始?

我应该从哪个UML图开始?,uml,top-down,Uml,Top Down,假设您正在查看6种基本类型的UML图(从这里可以看到UML2.0样式的元素) 类图 用例图 状态机图 活动图 序列图 物理图 假装你疯了,你想为你的系统画出所有6个图表 你会从哪一个开始?那你会去哪?如果您对希望系统做什么有一个非常清楚的想法,那么访问每个图表的最佳顺序是什么 我认为您应该从物理图开始,然后按照您的方式创建类图。自上而下,我总是说。。?我错了吗?物理图可能是最好的起点。我发现活动图对解决设计中的问题非常有帮助,而序列也有同样的好处。我很少为状态机图而烦恼 我认为,实际上,不管你首

假设您正在查看6种基本类型的UML图(从这里可以看到UML2.0样式的元素)

  • 类图
  • 用例图
  • 状态机图
  • 活动图
  • 序列图
  • 物理图
  • 假装你疯了,你想为你的系统画出所有6个图表

    你会从哪一个开始?那你会去哪?如果您对希望系统做什么有一个非常清楚的想法,那么访问每个图表的最佳顺序是什么


    我认为您应该从物理图开始,然后按照您的方式创建类图。自上而下,我总是说。。?我错了吗?

    物理图可能是最好的起点。我发现活动图对解决设计中的问题非常有帮助,而序列也有同样的好处。我很少为状态机图而烦恼


    我认为,实际上,不管你首先做什么设计,你都会想重新审视一下(迭代设计,哇!),因此,可能值得从能给你的项目带来最大清晰度的设计开始。

    UML图描述了设计的各种模型。我不确定它们是否能像您描述的那样被清晰地序列化。在流程的分析和设计阶段经常使用类图。类似地,其他图表在多个阶段中使用

    这取决于您在任何时候使用适当的图表“查看”设计模型时对设计的哪个方面感兴趣

    我已经看到了“从类图开始”和“从用例模型开始”的建议。我逐渐意识到这其实并不重要

    我认为您应该从使用多个图的系统的高级行为开始,然后逐步使用同一组图进行更详细的设计。

    用例是定义系统的“功能”的主要用例,之后可能是状态机和活动图(这两种情况都可以看到——通常情况下,活动图更多地是关于“什么”的,状态机更多地是关于“如何”的,但我已经看到了每个方面的反例);类图和序列图,甚至更多的是组件图和部署图(统称为“物理图”),越来越多的是关于你的系统如何做它所做的事情。我肯定会从“什么”转向“如何”,因为相反的顺序没有什么意义——如果你没有定义“什么”,那么“如何”又有什么意义呢


    因此,粗略地总结一下:用例、活动、状态机、类、序列、组件、部署。这种顺序是有意义的,因为它更深入到实现方面,而不是分析方面,例如,有人想确切地了解您将满足哪些用例以及您将应用哪些业务规则(活动图)可能比需要了解部署策略的完整详细逻辑的人更早停止“阅读”。

    类、序列和用例图代表项目内通常创建的图的90%以上。类图本身有时比所有其他图代表更多的图

    最好的解决方案是保持其简单性,并使建模适应团队的级别

    如果没有UML经验,那么只需创建类图来表示应用程序的框架

    如果是初学者级别,则从用例、序列和类图开始


    如果是中级的那么就使用所有的图表,因为每个图表都包含了另一个视图,这并不总是可以用Java进行编码。我的意思是Java只与类和序列图相关。

    我必须说这个答案特别有用。我特别喜欢状态机之前的活动,以及序列之前的类,以及课前活动。@Bobobo,tx感谢您的荣誉——总是很高兴能提供帮助!正如@Vincent Ramdhanie提到的,很可能您不会通过完成一个图表然后继续其他图表来开始设计。无论如何,我喜欢您的回答,因为它提供了一个合理的开始方式,至少对我来说是这样。谢谢您的帮助