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