【问题标题】:Class diagram drawn from Use case description从用例描述中绘制的类图
【发布时间】:2016-04-05 16:23:08
【问题描述】:

我知道我可以从数据库 E-R 图构建类图(表变成类,表属性是类属性...)

但我正在寻找信息(或逐步类似)以从用例描述(甚至序列图)创建类图。

(我现在发现的只是序列图对象变成了类和刺激消息方法)

有什么想法吗?

【问题讨论】:

  • 听起来你是在倒退。你为什么这样做?
  • @JimL。这是我在课堂上讲的。老师说有两种构建类图的方法......第一种来自 E-R,第二种来自用例描述......所以从 E-R 来看它非常简单,但从用例描述来看我遇到了问题。问题是我找不到老师解释
  • 查看ICONIX进程。这曾经帮助过我。在这里描述太多了。
  • @ThomasKilian 好的。我会去做的。谢谢
  • 我很确定你的老师指的是文本用例描述而不是序列图。从该文本中,您可以推断出类、属性和操作。基于序列图对类图进行逆向工程似乎有点傻。

标签: uml


【解决方案1】:

我曾经在软件工程中担任 TA,从文本定义创建类图以及从序列图创建类图都是常规考试题。

从规范创建类图应该包含在您的讲座中,因为它是最重要的学习内容之一。 This site explains the workflow quite well in my opinion.

重要的是要注意,在软件工程中永远不会只有一种解决方案。您可以通过多种方式解决问题,每种方式都有自己的好处和问题。学习最重要的一步是自己动手,仅仅看解决方案对你没有帮助。

从序列图创建类图: 对象是类的实例,在大多数序列图中,任何给定类只有一个实例。因此,“对象成为类”在技术上并不正确,而是正确的意图。 消息代表对接收对象的方法调用,因此您需要将这些方法添加到接收对象的类中。

任何通信类都需要关联,否则它们不能调用它们的方法。

我们只关注对您可以从序列图中获得的信息进行建模,例如在大多数情况下,您不知道关联的多重性。

【讨论】:

  • 我不知道考试题,但我在现实生活中从未遇到过需要基于序列图构建类图的情况。如果您能够构建序列图,那么类和方法必须已经存在。如果这真的是一道考试题,那么我认为这是一道愚蠢的题。
  • @GeertBellekens 我赞成你的评论。需要注意的一件事:我使用序列图来添加缺失的操作,这是一种倒退。 MagicDraw 和其他工具可能允许您从序列图中添加缺失的操作和信号接收。
  • @GeertBellekens 当然,但是 OP 在大学/学校,他的老师提到从序列图创建类图,因此我提供了我关于该主题的知识。
  • @JimL。是的,在 EA 中,您也可以直接从 SD 将操作添加到生命线分类器。但我认为这更像是一种“并行建模”的情况,然后实际上是从 SD 逆向工程数据模型。
  • @Eashi 教授的意思是序列图还是用例的文字描述还不清楚。如果从文字描述开始会更有意义。
猜你喜欢
  • 1970-01-01
  • 2023-04-07
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-07-20
  • 2021-04-14
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多