我们知道 UML 包含 13 种类型的图(结构图和行为图)
在开始软件开发之前,我们处于需求和设计阶段,那么应该创建哪个图表以及何时创建?.. UML 在需求和设计阶段的图表创建顺序应该是什么?
事实上,如果没有严格的顺序,那么首先我们需要严格地创建结构图,但是像活动图这样的行为可能会根据用户体验而改变?
我们可以单独创建一个部署图和组件图吗?
我们知道 UML 包含 13 种类型的图(结构图和行为图)
在开始软件开发之前,我们处于需求和设计阶段,那么应该创建哪个图表以及何时创建?.. UML 在需求和设计阶段的图表创建顺序应该是什么?
事实上,如果没有严格的顺序,那么首先我们需要严格地创建结构图,但是像活动图这样的行为可能会根据用户体验而改变?
我们可以单独创建一个部署图和组件图吗?
对于此类图表的顺序,绝对没有规则。
有时,当数据结构和域模型的行为很容易定义或记录良好时,创建类图首先允许更清晰的抽象,这有助于创建有意义的序列图。
在其他情况下,当域模型的性质未知或不清楚时,首先创建一个序列图,然后从中收集类会更有意义。
我可以肯定的是,这些图的修订将彼此同时进行(例如,序列图可能会揭示一些在类图中没有考虑到的东西,反之亦然)。
同样,在开始软件开发之后,这些图表可能会再次发生变化,因为无论是通过单元测试还是用户体验测试等等,更直观或更可维护的抽象和设计都会显示出来。
永远不要迷恋这些图表在任何方面都是僵化的,因此需要按顺序创建——相信我,他们不会的。如果您将它们视为死板和绝对可靠的,那么您就是在自取其辱,并且在您的软件开发工作中将一只手臂绑在身后。
更新正如评论中所反映的,如果您真的不知道首先要使用什么图,那么早在需求收集阶段,用例图就非常重要。
除此之外,我上面写的也适用。
我同意 Jon 和 Pete 的观点,但恭敬地补充说,UML 是变化的内容和方式。有像 OOA 和 OOD (OOAD) 这样的过程来描述 UML 的方式和内容。wiki 文章很有帮助,但它的工作原理更像这样。开发的许多 RUP 过程也涉及到 UML 的方法。
用户参与项目的标准订单集(再次使用您需要的): 1. 用例(专注于用户/系统交互。2. 深入研究用例的活动/序列。3. 组件/接口图,如果您正在连接系统。 4. 如果您正在进行大型 OO 构建,则为包/类。 5. 部署以显示基础设施中的位置。
我上面列出的模型/图表元素没有什么神奇之处,但这似乎是常见的集合。
事实上,如果没有严格的顺序,那么首先我们需要严格地创建结构图,但是像活动图这样的行为可能会根据用户体验而改变?
形式服从功能。如果您需要改变行为,那么您很有可能需要改变产生该行为的结构。
用例分析是从需求中捕获目标的有效方法。使用用例描述来识别您的域对象并生成域模型。我发现 CRC 在这个阶段很有用,即使它不是官方的 UML。一旦我生成了我的域模型,我就会为每个用例生成一个序列图。尽管活动图也是一个有用的替代方案。我将域模型解析为更详细的类模型。在此阶段,可以直接生成部署模型。