【总结】UML图的小九九——包图

简介: 前言: 在画图工具中有一个长的像文件夹的东西,它叫做包,由包含各种元素的包组合起来的图就叫做包图。为什么叫它小九九呢?因为包图并不是正式的UML图,但却可以由任何一种的UML图组成,通常是UML用例图或UML类图。既然有用例图和类图等图,为什么还要再来个小九九呢?这就要看包图的作用了——它不仅仅是长的像文件夹,在功能上起到了文件夹的功能。

前言:  

  在画图工具中有一个长的像文件夹的东西,它叫做包,由包含各种元素的包组合起来的图就叫做包图。为什么叫它小九九呢?因为包图并不是正式的UML图,但却可以由任何一种的UML图组成,通常是UML用例图或UML类图。既然有用例图和类图等图,为什么还要再来个小九九呢?这就要看包图的作用了——它不仅仅是长的像文件夹,在功能上起到了文件夹的功能。


包的概念:


包图是在 UML 中用类似于文件夹的符号表示的模型元素的组合。系统中的每个元素都只能为一个包所有,一个包可嵌套在另一个包中。使用包图可以将相关元素归入一个系统。一个包中可包含附属包、图表或单个元素。它是一个UML结构,它通过把我们的图模块化,简化我们的图,达到使图看的更一目了然的目的。就像我们的厨房中的摆设,我们将各种刀放在刀架上,形成“刀包”,把锅放在一个橱柜中,形成“锅包”,把锅铲,勺子,碗筷放在一个方便找到的橱柜中,形成“吃饭工具包”,这样在我们用到这些工具的时候可以很简单的直接到各个标记好的包中找,简化了查找过程也使厨房更整洁了。


包的关系:

但我们不能为了简单明了,只建立一个包,你给它起名叫“大包”,那就失去了包的意义了。包多了,就设计到包与包之间的关系了。


20151209192538782.jpg


在打包的过程中,我们要特别注意包与包之间的耦合程度要低。还用上面的例子,如果我们把“吃饭工具包”和“刀包”统称为“工具包”,本来想找双筷子,很可能就被“工具包”里面的刀划伤了。以下是其他建立包图的注意事项。


注意事项:


 1、一定要避免循环依赖产生;
  2、测试时可以以包为测试单位;
  3、应该尽量把概念和语义相接近的元素包含在同一个包中;
  4、对于一个包,找出哪些包内的元素是可以在包外访问的(Access),把这些元素标记为公共的,其他所有元素都标记为受保护的或者私有的。


关于包的可见性(控制了包外元素访问包内元素的权限)

我的包图:

20151209192617026.jpg


 比较简陋,但真的是很努力画啦,大家见谅。

总结:


这是我初次接触UML图这不到一个月对包图的理解,解析尚浅,请大家批评指教。

  另外向大家推荐几个具体的关于包图的链接:

<包图一>  

<包图二>

<包图三>











相关文章
|
6月前
|
测试技术 uml 容器
UML之包图(Package Diagram)
UML之包图(Package Diagram)
287 1
|
6月前
|
存储 测试技术 开发工具
软考中的UML图、数据流图等二十余种示例
软考中的UML图、数据流图等二十余种示例
580 0
|
5月前
|
设计模式 uml
设计模式学习心得之前置知识 UML图看法与六大原则(下)
设计模式学习心得之前置知识 UML图看法与六大原则(下)
40 2
|
5月前
|
设计模式 数据可视化 程序员
设计模式学习心得之前置知识 UML图看法与六大原则(上)
设计模式学习心得之前置知识 UML图看法与六大原则(上)
44 0
|
5月前
|
数据可视化 测试技术 uml
如果更好的绘制UML图
如果更好的绘制UML图
42 0
|
6月前
|
Java uml
UML之组件图(构件图)
UML之组件图(构件图)
111 0
|
6月前
|
程序员 uml
UML图 | 时序图(顺序、序列图)绘制
UML图 | 时序图(顺序、序列图)绘制
462 0
|
6月前
|
测试技术 uml
UML—浅谈常用九种图
UML—浅谈常用九种图
151 0
|
设计模式 数据可视化 程序员
设计模式概述、UML图、软件设计原则
设计模式概述 软件设计模式的产生背景 "设计模式"最初并不是出现在软件设计中,而是被用于建筑领域的设计中。 1977年美国著名建筑大师、加利福尼亚大学伯克利分校环境结构中心主任克里斯托夫·亚历山大(Christopher Alexander)在他的著作《建筑模式语言:城镇、建筑、构造》中描述了一些常见的建筑设计问题,并提出了 253 种关于对城镇、邻里、住宅、花园和房间等进行设计的基本模式。 1990年软件工程界开始研讨设计模式的话题,后来召开了多次关于设计模式的研讨会。直到1995 年,艾瑞克·伽马(ErichGamma)、理査德·海尔姆(Richard Helm)、拉尔夫·约翰森(Ra
70 0
|
uml Python
将python源码自动生成UML图——扩张包Graphviz+Pyreverse
将python源码自动生成UML图——扩张包Graphviz+Pyreverse
606 0