Package Diagram
前言
包图由包(语义相近并倾向于一起变化的元素组织起来加入同一包)和包之间的关系构成,它是维护和控制系统总体结构的重要建模工具。
芝士
- 什么是包?
包是对模型元素进行分组的机制,它把模型元素划分成若干个子集。 - 包中的元素
类、接口、构件、节点、协作、用例、图、其他包等(若包被撤销,则其中的元素也被撤销) -
包的作用
- 逻辑上把一个复杂的图模块化
- 组织源代码
- 包的可见性
同类的属性Class Diagram -
包与包之间的关系
- 引入和访问依赖,用于在一个包中引入另一个包输出的元素
- 泛化,用于说明包的家族
-
包的常见问题
- 一定要避免循环依赖产生
- 测试时可以以包 为测试单位
- 应该尽量把概念和语义上相近的元素包含在同一个包中
- 对于一个包,找出哪些包内的元素是可以在包外访问的,把这些元素标记为公共的,其他元素都标记为受保护的或者私有的
- 建立包图的具体做法如下
- 分析系统模型元素(通常是对象类),把概念上或语义上相近的模型元素纳入一个包
- 对于每一个包,标出其模型元素的可视性(公共、保护或私有)
- 确定包与包之间的依赖关系,特别是输入依赖
- 确定包与包之间的泛化关系,确定包元素的多重性与重载
- 绘制包图
- 包图精化
- 举例说明:图书馆信息系统的包图
(1)System Service:包含读者、管理员以及借书相关业务的用例、类等信息
(2) System UI:包含操作界面、窗体相关的用例、类等信息
(3)System Common Utilities:包括系统提供的公共用例、类等信息
(4)System DataBase:包括数据库操作相关的用例、类等信息
小结
这篇博客让我感触最深的就是有例子和没例子的区别,再就是画图的步骤也很关键,以后就按照这个套路来吧!加油!