概述

静态图包含类图、对象图和包图的主要目的是在系统详细设计阶段,帮助系统设计人员以一种可视化的方式来理解系统的内部结构和代码结构,包括类的细节、类的属性和操作、类的依赖关系和调用关系、类的包和包的依赖关系。

一、包图的表示法

包图是一种常规用途的组合机制。UM中的一个包直接对应于Java中的一个包。在Java中,-个包可能含有其他包、类或者同时含有这两者。在进行建模时,你通常拥有逻辑性的包,它主要用于对你的模型进行组织;你还会拥有物理性的包,它直接转换成系统中的Java包。每个包的名称对这个包进行了唯一标识。

包是用一个在上方带有小标签的矩形表示的,包名写在标签上或者在矩形里面。如图 3-18所示,方框内使用一个 Java 规格的包名来表示。

UML静态图-包图插图

二、使用包包含类

如果将已经创建的类图包含在该包下,使用一个横线隔开,下方列出所有包含的类,类名使用-个加号表示它为一个类,如图 3-19所示。
UML静态图-包图插图(1)
将 User 和 Book 类加入到包 com.demo.domain 后,原有的 User 和 Book 类图中的类名称下多了-个“from com.demo.domain”来表示该引用,如图 3-20所示。

UML静态图-包图插图(2)

三、使用包包含子包

如果包里还包含有子包,应该按照Java类包的包含关系,将子包画在父包中。如图 3-21所示,包com.demo.domain 除了包含有两个类—User 和 Book 外,还包含了两个包–util 和 test。

UML静态图-包图插图(3)

四、包的依赖关系

与类的依赖关系类似,包与包之间因为逻辑的引用也存在依赖关系,所谓的依赖即A包引用了B包中的类,那么A包就依赖于B包。包的依赖通常都是人为设计造成的,比如通常我们会为不同的包限定其中类的不同作用。例如,在JavaEE分层设计中,通常会设计类似下面的4层:

  • com.demo.domain 表示 Java 原始类的包:
  • com.demo.dao 表示DAO层类的包。
  • com.demo.service 表示 Service 层类的包。
  • com.demo.action表示请求处理类的。

它们就可以像图 3-22所示一样表示,其中包的依赖关系使用点画线箭头。
UML静态图-包图插图(4)

本站无任何商业行为
个人在线分享 » UML静态图-包图
E-->