【发布时间】:2016-02-08 17:34:25
【问题描述】:
我正在使用 UML 2.0 表示法为类图设计基于 java 的系统的类(使用 Astah)。
为了简化类之间的依赖关系,我想将一些类分组到一个包中,并将其他一些类的依赖关系放到包中。
是把包放在类图中,然后写出类和包之间的关系,符合UML 2.0规范吗?
包应该只放在包图中吗?
【问题讨论】:
-
我猜你的意思是接线而不是写关系?
我正在使用 UML 2.0 表示法为类图设计基于 java 的系统的类(使用 Astah)。
为了简化类之间的依赖关系,我想将一些类分组到一个包中,并将其他一些类的依赖关系放到包中。
是把包放在类图中,然后写出类和包之间的关系,符合UML 2.0规范吗?
包应该只放在包图中吗?
【问题讨论】:
首先,UML 中的各种图表(“类图”、“包图”、“序列图”等)更多的是概念上的便利,而不是限制您可以可视化的内容,如附件 A 中所述:
附件 A
此分类法为各种主要类型的图表提供了一个逻辑组织。然而,它不 避免混合不同类型的图表类型,就像将结构和行为结合在一起时可能会做的那样 元素(例如,显示嵌套在内部结构中的状态机)。因此,两者之间的界限 各种图表类型没有严格执行。
这意味着您可以安全地将包放入类图中,反之亦然,因为这些术语意义不大。
然而,更重要的问题是,类和包之间是否存在依赖关系,根据规范我们可以:
7.7.3.2
Usage 是一种依赖关系,其中一个 NamedElement 需要另一个 NamedElement(或一组 NamedElements)用于 其全面实施或运作。用法没有指定客户如何使用供应商,除了以下事实: 供应商由客户的定义或实现使用。
由于Class 和Package 都是NamedElement 的子类,因此您可以在它们之间使用Dependency。
【讨论】: