PlantUML

PlantUML 是一种简单的描述性语言,用于绘制各种 UML 图(如时序图、类图、活动图等)。它基于纯文本描述,生成图形化的 UML 图表。以下是 PlantUML 的基本语法简介,特别是时序图的语法。


基本语法规则

  1. 开始和结束

    • 每个 PlantUML 脚本以 @startuml 开始,以 @enduml 结束。

    • 例如:

      @startuml
      // 图表内容
      @enduml
      
  2. 注释

    • 单行注释:// 这是注释
    • 多行注释:/* 注释内容 */
  3. 关键字不区分大小写

    • 例如 actorACTOR 是等价的。

时序图语法

1. 角色(Participants)

  • 定义参与者(可以是用户、系统、服务等):

    actor User
    participant "Web Interface" as Web
    participant "/auto_build/initiate" as Initiate
    
  • 常见的角色类型:

    • actor:外部用户或系统。
    • participant:系统内的组件或模块。
    • boundarycontrolentity 等:特定种类的参与者,通常用于类图。

2. 消息(Messages)

  • 描述参与者之间的消息传递:

    User -> Web: 用户操作
    Web --> User: 返回数据
    Web -> Initiate: 调用后端接口
    
  • 消息类型:

    • ->:普通消息。
    • -->:异步消息。
    • <-<--:返回消息。

3. 激活和失活(Activation and Deactivation)

  • 激活表示对象在某个时间段内正在处理任务,显示为生命线上的矩形。

    Web -> Initiate: 调用接口
    activate Initiate
    Initiate --> Web: 返回结果
    deactivate Initiate
    

4. 条件与分支(alt / opt / loop)

  • 条件分支(alt):

    alt 条件A
        Web -> Initiate: 执行操作A
    else 条件B
        Web -> Initiate: 执行操作B
    end
    
  • 可选逻辑(opt):

    opt 条件C
        Web -> Initiate: 执行操作C
    end
    
  • 循环(loop):

    loop 每次循环
        Web -> Initiate: 循环中的操作
    end
    

5. 对象的创建和销毁

  • 创建对象:

    Web -> NewService: +创建新对象
    
  • 销毁对象:

    destroy NewService
    

6. 返回值

  • 方法调用的返回值:

    Web -> Initiate: 调用方法
    Initiate --> Web: 返回结果
    

7. 注释

  • 添加注释,用于说明某些步骤:

    note right of Web: 这是接口调用的说明
    

完整示例:信息收集接口的时序图

以下是基于你的需求的完整 PlantUML 示例代码:

@startuml
actor User
participant Frontend
participant "/auto_build/initiate" as Initiate
participant "Configuration Checker" as ConfigChecker
participant "Information Collector" as InfoCollector

User -> Frontend: 执行构建操作
Frontend -> Initiate: 发送构建请求 (user_id, autobuild_id, user_input)
Initiate -> ConfigChecker: 执行前置配置检查
ConfigChecker --> Initiate: 检查结果

alt 配置检查失败
    Initiate -> Frontend: 返回错误信息 (missing_configurations, message)
else 配置检查通过
    Initiate -> InfoCollector: 调用信息收集模块 (user_input)
    InfoCollector --> Initiate: 收集信息 (application_name, application_function)
    Initiate -> Frontend: 返回收集信息 (collected_info, message)
end
@enduml

生成图表

  1. 将上述代码复制到支持 PlantUML 的工具(如 PlantText)。
  2. 点击“生成”按钮即可查看时序图。
### PlantUML 使用指南 PlantUML 是一种基于文本的 UML 绘图工具,它允许用户通过简单的语法定义图表,并将其转换为可视化的 UML 图形。以下是关于如何使用 PlantUML 的详细介绍。 #### 一、环境准备 为了能够正常运行 PlantUML,需要先安装 Java 环境,因为 PlantUML 基于 Java 开发[^2]。可以通过以下命令下载并运行 PlantUML: ```bash # 下载 PlantUML jar 文件 wget https://sourceforge.net/projects/plantuml/files/latest/download -O plantuml.jar # 运行 PlantUML java -jar plantuml.jar ``` 如果希望在线测试而不需本地部署,可以访问官方提供的在线服务器地址:[https://www.plantuml.com/plantuml](https://www.plantuml.com/plantuml)[^1]。 --- #### 二、基本语法结构 PlantUML 支持多种类型的 UML 图表绘制,例如序列图、类图、状态图等。每种图表都有其特定的语法规则。下面是一个简单的例子展示如何创建一个序列图: ```plantuml @startuml Alice -> Bob: Hello, how are you? Bob --> Alice: I'm fine, thanks. @enduml ``` 此代码片段表示 Alice 和 Bob 之间的简单对话交互[^1]。 --- #### 三、Markdown 中集成 PlantUML 对于那些希望通过 Markdown 编写文档并嵌入 PlantUML 图表的人群来说,可以利用支持 PlantUML 渲染功能的 Markdown 插件完成这一需求[^3]。具体实现方式取决于所使用的编辑器或平台,通常只需按照如下格式书写即可自动渲染图表: ```markdown ```mermaid sequenceDiagram participant A as Alice participant B as Bob A->>B: Hello! B-->>A: Hi there! ``` ``` 注意:某些情况下可能需要额外配置才能使插件生效,请查阅对应工具的官方说明文件[^3]。 --- #### 四、更多资源推荐 除了基础操作外,还可以参考更详细的官方语言参考手册获取高级特性介绍:[https://plantuml.com/zh/guide](https://plantuml.com/zh/guide)[^1]。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值