问题标签 [object-diagram]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
3 回答
4197 浏览

uml - UML 中的 {XOR} 约束如何工作?

我对我们在 UML 中使用 {XOR} 约束的正确程度有一些疑问。

在此处输入图像描述

我理解它是如何以两种不同的方式工作的。哪一个是正确的?

  1. xor 约束适用于关联。(或者:A 类型的对象可能与 C 类型的 1 个对象相关联;或者:A 类型的对象可能与 B 类型的零个或 1 个对象相关联;或者:对象 A 可以单独存在,因为我们有 [ 0..1] 靠近 B)。

  2. xor 约束适用于链接(或者:A 类型的对象必须与 C 类型的一个对象关联;或者:A 类型的对象必须与 B 类型的一个对象关联)。

0 投票
2 回答
209 浏览

uml - UML:为什么在 Visio 2003 的对象图中不显示关联?

我正在使用 Visio 2003;全称是Microsoft Office Visio for Enterprise Architects (11.8328.8405) SP3

我有 2 节课JobTask. 这些是规则:

  • 每个Job都有 1 个或多个对应Task的 s。
  • 没有aTask就不能存在Job

这是我构建的类图,其中包括 2 个和 1 个组合关联

类图

现在我正在尝试构建Object Diagram。假设我有一个包含 3 个任务的 Job Close Payroll :

  1. 运行工资单
  2. 验证工资单数据
  3. 传送工资单

到目前为止,我以这种方式创建了对象图:

对象图

我遇到的问题是Object Diagram中的关联。Job我期待和之间的关联Task将自动显示在Object Diagram中,就像它在Class Diagram中定义的方式一样。但它没有发生。我在这里做错了什么?我是否必须在对象图中再次定义该关联?我希望不是。

谢谢

0 投票
1 回答
96 浏览

uml - 我可以从 UML 中的对象图制作类图吗?

据我所知,对象图是UML中类图的真实案例,是否可以从对象图中绘制类图?(当然只给出对象图上出现的类)。

0 投票
1 回答
565 浏览

java - 从java程序生成对象UML图

有没有一种方法可以从我为我的项目创建的文件中生成对象 UML 图。.jar我想将输入提供给 jar,然后生成 Object UML 图。为了生成和可视化类图,我使用了类可视化工具,但找不到用于生成对象 uml 图的工具。

0 投票
1 回答
139 浏览

java - UML 对象图:父或子

假设我有以下课程:

它的子类之一是:

让我们考虑另一个类:

绘制对象图时foo我不知道是否必须写ChildClass

在此处输入图像描述

或者ParentClass

在此处输入图像描述

0 投票
3 回答
308 浏览

uml - 如何在 UML 对象和序列图中分别显示同一对象的引用类型和对象类型

在此处输入图像描述 该图显示了示例类图和序列图中这些类的对象的用法。

在上图中,myCar可以通过 ShowroomItem的引用或接口Vehicle的引用来引用。因此,客户 Driver/SalesEngineer 将获得功能访问权限。

我同意在实现阶段(例如Java),这里不需要类型标识,我们将myCar 视为自己使用的基本类型(任一接口)的实例。

但是在序列图中,(为了清楚起见)我无法指出myCarDriver的引用应该是Vehicle,而SalesEngineer的引用应该是ShowroomItem

我在 UML 2.0 书籍中搜索,我没有得到合适的符号。根据目前的理解,我可以将其显示为"myCar : Vehicle""myCar : ShowroomItem",但这并不表示它的汽车对象称为接口。这个缺点并不强制 playMusic 在称为 Vehcile 时不能工作。

有没有任何符号可以显示这种细节?

由于我对提供的任何答案都不满意,因此我尝试添加以下内容以使问题更加清晰,解决答案中提出的一些异议,并提出一种解决方案供专家审查。

看评论,我觉得要么人们没有得到核心问题,要么我没有突出核心问题。首先让我演示代码不会中断。以下代码允许 SalesEngineer 使用 sell() 和 buy() 功能访问 Abstraction,而 Driver 可以仅使用 start() 和 stop() 功能访问 Abstraction [按这种方式设计]。这是向不同客户端发布不同抽象的接口的一个最强特性。Java 集合使用相同的多种基本类型,即TreeSet 中的ObjectComparable,一种用于 equals(),另一种用于实体上的 compare()。

在参考了 Jim Arlow 的“UML 2 和统一流程”之后,我发现我们可以在序列图中显示生命线上不断变化的状态。我觉得我们可以使用类似的符号来显示不断变化的类型对象[我没有在 UML 的任何地方看到这个记录,但它是我对 UML 组的建议]。

例如,这里的 myCar 是其类 Car 的对象(对象类永远不能更改),但它的引用类型根据左侧的不同而有所不同,如 ShowroomItem 或 Vehicle。

可能是下面的序列图可以显示它。[示例类仅用于突出自动类型转换效果]

在此处输入图像描述