8.1 UML包和命名空间;包符号;包及其内容 2021-12-08

 OCUP 2 UML 2.5
P128

 8. 

8.1  包的符号

PACKAGE 的 UML 符号。 形状是一个长方形的体,左上角有一个标签。 如果我们不想显示任何内容,我们将包的名称放在中间,见图 8.1。

8.1.1 包及其内容

如果我们确实想显示包的内容,我们用我们希望描绘的图表元素替换居中的名称,将名称写到选项卡上,见图 8.2。在图中,我们将 Package MyPackage 显示为包含 Book 和 Book (myBook) 的一个实例

作为一个视图,包可以显示包中的许多其他元素,当前未在图中显示,由建模者选择。 我们几乎可以将任何东西放入 Package 中; 包不能包含的唯一内容是名称冲突的元素,因为包是名命空间,不允许重复名称。

类也是一个命名空间,它有一组属性(参见图中的类符号 Book),每个属性都有一个名称。 此外,属性或操作不允许重名(在大多数情况下)。 属性操作是类的成员,因为包中的元素是包的成员。



显示包的第三种方式使建模者可以更灵活地安排图表。在这种方法中,如图 8.3 所示,我们使用“ O ”符号将包符号连接到拥有的元素。在 UMI 中,我们使用 "O" 表示包或命名空间包含,将命名空间连接到单个命名空间成员。这种方法可以垂直或水平呈现,以树样式(如下所示)或单独或共享的“&”符号(如下所示)呈现。


所有这些包图都显示了包定义和拥有的模型元素。 由于一个元素只能在模型中定义一次,因此这些图没有多重性。 连接线不是关联; 它只是直接合并方法的简写。 Package MyPackage 包含(一个且唯一的)Class Book 和实例 mybook 的定义,因此不适合显示任何多重性。 我们可以在任何指明命名空间和包含的元素的地方使用“&”符号,尽管大多数工具只允许使用包和类似的元素。

UML 有另一种表示包及其成员元素的方式——让人联想到一个类,显示它自己的成员。 我们可以显示带有内部成员列表的包,如图 8.4 所示。 我们添加了另一个包 YourPackage 作为 MyPackage 的新成员。




8.1.2    包图


在上面的例子中,我们展示了独立的包。 在UML中,也可以绘制描述相同情况的图表,我们在图8.5中展示了图表方法。

This figure a Package Diagram (because it shows Packages in the diagram)that shows thecontents of the Package MyPackage. If we did not show YourPackage member in the diagram, we might classify the figure as a Clase Diagram that depicts thecontent of MyPackage Package. Remember that the diagram header "pkgMyPackage" indicates that the diagram is a Package Namespace whose name isMyPackage. The type of diagram is mainly determined by the preponderance of Elements.

这个图是一个包图(因为它在图中显示了包),它显示了包 MyPackage 的内容。如果我们没有在图中显示YourPackage 成员,我们可能会将图归类为描述 MyPackage 内容的类图 包裹。 请记住,图标题“pkg MyPackage”表示该图是一个名为MyPackage 的包命名空间。图的类型主要由元素的优势决定。


8.1.3 统一资源标识符


一个包可能有一个可选的 URI(统一资源标识符)与之关联。 此 URI 是任何字符串,但旨在成为标识包的位置和访问协议的唯一不变字符串。 实际上,URI 用于配置管理 (CM) 目的。 如果您将 CM 工具与 UML 工具一起使用,请查阅 CM 功能以确定这是如何工作的。 通常,您会看到类似文件描述符的内容指向 XMI 文件,后跟 # 和被引用包的名称。 我们在图 8.6 中显示了示例位置和格式。

但是,URI 是可选的,即使在使用时,它也不必是可取消引用的,尽管它应该是唯一且不可更改的。 如果两个包具有相同的 URI,它们应该是同一个包。 通过使用相同的 URI,不同的模型数据库或不同的UML 工具可以共享包,跨模型或版本,如果工具供应商已经实现了这个特性。



重点:

命名空间要求其元素具有唯一且可区分的名称。

包是一个命名空间。

类的隔间是一个命名空间。

包符号看起来像一个文件夹,左上角有一个选项卡,其中包含包的名称。

包的内容,如果没有省略,可能是

以图形方式显示在包体内

在包正文中以文字形式列出

在包侧使用以 a 开头的行连接到包

显示在图表中,图表标题中包含包名称。

一个包可以有一个 URI,它应该是一个唯一的不可更改的字符串,用于启用 CM 或跨项目共享。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
禁止转载,如需转载请通过简信或评论联系作者。
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 216,692评论 6 501
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,482评论 3 392
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 162,995评论 0 353
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,223评论 1 292
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,245评论 6 388
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,208评论 1 299
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,091评论 3 418
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,929评论 0 274
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,346评论 1 311
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,570评论 2 333
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,739评论 1 348
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,437评论 5 344
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,037评论 3 326
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,677评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,833评论 1 269
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,760评论 2 369
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,647评论 2 354

推荐阅读更多精彩内容