当前位置:首页 > draw.io教程

如何绘制UML包图

drawio9个月前 (07-30)draw.io教程8

UML包图用于记录系统中分组组件的结构及其依赖关系,尤其适用于多层Web和应用程序架构。包图介于详细的类图和更抽象的高级配置文件图及模型图之间。

软件项目中经常会使用“第三方”代码包,从而减少内部开发整个系统的需要。虽然UML 图通常用于详细记录软件代码,但几种抽象的 UML 图类型可以清晰地概述任何类型的中大型系统或复杂服务。

通过将系统结构划分为多个包,可以更容易地确定哪些组件可以从外部获取,或者在其他项目中重复使用。

提示: UML 图不仅限于编程——您可以将子系统、服务包、部门和组件分组到包中,从而对任何系统或服务进行结构化概述,并对其进行记录。

在 draw.io 中启用 UML 2.5 形状库

package在搜索栏中输入并点击Enter即可查看所有包装形状。

您可能会发现 UML 形状库中的其他形状和连接器很有用。

  1. 点击形状面板底部的“更多形状” 。

  2. “软件”部分,单击UML2.5UML形状库旁边的复选框,然后单击“应用”

  3. 现在,您可以在形状面板中看到库文件。将鼠标悬停在任何形状上,即可查看其名称和更大的预览图。

业务部分的SysML形状库中包含许多包装形状。

我可以生成这个图表吗?

Mermaid 语法(大多数图表生成器使用的格式)目前没有定义包图,但它支持 UML 类图、序列图和状态图。

draw.io 中的智能模板功能可以为包图(如类图)提供灵感,这在从头开始设计新的大型系统时可能很有用。

请记住,生成器目前不理解包图语法或形状,也无法了解系统中的现有组件或可用作“包”的第三方产品,因此您需要对生成的图表进行大量编辑。

如何为智能模板编写好的查询

包装图的组成部分

包:用于存放类和接口的容器。当包形状包含其他元素时,标签可以位于包选项卡中;如果包的形状中没有元素或包含的包,则标签可以位于形状的中间。

虚线连接符:表示包之间的依赖关系。您可以在尖括号内添加可选标签来表示不同类型的依赖关系:`<command>`、`<command>` <<needs>><<use>><<import>><command>` 或` <<access>><command> <<merge>>`。请确保合并依赖关系中不存在循环依赖。

元素:包内的单个组成部分。元素可以是完全包含的包、类、接口或子系统。虽然包图通常是对静态系统结构的简单表示,但突出显示内部元素有助于展现其重要性。

结合包图和类图:在包形状内详细描述类。然而,这种方法仅适用于小型系统或突出显示系统中的几个特定元素。

UML 包图示例

在这个简单的网上商店示例中,系统的各个元素被分为三个包:一个包含网页和移动应用程序界面的包、购物车和支付系统的包,以及一个包含所有数据库的包。

这个例子可以扩展到对一家规模较大的公司的中层概览,该公司开发产品并通过实体店、网站应用和移动应用等渠道进行线上销售。该公司使用第三方服务进行摄影、视频制作和物流配送。

虽然这可能比大多数包图更详细,因为它显示了业务和应用程序包“层”以及与商店相关的包,但它确实说明了如何将更复杂的业务系统的元素分组到逻辑包中。

其他类型的UML图

UML 规范允许您绘制多种不同类型的图表,以不同的方式对系统的行为和数据进行建模。

有关其他多种 UML 图的详细信息,请参阅UML 图概述文章。