基本介绍:
包图主要用于构建整个系统或系统局部的关联关系,由粗到细将杂乱的东西进行归类和再组织。包图的主要目的是将相关的模型元素组合在一起,形成一个逻辑上的分组,以便于管理和理解复杂的系统结构。
包类似于一个容器,可以表示功能打包、软件包、工作打包、甚至包图自己……不限制元素类型,只要它能有助于你理清思路和逻辑,包图的目的就达到了。
包图的应用场景:
比如,我们遇到一个框架庞大,功能繁杂的B端系统后台,这种时候我们使用类图将会是一个灾难性的工作,而包图就可以帮助我们快理清业务大类,高纬度的概括性完成初步总结,再详细展开。
看懂包图:
顾名思义就是一个个包组成,UML中的包图元素长得很像文件夹,如下图:
包名通常放在文件夹或矩形的顶部。包内的元素可以用不同的符号表示,如类、接口等。包之间的依赖关系可以用带箭头的线来表示,箭头指向被依赖的包。
属性示意:
- 公有访问(+):表示包内的元素可以被任何引入了此包的其他包的内含元素访问。
- 保护访问(#):表示此元素能被该包的子包内所含元素访问。
- 私有访问(-):表示此元素只能被属于同一包的内含元素访问,外部无法访问。
关系
在UML包图中,这些关系有助于描述系统的结构和组件之间的交互。以下是您提到的每种关系的简要说明:
- 依赖关系(Dependency):
- 表示一个包(或包内的元素)需要使用另一个包中的元素。
- 这通常意味着一个包中的类调用了另一个包中的类的方法,或者使用了另一个包中的接口。
- 在UML中,依赖关系用虚线箭头表示,箭头指向被依赖的包或元素。
- 继承关系(Generalization):
- 表示类与类之间或接口与接口之间的父子关系。
- 子类继承父类的属性和方法,或接口的实现类实现接口中定义的方法。
- 在UML中,继承关系用实线箭头表示,三角形指向父类或被实现的接口。
- 组合关系(Composition):
- 表示一种严格的’拥有’关系,体现了严格的部分和整体的关系,部分和整体的生命周期一样。
- 这意味着一个类在其生命周期内严格地包含另一个类的对象,且部分和整体具有相同的生命周期。
- 在UML中,组合关系用实心菱形和实线来表示,菱形指向整体的部分。