我应该使用UML跟踪还是实现

问题描述 投票:4回答:2

我有一个逻辑数据模型和不同系统的多个物理数据模型,所有这些都记录在UML中。我想展示物理模型中的数据如何追溯到逻辑模型,以便在对逻辑模型进行更改时,我们可以轻松确定所有受影响的物理模型。

这些关系最好表现为追踪或实现吗?我怀疑答案是“追踪”,但是想要在投入太多时间之前看到其他人的想法并且错误。跟踪或实现关系是否提供了在此上下文中有用的额外语义?

uml data-modeling
2个回答
2
投票

这些关系最好表示为跟踪,即与构造型<< trace >>的依赖关系。跟踪旨在关联不同模型中的元素,这正是您的情况。

UML 2.5.1规范将跟踪构造型定义为“标准配置文件”(第22.3节)的一部分,如下所示:

指定在不同模型中表示相同概念的模型元素或模型元素集之间的跟踪关系。跟踪主要用于跟踪模型之间的需求和变化。由于模型更改可以在两个方向上发生,因此通常可以忽略依赖性的方向性。映射指定了两者之间的关系,但它很少可计算,通常是非正式的。

尽管UML规范也广泛地定义了实现关系以满足您的目的,但UML规范中的示例(例如图7.21)以及我在实际项目中使用的这种关系的方式使我得出这样的结论关系主要用于关联同一模型中的元素,特别是具有实现这些接口的类的接口元素。


5
投票

到目前为止我的解释(故意引用):“我通常使它们成为<<trace>>依赖关系.Realization介于接口或抽象类和'常规'类之间。物理模型源自逻辑模型,而不是1:1实现。在大多数情况下,您在物理层面上进行了修改,而逻辑模型中没有预见到这些修改(在数据库级别上需要进行非规范化和各种优化)。不管怎么说,这是一种实现。“

然而,这是纯粹的事实,这就是UML规范在p上所说的。 54:

7.8.14实现[类]

实现是两组模型元素之间的专门抽象关系,一组代表规范(供应商),另一组代表后者(客户端)的实现。实现可用于模拟逐步细化,优化,转换,模板,模型合成,框架组合等。

所以你可以在这里实现一个实现。 <<trace>>更加非正式,但不一定错。

© www.soinside.com 2019 - 2024. All rights reserved.