包图(uml2.0)
当对一个比较复杂的软件系统进行建模时,会有大量的类、接口、组件、节点和图需要处理;如果放在同一个地方的话,信息量非常的大,显得很乱,不方便查询,所以就对这些信息进行分组,将语义或者功能相同的放在同一个包中,这样就便于理解和处理整个模型。而包图就是描述包与包之间的关系。 每一个包就是一个独立的命名空间,两个不同的包之中可以有相同的元素名,只是所处的包不同,其全名不同。
包含的元素
- 包
- 包名
- 包内元素
- 类
- 接口
- 构件
- 节点
- 协作
- 用例
- 图
- 子包
- 关系
- 依赖(包元素之间有了依赖,包也就有了依赖)
- 引入(Import )
导入整个包,包里面所有元素都可以使用 - 访问(access)
访问里面包里面的一些元素
- 引入(Import )
- 泛化
一个包的元素是可以用另外一个包替换,可以在父包上面标注
- 依赖(包元素之间有了依赖,包也就有了依赖)
包元素的可见性
+
公有的-
私有的#
保护的,子类可用
包的重用原则
- 重用等价原则
对于同类可重用的模型元素尽量放到一个包中,不要把可重用模型元素和不可重用的模型元素混到一个包中。 - 共同重用原则
把同一个应用要重用的多个模型元素放到同一个包中,以减少包间的依赖,提高包的独立性。 - 共同封闭原则
把可能同时修改,同时维护的模型元素放到一个包中,以便于今后维护和升级。 - 非循环依赖原则
包之间不要循环依赖
常见三层架构的包图
包图不关心内部元素的时候可以直接在内部写上包名