包图
1.包图
1.1概念
包图是UML中用来组织模型元素的模型元素。
可以把包图比作一个存放模型元素的箱子或者是容器,里面可以可以存放各种各样的模型元素。
包图中可以包含的信息主要有:类 构件 用例 结点 活动 状态 等其他的相关的模型元素。
1.2包图的表示
1.3包的命名
- 表示符组成,并且能够表示包的含义的名字。
- 包的名字放到包的顶部,或者包的内部。
包中的成员:就是包中包含的元素。和概念中的包含的东西是一致的。包中有什么东西。包图中就是可以存放什么东西的。
包中成员的命名规则
- 不可以重复
- 非限定名:不包含包的名字
- 限定名的形式。B::货品
包的可见性
- 公有
- 私有
- 受限
下面是常见的可见性的表示。
补充:如何设置可见性
可以选中我们的元素。点击属性可以设置元素的可见性。不同的可见性的表示的符号是不同的。
1.4包图
展示包与包之间关系的图。
1.5包之间的关系
1.依赖:一个包要访问另外一个包中的元素。则这两个包之间存在依赖关系。A依赖于B,那么A指向B。
依赖关系的类型
- 使用
- 抽象
- 跟踪
(1)使用:一个包中的元素要使用到另外一个包中的元素。
(2)抽象:一个包中的元素对另外一个包元素的抽象。则两个包之间存在抽象。
(3)一个包中的元素对另外一个包元素的深化。则两个包之间存在跟踪关系。
2.导入:将A包导入到B包中。使得导入到B包中的A包中的元素在B包中访问程度等于访问B包中的元素。
导入任意元素。
导入包中的全部的元素。
导入指定的元素:
导入包中的全部内容:
3.合并关系:合并关系是指将源保重的元素合并到目标包中,实现扩展的效果。
合并之后,源包中的特性在自己原有的特性的基础上增加目标包的特性。
原先B包中只有如下的内容
A包中原先的内容
合并之后B包中内容
4.包含关系:是指一个包可以嵌套另外一个包作为自己的包。可以实现多层次的嵌套的。子包可以有自己的子包的。
内层包可以不用导入,直接访问外层包中的元素,但外层包要访问内层包的元素需要导入。
1.7包的设计原则
重用等价:相同的类尽量放到一个包中
共同重用原则:一个应用经常用到的多个模型放置到一个包中。减少包之间的依赖关系,提高包的独立性。
共同封闭原则:把可能同时修改,同时维护的模型元素放到一个包中。便于升级和维护。
无循环依赖原则:包之间依赖关系不要形参循环
稳定依赖原则:一个包应该依赖比它稳定的包,不应该依赖经常变化的包
1.8包图的作用
- 利用包图可以有效的组织模型元素
- 可以建立软件结构模型
- 可以解决元素名称的问题