包图
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
2015-4-10
4
袁涛 孔蕾蕾
统一建模语言UML –包图(Package Diagram)
9.1 基于包的系统静止状态下的结构建模
在你分析设计软件系统时,随着对用户需求 的分解,软件系统的功能越分越小,越分越 多,相应的模型也越建越多,最终我们很难 识别诸多模型的建模元素(Element)的归属 我们急需要按照某种要求来划分这些建模元 素的所属范围,以便我们更容易理解所建的 诸多UML模型和它们的建模元素的作用
java::util
Date
java::util::Date
(a)
2015-4-10
(b)
20
袁涛 孔蕾蕾
图9-5 用双分号(::)隔开的命名空间表示嵌套的包
统一建模语言UML –包图(Package Diagram)
9.3 包图的表示方法
9.3.1 包 9.3.2 包中元素的可见性 9.3.3 包之间的关系
包之间有三种关系:
访问(Access) 导入(Import) 合并(Merge)
UML用带开箭头的虚线来表示包之间的关系
2015-4-10
24
袁涛 孔蕾蕾
统一建模语言UML –包图(Package Diagram)
9.3.3 包之间的关系
1.访问(Access) 2.导入(Import) 3.合并(Merge)
2015-4-10
25
袁涛 孔蕾蕾
统一建模语言UML –包图(Package Diagram)
1. 访问
包的访问关系详细的说明了被导入的元素具 有私有的可见性 UML用构造型<<access>>加在虚线上表示 包之间的访问关系
2015-4-10
26
袁涛 孔蕾蕾
统一建模语言UML –包图(Package Diagram)
2.导入
包的导入关系指目标包中的内容将被导入到 源包中 目标包中的私有成员是不能被导入的 导入关系用构造型<<import>>加在虚线上表 示
2015-4-10
30
袁涛 孔蕾蕾
统一建模语言UML –包图(Package Diagram)
2.导入
security users +Credentials
2015-4-10
5
袁涛 孔蕾蕾
统一建模语言UML –包图(Package Diagram)
9.1 基于包的系统静止状态下的结构建模
UML 包图(Package Diagram)是一种有效的建模工具,它为基 于包(Package) 的系统在静止状态下的结构建模 在UML包图中,每个包如同操作系统中的文件夹,我们根据需 要建立相应的文件夹结构,然后,把相应的模型和模型元件放 入其中 这样在我们查找某个模型或模型元件时,我们知道它们在哪里 因为用例图和类图在设计和开发中更倾向于扩张,所以,包图 最常见的是用于用例图中的用例和类图中的类的分群,以便保 持用例图和类图在系统功能上的清晰划分 实际上包图可以应用于任何UML建模图中,这完全取决于建模 是子系统或某种区分的需要
图9-3包security及其中元素的另一种表示方法
2015-4-10
17
袁涛 孔蕾蕾
统一建模语言UML –包图(Package Diagram)
9.3.1 包
系统自身定义了最外层的命名空间,它是所 有名字的基础 它是一个包,通常还带有几层嵌套的包,直 到得到最终基本元素的名字为止
2015-4-10
1. 访问
security users 《access》 User +Credentials +IdentityVerifier -MD5Crypt
图9-6 具有访问关系的包图
2015-4-10
27
袁涛 孔蕾蕾
统一建模语言UML –包图(Package Diagram)
1. 访问
该例中,users被称为源包(Source Package),security被称为目标包(Target Package) 这个例子表示包users要用到包security中的 元素 由于可见性的原因,users中的元素User只 能使用security中的元素Credentials和 IdentityVerifier,而不能使用MD5Crypt
第9章 包图(Package Diagram)
9.1 9.2 9.3 9.4 基于包的系统静止状态下的结构建模 包图 包图的表示方法 总结
2015-4-10
3
袁涛 孔蕾蕾
统一建模语言UML –包图(Package Diagram)
第9章 包图(Package Diagram)
9.1 9.2 9.3 9.4 基于包的系统静止状态下的结构建模 包图 包图的表示方法 总结
9.3 包图的表示方法
9.3.1 包 9.3.2 包中元素的可见性 9.3.3 包之间的关系
2015-4-10
12
袁涛 孔蕾蕾
统一建模语言UML –包图(Package Diagram)
9.3 包图的表示方法
9.3.1 包 9.3.2 包中元素的可见性 9.3.3 包之间的关系
9.3.1 包
第二种表示方法是用实线将包和包中的元素 连接起来 这种包含关系用接近包那一端的带有加号的 圆圈来表示
2015-4-10
16
袁涛 孔蕾蕾
统一建模语言UML –包图(Package Diagram)
9.3.1 包
security
Credentials
IdentityVerifier
2015-4-10
6
袁涛 孔蕾蕾
统一建模语言UML –包图(Package Diagram)
第9章 包图(Package Diagram)
9.1 9.2 9.3 9.4 基于包的系统静止状态下的结构建模 包图 包图的表示方法 总结
2015-4-10
7
袁涛 孔蕾蕾
统一建模语言UML –包图(Package Diagram)
9.2 包图
UML包图展示了包和它们之间的关系,它的抽 象表达方式为: 包图 = 包 + 关系 Package Diagram = Package + Relationship
2015-4-10
9
袁涛 孔蕾蕾
统一建模语言UML –包图(Package Diagram)
9.2 包图
UML包图的语义简单,但意义重大,它用 UML符号表示模型元素的组合 系统中的每个元素都只能为一个包所有,一 个包可嵌套在另一个包中 使用包图可以将相关元素归入一个系统 一个包中可包含附属包、图表或单个元素
-MD5Crypt
图9-8 包中元素导入关系的示意图
2015-4-10
33
袁涛 孔蕾蕾
统一建模语言UML –包图(Package Diagram)
2.导入
包的access关系和import关系的区别:
如果包users被导入到另一个包Z中,如果users和 security是access的关系,则Z中的元素是看不到包 security中的元素Credentials和IdentityVerifier的,即包 security中的元素Credentials和IdentityVerifier对包Z中的 元素来说,其可见性是private 如果包users和包security是import的关系,那么,包Z中 的元素是可以见到包security中的元素Credentials和 IdentityVerifier的,也就是说,包security中的元素 Credentials和IdentityVerifier对包Z中的元素来说,其可 见性是public
9.2 包图
包提供了一种分类相关UML元素和定义命名 空间(Namespace)的方法。几乎所有的UML 元素都可以用包来分组,而且包还可以嵌套 包的本质意义在于下面三点:
在逻辑上把一个复杂的模型模块化 按一定的规律为相关元素分组 定义命名空间
2015-4-10
8
袁涛 孔蕾蕾
统一建模语言UML –包图(Package Diagram)
18
袁涛 孔蕾蕾
统一建模语言UML –包图(Package Diagram)
9.3.1 包
java
util
Date
图9-4 嵌套的包
2015-4-10 19
袁涛 孔蕾蕾
统一建模语言UML –包图(Package Diagram)
9.3.1 包
如果用图9-4的形式表示多层的嵌套将很麻 烦,UML用双分号(::)隔开的命名空间的 形式来表示这种嵌套关系
User
《import》
+IdentityVerifier
-MD5Crypt
图9-7 具有访问关系的包图
2015-4-10
31
袁涛 孔蕾蕾
统一建模语言UML –包图(Package Diagram)
2.导入
这个例子表示包users中的元素可以访问包 security中的元素Credentials和 IdentityVerifier
2015-4-10 34
袁涛 孔蕾蕾
统一建模语言UML –包图(Package Diagram)
9.3.3 包之间的关系
1.访问(Access) 2.导入(Import) 3.合并(Merge)
2015-4-10
13
袁涛 孔蕾蕾
统一建模语言UML –包图(Package Diagram)
9.3.1 包
UML使用一个左上部带有标签的矩形表示包
security
图9-1包security
2015-4-10
14
袁涛 孔蕾蕾
统一建模语言UML –包图(Package Diagram)
9.3.1 包
2015-4-10 28
袁涛 孔蕾蕾
统一建模语言UML –包图(Package Diagram)
9.3.3 包之间的关系
1.访问(Access) 2.导入(Import) 3.合并(Merge)
2015-4-10
29
袁涛 孔蕾蕾
统一建模语言UML –包图(Package Diagram)
包中元素的表示方式有两种,一是在包中用 矩形画出这些元素,这种方法下,包的名称 就可以放在包图左上部的标签中
security
Credentials IdentityVerifier
2015-4-10
图9-2 包security及其中元素
15
袁涛 孔蕾蕾
统一建模语言UML –包图(Package Diagram)
2015-4-10
21
袁涛 孔蕾蕾
统一建模语言UML –包图(Package Diagram)
9.3.2 包中元素的可见性
包中元素的可见性主要有下面三种:
+ : 表示公共的可见性(public),这类元素可以被 包外部的所有元素访问 # : 表示受保护的可见性(protected),种类元素 仅可被继承自该包的子包中的元素所访问 -: 私有可见性(private),这类元素不能被包外 部的元素访问
Hale Waihona Puke Baidu
2015-4-10
32
袁涛 孔蕾蕾
统一建模语言UML –包图(Package Diagram)
2.导入
security users User security::Credentials security::IdentityVerifier 《import》 +Credentials +IdentityVerifier
2015-4-10
10
袁涛 孔蕾蕾
统一建模语言UML –包图(Package Diagram)
第9章 包图(Package Diagram)
9.1 9.2 9.3 9.4 基于包的系统静止状态下的结构建模 包图 包图的表示方法 总结
2015-4-10
11
袁涛 孔蕾蕾
统一建模语言UML –包图(Package Diagram)
2015-4-10
22
袁涛 孔蕾蕾
统一建模语言UML –包图(Package Diagram)
9.3 包图的表示方法
9.3.1 包 9.3.2 包中元素的可见性 9.3.3 包之间的关系
2015-4-10
23
袁涛 孔蕾蕾
统一建模语言UML –包图(Package Diagram)
9.3.3 包之间的关系
统一建模语言UML –包图(Package Diagram)
统一建模语言UML
第9章 包图(Package Diagram)
1
袁涛 孔蕾蕾
统一建模语言UML –包图(Package Diagram)
上一节课我们学了什么呢?
2015-4-10
2
袁涛 孔蕾蕾
统一建模语言UML –包图(Package Diagram)