Class和Actor在UML中的区别是什么?我是否可以在用例图中使用一个参与者,它在类图中用作类?
发布于 2020-02-23 15:20:10
我想知道,UML中的类和Actor有什么区别?
现成的定义如下:
UML定义是比较复杂的,我试图在这里压缩它们:
首先,我们需要说有分类器。分类器既是类型(如数据类型),也是命名空间。它包含了相互关联的“事物”。
接下来,类是一个分类器,它包含属性(状态)和操作(行为)。还值得注意的是,有一些类的实例,我们称之为对象。
最后,Actor也是一种分类器。然而,它们是在系统之外的。因此,我们没有在它们内部定义任何东西。参与者将参与到用例中,用例来建模与它们的交互。用例是由参与者发起的。
请注意,UML标准涉及许多技术问题。对于常规使用来说,所有这些技术性都是不必要的,它很少有用,而且可能是有害的。实际上,您应该对将要使用的编程语言的技术细节更感兴趣。
我还想知道我是否在用例图中使用了一个参与者?
你一直在用什么?
也许造成混乱的根源是存在着演员继承。当一个参与者从另一个参与者继承时,这意味着对于基本参与者来说,所有的东西都是对派生的参与者是正确的。这对于建模角色很有用。
同样值得注意的是,演员不一定是人。它可以是任何外部实体。是的,它将包括另一个系统中的一个类。
另一个可能引起混淆的原因是表象。您可能知道,可以在guillemets (a.k.a )中将原型作为标记添加。角引号。横向双切面)。然而,原型也可以定义一个图标。然后,您可以使用图标来表示应用原型的元素。
例如,我们可以为数据库参与者定义一个原型,它以传统的柱状数据库表示为图标。然后你可以用那个圆柱形图标来代表那些演员。这就是扩展UML的方式。
事实证明,UML预先定义了一些原型.包括那些看上去像天线的界面的圆圈。是的,演员的棍子形象是一种刻板印象。
现在,所有分类器都可以表示为矩形。您可以在角落中使用带有原型图标的矩形,也可以将原型作为标签放在guillemets中。因此,使用带有actor原型标记的名称(就像类或任何其他实体)的矩形表示参与者是有效的。
请不要那样做。唯一的借口是对工具的限制。那我就谴责你选择的工具。
在类图中使用的类
我不确定我在分析。所以我会掩护我的基地。
是的,您在类关系图中使用类。在用例图中使用参与者。
把它们混合在一起是不明智的。为什么?类是结构化的。用例是行为。
如果您将一个类放在用例图中,我将理解它是系统与之交互的某个组件。也就是说,我会假设它是个演员。如果您在类图中放置了一个参与者,我会说"wtf!",然后我会问您指的是RobertC.Martin使用的那些网关类中的一个(它的职责是实现一个用例)。
您真正想要的可能是从用例图到某些类图之间的桥梁。当然,您有用例,但是其中涉及哪些类?
如果这是您所需要的,那么您可以在指定用例的地方创建文档。如果您想在UML的帮助下进行操作,我将向您介绍序列图、活动图和交互图。
https://softwareengineering.stackexchange.com/questions/405618
复制相似问题