UML——包图

简介: 对复杂系统进行建模时,经常需要处理大量的类、接口、组件、节点和图,这时就有必要将这些元素进行分组,把那些语义相近并倾向于一起变化的元素组织起来加入同一包,这样方便理解和处理整个模型,同时也便于轻松地控制这些元素的可见性,使一些元素在包外可见,一些元素是隐藏在包内的。

20200621104858936.png


为什么会产生包?


对复杂系统进行建模时,经常需要处理大量的类、接口、组件、节点和图,这时就有必要将这些元素进行分组,把那些语义相近并倾向于一起变化的元素组织起来加入同一包,这样方便理解和处理整个模型,同时也便于轻松地控制这些元素的可见性,使一些元素在包外可见,一些元素是隐藏在包内的。


设计良好的包是高内聚、低耦合的,并且对其内容的访问具有严密的控制

注意:若包被撤销,则其中的元素也被撤销了


包有哪些作用?


在我们的电脑桌面上,如果有很多各种各样的文件散落是不是看着很糟心,如何把这些文件分门别类的放在一起管理也是一种技巧。所以电脑就有了文件夹的这种形式让我们对自己电脑里面的内容进行规整化的管理,如下图。包就起着文件夹的作用,当一个程序中有很多类,就需要将这些类放在一起分组管理


 20200621104440440.png                                                          


包的可见性


+:表示共有的(public),此元素可以被任何引入该包的包中的元素访问


-:表示私有的(private),此元素只能被同一个包的元素访问


#:表示受保护的(protected),此元素可以被继承该包的包中的元素访问


包的图符

               

       2020062110455969.png                              


包与包之间的关系


泛化:继承关系,用于说明包的家族


依赖(常用):如果两个包中的任意两个类之间有依赖关系,则这两个包之间有依赖关系


               20200621104701221.png                            


如何建立包图?


1.分析系统模型元素(通常是对象类),把概念上或语义上相近的模型元素纳入一个包


2.对于每一个包,标出其模型元素的可见性(公共、保护或私有)


3.确定包与包之间的依赖关系,特别是输入依赖


4.确定包与包之间的泛化关系,确定包元素的多重性与重载


5.绘制包图


6.包图精化


建包时要注意哪些问题?


  • 避免循环依赖产生


  • 测试时可以以包为测试单位


  • 应该尽量把概念和语义上相接近的元素的包含在同一个包中


  • 对于一个包,找出哪些包内的元素是可以在包外访问的,把这些元素标记为公共的,其他所有元素都标记为受保护的或者私有的


不足之处欢迎斧正哦~🙂

相关文章
|
7月前
|
测试技术 uml 容器
UML之包图(Package Diagram)
UML之包图(Package Diagram)
364 1
|
uml Python
将python源码自动生成UML图——扩张包Graphviz+Pyreverse
将python源码自动生成UML图——扩张包Graphviz+Pyreverse
662 0
|
测试技术 uml
UML之包图
UML之包图
120 0
|
测试技术 uml
【UML图】包图
【UML图】包图
|
Java 测试技术 uml
【UML】类图、包图、对象图
【UML】类图、包图、对象图
235 0
|
Java 测试技术 C#
【机房合作】UML图之包图再学习
【机房合作】UML图之包图再学习
124 0
|
测试技术 uml
【总结】UML图的小九九——包图
前言: 在画图工具中有一个长的像文件夹的东西,它叫做包,由包含各种元素的包组合起来的图就叫做包图。为什么叫它小九九呢?因为包图并不是正式的UML图,但却可以由任何一种的UML图组成,通常是UML用例图或UML类图。既然有用例图和类图等图,为什么还要再来个小九九呢?这就要看包图的作用了——它不仅仅是长的像文件夹,在功能上起到了文件夹的功能。
132 0
|
uml
<十四>UML核心视图静态视图之类图和包图
一:类图(行为类和实体类) --->类图用于展示系统中的类及其相互之间的关系 --->概念层类图 --->说明层类图   二:概念层类图 --->概念层的观点认为:在这个层次的类图描述的是现实世界中问题领域的概念理解。
1328 0
|
uml 容器
<七>面向对象分析之UML核心元素之包
一:基本概念         ---->包是一种容器,如同文件夹一样。它将某些信息分类。形成逻辑单元        ---->包是UML非常常用的一个元素,它最主要的作用就是容纳并为其他元素分类。包可以容纳任何UML元素,例如用例,业务实体,类图等,也包括子包。
1004 0