首页
学习
活动
专区
圈层
工具
发布

UML差异
EN

Software Engineering用户
提问于 2020-02-23 14:07:51
回答 2查看 140关注 0票数 -5

ClassActor在UML中的区别是什么?我是否可以在用例图中使用一个参与者,它在类图中用作类?

EN

回答 2

Software Engineering用户

发布于 2020-02-23 15:20:10

我想知道,UML中的类和Actor有什么区别?

现成的定义如下:

  • 类是对象的蓝图。对象是数据和行为的封装。好的,并不总是正确的,因为有静态类。
  • 演员是与你的系统交互的用户。嗯,…将“用户”改为外部实体。有时外部实体不是用户,但它被使用。通常情况下,演员并不总是代表用户的角色。

UML定义是比较复杂的,我试图在这里压缩它们:

首先,我们需要说有分类器。分类器既是类型(如数据类型),也是命名空间。它包含了相互关联的“事物”。

接下来,类是一个分类器,它包含属性(状态)和操作(行为)。还值得注意的是,有一些类的实例,我们称之为对象。

最后,Actor也是一种分类器。然而,它们是在系统之外的。因此,我们没有在它们内部定义任何东西。参与者将参与到用例中,用例来建模与它们的交互。用例是由参与者发起的。

请注意,UML标准涉及许多技术问题。对于常规使用来说,所有这些技术性都是不必要的,它很少有用,而且可能是有害的。实际上,您应该对将要使用的编程语言的技术细节更感兴趣。

我还想知道我是否在用例图中使用了一个参与者?

你一直在用什么?

也许造成混乱的根源是存在着演员继承。当一个参与者从另一个参与者继承时,这意味着对于基本参与者来说,所有的东西都是对派生的参与者是正确的。这对于建模角色很有用。

同样值得注意的是,演员不一定是人。它可以是任何外部实体。是的,它将包括另一个系统中的一个类。

另一个可能引起混淆的原因是表象。您可能知道,可以在guillemets (a.k.a )中将原型作为标记添加。角引号。横向双切面)。然而,原型也可以定义一个图标。然后,您可以使用图标来表示应用原型的元素。

例如,我们可以为数据库参与者定义一个原型,它以传统的柱状数据库表示为图标。然后你可以用那个圆柱形图标来代表那些演员。这就是扩展UML的方式。

事实证明,UML预先定义了一些原型.包括那些看上去像天线的界面的圆圈。是的,演员的棍子形象是一种刻板印象。

现在,所有分类器都可以表示为矩形。您可以在角落中使用带有原型图标的矩形,也可以将原型作为标签放在guillemets中。因此,使用带有actor原型标记的名称(就像类或任何其他实体)的矩形表示参与者是有效的。

请不要那样做。唯一的借口是对工具的限制。那我就谴责你选择的工具。

在类图中使用的类

我不确定我在分析。所以我会掩护我的基地。

是的,您在类关系图中使用类。在用例图中使用参与者。

把它们混合在一起是不明智的。为什么?类是结构化的。用例是行为。

如果您将一个类放在用例图中,我将理解它是系统与之交互的某个组件。也就是说,我会假设它是个演员。如果您在类图中放置了一个参与者,我会说"wtf!",然后我会问您指的是RobertC.Martin使用的那些网关类中的一个(它的职责是实现一个用例)。

您真正想要的可能是从用例图到某些类图之间的桥梁。当然,您有用例,但是其中涉及哪些类?

如果这是您所需要的,那么您可以在指定用例的地方创建文档。如果您想在UML的帮助下进行操作,我将向您介绍序列图、活动图和交互图。

票数 1
EN

Software Engineering用户

发布于 2020-02-23 15:18:59

作为已应答的巴特范英根施诺,

在UML中,Actor总是指超出您正在构建的系统/软件范围的东西(系统或人)。将一个参与者等同于某个类的实例/对象是完全错误的,而这个实例/对象恰好是在您的系统中对参与者的某些方面进行建模。在所示的UML 图解中,参与者"User“(带有它的贴图图标)代表了操作您的系统的现实世界中的人。类用户表示该人的模型,该模型捕获与您相关的特征。此类仅存在于系统中。这使得类和参与者是两个不同的实体,并且应该在图表中显示为这样的实体。

虽然与你的职位没有直接关系,但这可能会对你有所帮助。

票数 0
EN
页面原文内容由Software Engineering提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://softwareengineering.stackexchange.com/questions/405618

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档