包图
包图
一、什么是包图
包图的英文名为Package Diagram,Package这个英文单词有”将……打包“的意思,这个意思能恰好地表达包图的真正内涵。
包(Package)只是一个容器,他可以放任意的UML图进去(包括包图自己),而且一个包图内可以放入不同种类的UML图。
但要注意的是不同的UML工具对包图的支持程度不太一样,不一定能将任意的UML图放入包图。
二、语法
包图可能是语法最简单的一种UML图,一个文件夹样子的东西就是一个包,包可以嵌套(层次不限),包之间最常见的关系是依赖(Dependency)关系。
包图里可以包含多个包,而包的嵌套层数是不受限制的。
三、应用场景
包图是一个逻辑上的概念,而不是物理上的概念。
包图主要用来组织我们的思路,最常见的三种应用场景是:
Ⅰ. 用包图组织类图
有人喜欢用包图有条理德组织好类图,有人喜欢在一张巨大的类图中画出所有类,而我们喜欢用多张类图来表达。其实不管怎样的表达方式,类及类之间的关系模型是唯一的,只是我们通过怎样的角度和方式进行展示而已。那么用哪种方式表达最好呢?没有标准答案,完全取决与你,每个人都可以由属于自己的有效表达方式。
Ⅱ. 用包图组织用例
用例太多很容易看晕,咋办?你可以用包图来组织用例,可以之将用例放入包中,也可以将执行这和用例都放入包中,但要注意的是,不是所有UML工具都支持你这样做的。而我则很少用包图来组织用例图,我通常通过多个用例图,充分利用执行者的继承关系,以及用例的Extend和Include关系来组织好用例图。
Ⅲ. 用包图进行软件设计
在我的实际工作当中,需求分析工作中用到包图的的机会不是很多,而在软件设计时经常用到包图,我们可以使用包图来进行软件架构设计,也可以综合应用包图、部署图、构件图来进行架构设计。