开源绘图工具 PlantUML 入门教程(常用于画类图、用例图、时序图等)

本文主要是介绍开源绘图工具 PlantUML 入门教程(常用于画类图、用例图、时序图等),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

文章目录

      • 一、类图
      • 二、用例图
      • 三、时序图


一、类图

  1. 类的UML图示
@startuml
skinparam classAttributeIconSize 0
class Dummy {-field1 : String#field2 : int~method1() : String+method2() : void
}
@enduml

在这里插入图片描述


  1. 定义能见度(可访问性)
    在这里插入图片描述
@startumlclass Dummy {-field1#field2~method1()+method2()
}@enduml

在这里插入图片描述

@startuml
skinparam classAttributeIconSize 0
class Dummy {-field1#field2~method1()+method2()
}
@enduml

在这里插入图片描述


  1. 类之间的关系
    在这里插入图片描述
@startuml
Class01 <|-- Class02
Class03 *-- Class04
Class05 o-- Class06
Class07 .. Class08
Class09 -- Class10
@enduml

在这里插入图片描述

@startuml
Class11 <|.. Class12
Class13 --> Class14
Class15 ..> Class16
Class17 ..|> Class18
Class19 <--* Class20
@enduml

在这里插入图片描述

@startuml
Class21 #-- Class22
Class23 x-- Class24
Class25 }-- Class26
Class27 +-- Class28
Class29 ^-- Class30
@enduml

在这里插入图片描述

例子1:

@startumlskinparam classAttributeIconSize 0
class Class01 {-field1#field2~method1()+method2()
}
class Class02 {-field1#field2~method1()+method2()
}Class01 <|-- Class02@enduml

或者

@startumlskinparam classAttributeIconSize 0
class Class01 {-field1#field2~method1()+method2()
}
class Class02 extends Class01 {-field1#field2~method1()+method2()
}@enduml

在这里插入图片描述

例子2:

@startumlskinparam classAttributeIconSize 0
class Class01 {-field1#field2~method1()+method2()
}
class Class02 {-field1#field2~method1()+method2()
}
class Class03 {-field1#field2~method1()+method2()
}Class01 <|-- Class02
Class01 <|-- Class03@enduml

或者

@startumlskinparam classAttributeIconSize 0
class Class01 {-field1#field2~method1()+method2()
}
class Class02 extends Class01 {-field1#field2~method1()+method2()
}
class Class03 extends Class01 {-field1#field2~method1()+method2()
}@enduml

在这里插入图片描述

二、用例图

@startuml
left to right direction
actor "Food Critic" as fc
rectangle Restaurant {usecase "Eat Food" as UC1usecase "Pay for Food" as UC2usecase "Drink" as UC3
}
fc --> UC1
fc --> UC2
fc --> UC3
@enduml

在这里插入图片描述

三、时序图

例子1:

@startumlautonumber
Alice -> Bob: Authentication Request
Bob --> Alice: Authentication ResponseAlice -> Bob: Another authentication Request
Alice <-- Bob: another authentication Response@enduml

在这里插入图片描述

例子2:

@startumlparticipant user
user -> A: DoWork
activate A
A -> B: <<create Request>>
activate B
B -> C: DoWork
activate C
C --> B: WorkDone
destroy C
B --> A: RequestCreated
deactivate B
A -> user: Done
deactivate A@enduml

在这里插入图片描述


参考资料

  1. 官网:

    • PlantUML - 类图
    • PlantUML - 用例图
    • PlantUML - 序列图
  2. 博客:https://blog.csdn.net/pleaseprintf/article/details/130656001

这篇关于开源绘图工具 PlantUML 入门教程(常用于画类图、用例图、时序图等)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/804874

相关文章

JavaScript中比较两个数组是否有相同元素(交集)的三种常用方法

《JavaScript中比较两个数组是否有相同元素(交集)的三种常用方法》:本文主要介绍JavaScript中比较两个数组是否有相同元素(交集)的三种常用方法,每种方法结合实例代码给大家介绍的非常... 目录引言:为什么"相等"判断如此重要?方法1:使用some()+includes()(适合小数组)方法2

SpringBoot 获取请求参数的常用注解及用法

《SpringBoot获取请求参数的常用注解及用法》SpringBoot通过@RequestParam、@PathVariable等注解支持从HTTP请求中获取参数,涵盖查询、路径、请求体、头、C... 目录SpringBoot 提供了多种注解来方便地从 HTTP 请求中获取参数以下是主要的注解及其用法:1

Python实战之SEO优化自动化工具开发指南

《Python实战之SEO优化自动化工具开发指南》在数字化营销时代,搜索引擎优化(SEO)已成为网站获取流量的重要手段,本文将带您使用Python开发一套完整的SEO自动化工具,需要的可以了解下... 目录前言项目概述技术栈选择核心模块实现1. 关键词研究模块2. 网站技术seo检测模块3. 内容优化分析模

Python库 Django 的简介、安装、用法入门教程

《Python库Django的简介、安装、用法入门教程》Django是Python最流行的Web框架之一,它帮助开发者快速、高效地构建功能强大的Web应用程序,接下来我们将从简介、安装到用法详解,... 目录一、Django 简介 二、Django 的安装教程 1. 创建虚拟环境2. 安装Django三、创

Java Stream流以及常用方法操作实例

《JavaStream流以及常用方法操作实例》Stream是对Java中集合的一种增强方式,使用它可以将集合的处理过程变得更加简洁、高效和易读,:本文主要介绍JavaStream流以及常用方法... 目录一、Stream流是什么?二、stream的操作2.1、stream流创建2.2、stream的使用2.

MySQL慢查询工具的使用小结

《MySQL慢查询工具的使用小结》使用MySQL的慢查询工具可以帮助开发者识别和优化性能不佳的SQL查询,本文就来介绍一下MySQL的慢查询工具,具有一定的参考价值,感兴趣的可以了解一下... 目录一、启用慢查询日志1.1 编辑mysql配置文件1.2 重启MySQL服务二、配置动态参数(可选)三、分析慢查

基于Python实现进阶版PDF合并/拆分工具

《基于Python实现进阶版PDF合并/拆分工具》在数字化时代,PDF文件已成为日常工作和学习中不可或缺的一部分,本文将详细介绍一款简单易用的PDF工具,帮助用户轻松完成PDF文件的合并与拆分操作... 目录工具概述环境准备界面说明合并PDF文件拆分PDF文件高级技巧常见问题完整源代码总结在数字化时代,PD

Python按照24个实用大方向精选的上千种工具库汇总整理

《Python按照24个实用大方向精选的上千种工具库汇总整理》本文整理了Python生态中近千个库,涵盖数据处理、图像处理、网络开发、Web框架、人工智能、科学计算、GUI工具、测试框架、环境管理等多... 目录1、数据处理文本处理特殊文本处理html/XML 解析文件处理配置文件处理文档相关日志管理日期和

使用Python开发一个Ditto剪贴板数据导出工具

《使用Python开发一个Ditto剪贴板数据导出工具》在日常工作中,我们经常需要处理大量的剪贴板数据,下面将介绍如何使用Python的wxPython库开发一个图形化工具,实现从Ditto数据库中读... 目录前言运行结果项目需求分析技术选型核心功能实现1. Ditto数据库结构分析2. 数据库自动定位3

MySQL常用字符串函数示例和场景介绍

《MySQL常用字符串函数示例和场景介绍》MySQL提供了丰富的字符串函数帮助我们高效地对字符串进行处理、转换和分析,本文我将全面且深入地介绍MySQL常用的字符串函数,并结合具体示例和场景,帮你熟练... 目录一、字符串函数概述1.1 字符串函数的作用1.2 字符串函数分类二、字符串长度与统计函数2.1