一、表示
二、作用
在这里总结为两条:1.模块化:我的理解:在做一个系统时,会涉及到成百上千个类,我们把相关的类进行分组,打包对这些类进行概述级的汇总。最终使得对整个系统进行分模块汇总。
2.组织源码:在做一个系统时,源码会涉及到各种功能,方法等,量大且易乱,同样,我们将具有类似功能或者对系统的同一模块发挥作用的代码进行组织汇总,更加有序,清晰,便于后期开发人员阅读。
总而言之:使用包是为了简化图
三、元素
包中的元素可以有:类、接口、构件、用例或者其他的包
说明:如果包被撤销,那么其中的元素也不复存在。
四、关系
泛化
细化
依赖(常用)
说明:如果两个包中任意两个类有依赖关系,那么这两个包之间也存在依赖关系。
五、画包图注意事项
1.避免循环依赖的发生
如下图错误画法:
因为包之间彼此紧密耦合,将来的维护和改进将变得困难。 循环依赖是一个很好的信号,意味着你需要重构一个或多个的包,把导致循环依赖的因素从包中除掉。
2.包的可见性
‘+’public
‘-’private
‘#’protected
找出哪些元素是可以对外访问的,标记为公共的,其余标记为私有的或保护的。
3.在组织包时,通常将在语义或概念上接近的元素包含在同一个包中。
例如:在机房收费系统中,我们可以将一般用户,操作员,管理员三个类组织成一个用户包。
如图:组织的一个名为‘用户’的包
以上为uml视频中对包图的总结。欢迎大家雅正!
原文:http://blog.csdn.net/wangyy130/article/details/19296205