| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 人工智能 -> 根据文本自动生成UML时序图(draw.io格式) -> 正文阅读 |
|
[人工智能]根据文本自动生成UML时序图(draw.io格式) |
1. 前言已有一些工具可以根据文本自动生成UML时序图,如PlantUML(https://plantuml.com/zh/)、Mermaid(https://mermaid-js.github.io/mermaid/)等。但存在一些使用不便之处,例如激活需要手工指定、语法较复杂,不便于记忆、部分功能使用频率较低、不便于人工继续编辑、展示的样式与常见的UML时序图不同等。 因此使用Java开发了以下根据文本自动生成UML时序图的工具,激活能够自动生成、语法简单便于记忆,支持大部分UML时序图的功能、生成draw.io格式文件,可以继续编辑、展示的样式与常见的UML时序图一致。 本工具生成的UML时序图相关的术语及样式参考了https://www.uml-diagrams.org/sequence-diagrams.html,支持的元素包括:生命线(Lifeline)、激活(Execution/Activation)、消息(Message)。 2. 示例以下为本工具生成的draw.io格式的UML时序图: 生成以上UML时序图的文本如下:
3. 使用说明本工具代码地址为: https://github.com/Adrninistrator/uml-sequence-diagram-drawio/ 。 3.1. 使用方式使用本工具的操作系统中需要安装JDK,并在环境变量中配置对应目录。 3.1.1. 通过命令行执行可从以下地址下载本工具并解压: https://github.com/Adrninistrator/uml-sequence-diagram-drawio/releases/ 在Windows环境执行时,可在命令行执行以下命令,参数1为文本文件路径(可在资源管理器中将文件拖放到命令行窗口中):
在Linux等环境执行时,可在命令行执行以下命令,参数1为文本文件路径:
执行完毕后,会在文本文件路径所在目录下生成对应的draw.io格式的UML时序图文件。 3.1.2. 在Java项目中执行在Java项目中执行本工具时,可以通过以下方式引入本工具:
执行com.adrninistrator.usddi.runner.RunnerGenUmlSequenceDiagram类,generate()方法,可以根据指定的文本文件,生成对应的draw.io格式的UML时序图文件。 3.2. 输入文本要求3.2.1. 输入文本关键字以下关键字用于指定生命线的名称:
以下关键字用于指定消息:
以下关键字用于指定注释:
3.2.2. 输入文本格式3.2.2.1. 生命线格式在输入文本中前面的内容,使用以下格式指定生命线,生命线在输入文本中出现的顺序(从上往下)与在UML时序图中的展示顺序(从左往右)一致。
使用“@name”格式指定生命线,“name”为生命线的名称;
为了简化生命线名称,可使用“@name as alias”格式指定生命线的名称,及别名,“alias”为生命线的别名; 3.2.2.2. 消息格式在输入文本中后面面的内容,使用以下格式指定消息,消息在输入文本中出现的顺序(从上往下)与在UML时序图中的展示顺序(从上往下)一致。
使用“x=>y:m”格式指定同步请求消息; “x”为起点生命线的名称或别名,“y”为终点生命线的名称或别名,“m”为消息内容;
使用“x<=y:m”格式指定返回消息; “y”为起点生命线的名称或别名,“x”为终点生命线的名称或别名,“m”为消息内容; 同步请求消息与返回消息需要在正确的位置成对出现;
使用“x=>x:m”格式指定自调用消息; “x”为生命线的名称或别名,“m”为消息内容;
使用“x->y:m”格式指定异步消息; “x”为起点生命线的名称或别名,“y”为终点生命线的名称或别名,“m”为消息内容。 3.2.2.3. 注释格式在输入文本中,以“#”开头的行代表注释。 3.2.2.4. 时序图开始新的阶段格式有时可能需要在一个时序图中展示多个不同阶段的时序图,例如在阶段1中消息最初的起点对应生命线1,在阶段2中消息最初的起点对应生命线2,在这种情况下,可在每个阶段的消息之间指定一个或多个空行,如下所示:
3.2.3. 输入文本编码输入文本文件编码需要是UTF-8。 3.3. 参数配置3.3.1. 位置相关参数位置相关参数在配置文件“~usddi_conf/position.properties”中指定,如下所示:
3.3.2. 位置相关参数示例位置相关参数示例如下所示: 3.3.3. 样式相关参数样式相关参数在配置文件“~usddi_conf/style.properties”中指定,如下所示:
颜色相关的参数,应为RGB颜色十六进制形式,即“#xxxxxx”,如“#00ff00”; 文字字体相关的参数,应指定字体的名称,如“宋体”、“Times New Roman”; 线条宽度相关的参数,支持整数或小数; 文字大小相关的参数,支持整数。 3.4. 为某个生命线名称、消息内容文字指定样式以上样式相关参数是对一个UML时序图内统一的参数配置,当需要为某个生命线名称、消息内容文字单独指定样式时,可以按照以下方式实现: 3.4.1. 文字字体、大小、颜色文字字体、大小、颜色可通过HTML中的font标签进行设置,如下所示:
3.4.2. 加粗、斜体、下划线、删除线文字加粗、斜体、下划线、删除线可通过HTML中的标签进行设置,如下所示:
同时指定文字字体、大小、颜色,及加粗、斜体、下划线、删除线时,如下所示:
3.4.3. 文字换行当需要使文字换行时,使用以下内容作为换行符:
3.5. 生成的.drawio文件使用方式3.5.1. 直接打开.drawio文件从以下地址可以下载draw.io桌面版软件: https://github.com/jgraph/drawio-desktop/releases 本工具生成的.drawio文件可使用draw.io软件打开并编辑。 3.5.2. 复制.drawio文件的XML内容复制本工具生成的.drawio文件的XML内容,在draw.io桌面版或网页版中,打开“其他->编辑绘图”,或“Extras->Edit Diagram”菜单,可以粘贴到当前打开的draw.io文件中。 |
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/27 12:37:44- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |