欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 房产 > 建筑 > PlantUML 总结

PlantUML 总结

2025/2/12 15:41:26 来源:https://blog.csdn.net/pumpkin84514/article/details/145539513  浏览:    关键词:PlantUML 总结

PlantUML 总结

1. 概述

PlantUML 是一个开源工具,允许用户通过简单的文本描述来生成各种UML图表。它支持多种图表类型,包括但不限于序列图、用例图、类图、活动图等。

2. 基本概念

2.1 开始和结束标记
  • @startuml@enduml:用于标记PlantUML代码块的开始和结束。
@startuml
...
@enduml
2.2 标题
  • title:为图表添加标题。
title My First PlantUML Activity Diagram

3. 活动图的基本元素

3.1 开始与结束
  • startstop:表示流程的开始和结束。
start
:Begin Process;
stop
3.2 动作(Action)
  • :ActionName;:表示一个具体的操作或步骤。
start
:Initialize System;
stop
3.3 条件分支
  • if (condition) then (yes)else:用于条件判断。
start
if (Is Valid Input?) then (yes):Process Data;
else (no):Log Error;
endif
stop
3.4 循环
  • while (condition)endwhile:用于循环操作。
start
while (More Data to Process?):Fetch Data;
endwhile
stop
3.5 并发处理
  • forkend fork:用于表示并发执行的操作。
start
fork:Task A;
fork again:Task B;
end fork
stop

4. 高级用法

4.1 分区(Partition)
  • partition "Name":用于将流程分组,便于组织和可视化。
partition "Data Processing" #LightBlue {:Fetch Data;:Process Data;
}
4.2 注释
  • note leftnote right:用于在图表中添加注释。
start
:Initialize System;
note right: This is the initialization step.
stop
4.3 参与者(Actor)
  • actor ActorName:用于表示系统外部的人或实体。
actor User
participant "Web Browser" as WB
participant "Server" as SUser -> WB: Open Home Page
WB -> S: Request Home Page
S -> WB: Return Home Page Content
WB -> User: Show Home Page
4.4 返回箭头
  • 在序列图中,可以明确显示返回值。
actor User
participant "Web Browser" as WB
participant "Server" as SUser -> WB: Login Request
activate WB
WB -> S: Forward Login Request
activate S
S -> WB: Authentication Result
return Authenticated Successfully
deactivate S
WB -> User: Display Dashboard
deactivate WB

5. 示例

5.1 简单流程图
@startuml
title Simple Process Examplestartpartition "Process A" #LightBlue {:Step 1;if (Condition?) then (yes):Step 2;else (no):Step 3;endif
}partition "Process B" #LightGreen {fork:Step 4;fork again:Step 5;end fork
}stop@enduml
5.2 包含异常处理的流程图
@startuml
title Exception Handling Examplestart
:Start Process;
if (Is Valid Input?) then (yes):Process Data;
else (no):Log Error;stop
endif
:Finish Process;
stop@enduml
5.3 复杂条件分支和循环
@startuml
title Complex Conditions and Loopsstart
while (More Data to Process?):Fetch Data;if (Data Valid?) then (yes):Process Data;else (no):Log Error;endif
endwhile
:Finalize Processing;
stop@enduml

6. 自定义皮肤参数

你可以通过设置皮肤参数来自定义图表的外观。

@startuml
skinparam monochrome true
skinparam backgroundColor #EEEBDC
skinparam sequence {ArrowColor DeepSkyBlueActorBorderColor DeepSkyBlueLifeLineBorderColor blueLifeLineBackgroundColor #A9DCDF
}actor User
participant "Web Browser" as WB
participant "Server" as SUser -> WB: Login Request
activate WB
WB -> S: Forward Login Request
activate S
S -> WB: Authentication Result
return Authenticated Successfully
deactivate S
WB -> User: Display Dashboard
deactivate WB
@enduml

7. 更多图表类型

除了活动图,PlantUML还支持其他多种图表类型,如用例图、类图、时序图等。

7.1 用例图
@startuml
actor User
actor Adminusecase UC1 as "Login"
usecase UC2 as "Register"
usecase UC3 as "Manage Users"User --> UC1
Admin --> UC1
Admin --> UC2
Admin --> UC3
@enduml
7.2 类图
@startuml
class Animal {+name: String+age: int+eat()
}class Dog {+bark()
}Animal <|-- Dog
@enduml
7.3 时序图
@startuml
actor User
participant "Web Browser" as WB
participant "Server" as SUser -> WB: Login Request
activate WB
WB -> S: Forward Login Request
activate S
S -> WB: Authentication Result
return Authenticated Successfully
deactivate S
WB -> User: Display Dashboard
deactivate WB
@enduml

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com