什么是包:
由包和包之间的关系构成。它是维护和控制系统总体结构的重要建模工具。在处理大量类、接口、组件、节点和图,有必要把这些元素进行分组,即:把那些语义相近并倾向于一个变化的元素组织起来加入同一包,这样方便理解和处理整个模型,同时也便于控制这些元素的可见性。设计良好的包是高内聚、低耦合,且对期内容的访问具有严密的控制。
包的名字(字符串):简单名和路径名。简单名是指仅包含一个简单的名称。路径名是指以包位于的外围的名字作为前缀的包名。
包拥有那些元素?
类、接口、组件、节点、协作、用例和图。还可以包含其他包
包的可见性:公有性(public)、受保护的(protected)、私有的(private)
包中的泛化关系
1、引用和访问依赖,用于在一个包中引入另一个包输
2、泛化,用于说明包的家族
包和类的区别
包在很多方面与类相似,但是在面对大系统模型时要特别注意区别包与类。
类是对问题领域或节约方案的事物的抽象,包是把这些事物组织成模型的值中机制。包可以没有标识因为他没有实例,在运行系统中不可见,类必须有标识,它有实例,类的实例(对象)是运行系统的组成元素。
建立包图的方法:
1、分析系统模型元素(通常是对象类),把概念上或语义上相近的模型元素纳入一个包。
2、对于每一个包,标出其模型元素的可视性(公共、保护、私用)
3、起订包与包之间的依赖关系,特别是输入依赖
4、确定包与包之间的泛化关系,确定包元素的多重性与重载
5、绘制包图
6、包图精化