1、概念
当对一个比较复杂的软件系统进行建模时,会有大量的类、接口、组件、节点和图需要处理;如果放在同一个地方的话,信息量非常的大,显得很乱,不方便查询,所以就对这些信息进行分组,将语义或者功能相同的放在同一个包中,这样就便于理解和处理整个模型。
而包图就是描述包与包之间的关系。
2、包的元素
类、接口、构件、节点、协作、用例、图和子包。需要注意的是:一个元素只能属于一个包。
每一个包就是一个独立的命名空间,两个不同的包之中可以有相同的元素名,只是所处的包不同,其全名不同。
3、包的可见性
包的可见性 | 访问权限 |
“+” --public |
公共元素对所有引入的包以及他们的后代都可见 |
“#”--protected |
只对那些与包含这些元素的包有泛化(继承)关系的包可见 |
“-”--private |
对包外元素完全不可见 |
4、包图中的关系
依赖关系
如果一个包要访问或者导入另一个包中的元素,则两个包之间存在着依赖关系。
《use》关系
客户包依赖于提供者包,默认依赖关系
《import》关系
客户包中的元素能够访问提供者包中的所有元素
《access》关系
只想使用提供者包中的元素,而不想将其命名空间合并应使用该关系
《trace》关系
表示一个包到另一个包的历史发展
泛化关系
说明包的家族