我应该从哪个UML图开始?

扩展 假设您正在查看6种基本类型的UML图(来自UML 2.0样式的元素)   类图   用例图   状态机图   活动图   序列图   物理图 假装你疯了,你想为你的系统绘制所有6个图表。 你会从哪开始的?那你要去哪?如果您非常清楚自己希望系统做什么,那么访问每个图表的最佳顺序是什么? 我认为你应该从物理图开始,按照自己的方式进行类图。自上而下,我总是说..?我错了吗?     
已邀请:
用例是定义系统“什么”的主要用例,可能后跟状态机和活动图(可以看到任何一种方式 - 通常活动图更多地是关于“什么”和状态机更多关于“如何”,但我已经看到每个人的反例;类和序列图,甚至组件和部署图(统称为“物理”),越来越多地关注您的系统如何完成它的工作。我肯定会从“什么”走向“如何”,因为反向序列没有多大意义 - 如果你没有定义“什么”,怎么能“怎么样”才有意义呢? 因此,粗略地总结:用例,活动,状态机,类,序列,组件,部署。这个顺序是有意义的,因为它更深入地实现方面并远离分析方面,例如,有兴趣了解您将要满足的用例以及您将应用的业务规则(活动图)可能会比需要了解部署策略的完整详细逻辑的人更早地“阅读”。     
类,序列和用例图表示项目内通常创建的图表的90%以上。类图本身有时代表比所有其他图更多的图。 最好的解决方案是保持简单,并使建模适应团队的水平。 如果没有UML经验,那么只需创建类图来表示应用程序的框架。 如果是初学者级别,则从用例,序列和类图开始。 如果是中等级,则使用所有图表,因为每个图表覆盖了另一个视图,而这个视图并不总是可以用Java编码。我的意思是java只与类和序列图有关。     
物理图可能是一个很好的起点。我发现活动图对于解决设计中的扭结非常有帮助,并且序列也是出于同样的原因。我很少接受状态机图表的困扰。 我认为你会想要重新审视你最初做的任何设计(迭代设计,哇!)所以它可能值得以任何能够为你的项目带来最清晰的东西开始。     
UML图是各种设计模型的描述。我不确定它们是否可以像你描述的那样干净地序列化。通常,在流程的分析和设计阶段使用类图。类似地,其他图表用于多个阶段。 这取决于您在任何时候使用适当的图表“查看”设计模型时感兴趣的设计的哪个方面。 我已经看到提出了“从类图开始”和“从用例模型开始”。我已经意识到这无关紧要。 我想你想从系统的高级行为开始,使用几个图表,然后逐步使用同一组图表进行更详细的设计。     

要回复问题请先登录注册