广州网站设计培训班,北京网页设计新趋势,wordpress分类文章表格显示,58同城天门网站建设目录
一、参与者
二、消息交互顺序
三、其他技巧
3.1 改变参与者的顺序
3.2 使用 as 重命名参与者
3.3 注释
3.4 页眉和页脚 一、参与者
使用 participant、actor、boundary、control、entity 和 database 等关键字来定义不同类型的参与者。例如#xff1a; Actor Actor参与者代表与系统交互的外部用户或外部系统。在用例图中参与者通常用来表示系统的用户或利益相关者。在序列图中参与者可以表示系统的外部用户或系统。 Boundary边界代表系统的边界通常用来表示系统的控制范围。在用例图中边界用来定义系统的责任和范围。在序列图中边界可以用来表示系统的控制层例如用户界面或系统的外部接口。 Control控制代表系统的控制结构通常用来表示系统的内部控制机制或流程。在序列图中控制可以用来表示系统的内部组件如控制器或处理器。 Entity实体代表系统中的存储机制或持久化数据。在序列图中实体通常用来表示存储数据的组件如数据库或数据存储系统。 Database数据库代表系统中的数据库或数据存储。在序列图中数据库用来表示系统中的持久化存储如关系型数据库或非关系型数据库。 Participant参与者这个术语在UML中并不常用但在PlantUML中它通常用来表示序列图中的一个角色或对象可以是人、系统、设备或其他任何可以发送或接收消息的实体。
startuml
actor User
participant 浏览器 as Browser
participant 服务端 as Server #orange
enduml
二、消息交互顺序
同步消息Synchronous Message使用实线箭头-表示同步消息发送者在发送消息后会等待接收者的响应。异步消息Asynchronous Message使用虚线箭头-表示异步消息发送者在发送消息后不会等待接收者的响应。返回消息Return Message使用带有实心圆点的箭头--表示返回消息通常用于表示方法调用的返回。活条Activation Bar当对象执行操作时会在其生命线上显示激活条表示对象在这段时间内是活跃的。自关联消息Self-Message当对象需要调用自身的另一个方法时可以使用自关联消息。创建和销毁消息使用 new 关键字表示创建新对象使用 destroy 关键字表示销毁对象。组合片段Combined Fragments使用 alt、opt、loop、par 等关键字来表示条件、选项、循环和并行操作。 altalternative选择表示一个选择点有两个或多个选项但只有一个会发生。这类似于流程图中的“决策”或“分支”。在序列图中alt 用来表示不同的条件路径只有其中一个分支会被执行。optoptional可选表示一个可选的行为即这个行为可能发生也可能不发生。这可以用来表示某个操作是可选的不一定在每次交互中都会出现。looploop循环表示一个行为会重复执行直到某个条件被满足。这可以用来表示循环操作如在一定条件下重复发送消息。parparallel并行表示两个或多个操作是并行发生的即它们会同时开始并且可能同时结束。这可以用来表示并行处理的情况。
startuml定义参与者
actor User as 用户
participant A as 组件A
participant B as 组件B
participant C as 组件C 同步消息
用户 - A: 请求登录 (同步消息) 异步消息
A - B: 发送验证请求 (异步消息) 激活条表示A开始处理请求
activate A
A - A: 内部处理
deactivate A 返回消息
B -- A: 验证结果 自关联消息
activate B
B - B: 检查权限
deactivate B 创建消息
A - C: create 创建会话
activate C
C - A: 会话创建成功 alt 表示选择只有其中一个分支会被执行
alt 用户权限足够A - B: 请求资源
else 用户权限不足A - User: 显示错误
end opt 表示可选行为可能发生也可能不发生
opt 用户选择记住密码A - B: 保存登录状态
end loop 表示循环直到满足条件
loop 每次请求A - B: 请求数据B - A: 返回数据
end par 表示并行操作两个操作会同时开始
par 数据处理A - B: 处理数据1A - C: 处理数据2
end 销毁消息
A - C: destroy 销毁会话
deactivate C 交互结束
User -- A: 登录完成enduml
三、其他技巧
3.1 改变参与者的顺序
使用 order 关键字可以改变参与者的顺序order 的顺序越小越靠前。例如
startuml sequence_order通过order定义参与者顺序
participant Last order 30
participant Middle order 20
participant First order 10 交互消息
First - Middle: 第一个参与者发送消息
Middle - Last: 中间参与者发送消息
Last - First: 最后一个参与者发送消息
enduml
3.2 使用 as 重命名参与者
使用 as 关键字可以为参与者指定一个别名使得时序图更加清晰。例如
startuml sequence_as
actor Bob #red
participant Alice
participant I have a really\nlong name as L #99FF99
Alice-Bob: Authentication Request
Bob-Alice: Authentication Response
Bob-L: Log transaction
enduml
3.3 注释
使用 note 关键字可以用来添加注释它可以指定注释的放置位置如左侧left、右侧right、上方over或下方note。
使用 ! 符号! 符号用于添加注释这些注释不会在生成的图表中显示。
使用 * 符号* 符号也可以用来添加注释这些注释同样不会在生成的图表中显示。
使用 $$ 符号$$ 符号用于添加多行注释这些注释不会在生成的图表中显示。
使用 left to right direction 或 right to left direction这些关键字可以用来设置序列图的布局方向虽然它们不是注释但可以用来组织图表的显示方式。
startuml 使用note关键字添加注释
note right of User: 用户通过Web浏览器进行操作
note left of AppServer: 应用服务器处理业务逻辑
note over Server, Database: 服务器和数据库之间的交互 使用!符号添加不会显示在图表中的注释
! 这是一段开发注释用于说明服务器和应用服务器之间的通信协议 使用*符号添加不会显示在图表中的注释
* 这是一段星号注释用于提醒开发者注意某些事项 使用$$符号添加多行注释
$$
这是一段多行注释
可以跨越多行
用于详细说明复杂的交互过程。
$$enduml
3.4 页眉和页脚
使用 header 和 footer 添加页眉和页脚。例如
startuml
skinparam header {HeaderFontSize 18HeaderFontStyle BoldHeaderFontColor #663300HeaderBackgroundColor #FFFFCC
}
skinparam footer {FooterFontSize 12FooterFontStyle ItalicFooterFontColor #330066FooterBackgroundColor #CCFFFF
}headerbPage Header/b
end headerfooteriPage Footer/i
end footertitle Simple Sequence Diagram
actor User as U
participant Web Server as WS
participant Database as DBU - WS: Request
WS - DB: Query
DB -- WS: Results
WS -- U: Response
enduml
四、示例