当前位置: 首页 > wzjs >正文

本网站正在建设中扁平化中文网站模板下载

本网站正在建设中,扁平化中文网站模板下载,广告传媒公司的网站应该怎么做,湖州网站建设方案文章目录 前言一、序列图1.1 语法规则1.1.1 参与者1.1.2 生命线1.1.3 消息1.1.4 自动编号1.1.5 注释1.1.6 其它1.1.7 例子 1.2 如何画好 参考 前言 在软件开发、系统设计和架构文档编写过程中,图形化建模工具扮演着重要的角色。而 PlantUML 作为一种强大且简洁的开…

文章目录

  • 前言
  • 一、序列图
    • 1.1 语法规则
      • 1.1.1 参与者
      • 1.1.2 生命线
      • 1.1.3 消息
      • 1.1.4 自动编号
      • 1.1.5 注释
      • 1.1.6 其它
      • 1.1.7 例子
    • 1.2 如何画好
  • 参考

前言

在软件开发、系统设计和架构文档编写过程中,图形化建模工具扮演着重要的角色。而 PlantUML 作为一种强大且简洁的开源工具,深受开发者和架构师们的喜爱。通过使用简单的文本语法,PlantUML 能够将复杂的概念转化为直观而易于理解的图形表示,使得软件设计和沟通变得更加高效和便捷。

本文旨在介绍和探索 PlantUML 的应用领域、语法规则和关键功能。我们将研究 PlantUML 的序列图,并通过实际案例和应用场景来展示其实际价值。

  • github地址:https://github.com/plantuml/plantuml

  • 中文文档:https://plantuml.com/zh/

一、序列图

序列图(Sequence diagram),也叫时序图、顺序图,是一种常用的UML图形建模工具 ,用于描述多个对象参与实现业务目标时,彼此之间按时间顺序进行交互的过程.

1.1 语法规则

1.1.1 参与者

  • participant(参与者)

  • actor(角色)

  • boundary(边界)

  • control(控制)

  • entity(实体)

  • database(数据库)

  • collections(集合)

  • queue(队列)

    @startuml
    'https://plantuml.com/sequence-diagramparticipant Participant as Foo
    actor       Actor       as Foo1
    boundary    Boundary    as Foo2
    control     Control     as Foo3
    entity      Entity      as Foo4
    database    Database    as Foo5
    collections Collections as Foo6
    queue       Queue       as Foo7@enduml
    

    actor.png

1.1.2 生命线

关键字activatedeactivate用来表示参与者的生命活动激活和退出,destroy表示一个参与者的生命线的终结

@startuml
participant UserUser -> A: DoWork
activate AA -> B: << createRequest >>
activate BB -> C: DoWork
activate C
C --> B: WorkDone
destroy CB --> A: RequestCreated
deactivate BA -> User: Done
deactivate A@enduml

lifeline.png

自动激活生命线,需要和 return 配合使用

@startuml
autoactivate on
alice -> bob : hello
bob -> bob : self call
bill -> bob #005500 : hello from thread 2
bob -> george ** : create
return done in thread 2
return rc
bob -> george !! : delete
return success@enduml

autolifeline.png

1.1.3 消息

消息箭头

消息种类箭头
同步消息->
异步消息->>
返回消息–>
  • 并行 par

    par.png

    @startuml
    participant ClassA as a
    participant ClassB as b
    para -> b: 1:Message1activate bdeactivate b
    elsea -> b:2:Message2activate bdeactivate b
    elsea -> b:3:Message3activate bdeactivate b
    end
    @enduml
    
  • 选择 alt/else

    alt.png

    @startuml
    participant ClassA as a
    participant ClassB as b
    alt 成功a -> b: 1:Message1activate bdeactivate b
    else 失败a -> b:2:Message2activate bdeactivate b
    end
    @enduml
    
  • 循环 loop

    loop.png

    @startuml
    participant ClassA as a
    participant ClassB as b
    loop 1000次a -> b: 1:Message1activate bdeactivate b
    end
    @enduml
    
  • 分组 group

    group.png

    @startuml
    participant ClassA as a
    participant ClassB as b
    group 自定义标签 [自定义]a -> b: 1:Message1activate bdeactivate b
    end
    @enduml
    

1.1.4 自动编号

autonumber.png

@startuml
autonumber
participant ClassA as a
participant ClassB as ba -> b: Message1
activate b
deactivate ba -> b:Message2
activate b
deactivate ba -> b:Message3
activate b
deactivate b@enduml

1.1.5 注释

note.png

@startuml
autonumber
participant ClassA as a
participant ClassB as ba -> b: Message1
note left: 左注释
activate b
deactivate ba -> b:Message2
activate b
deactivate b
note right: 右注释a -> b:Message3
note left
注释
多行
end note
activate b
deactivate b@enduml

1.1.6 其它

  • 增加空间

  • 分割

  • 页面标题、页眉和页脚

    page.png

    @startuml
    header Page Header
    footer Page %page% of %lastpage%title Example Title
    autonumber
    participant ClassA as a
    participant ClassB as ba -> b: Message1
    activate b
    deactivate b
    ' 增加空间
    |||
    a -> b:Message2
    activate b
    deactivate b
    ' 分割
    == 分割 ==
    a -> b:Message3
    activate b
    deactivate b
    @enduml
    

1.1.7 例子

charge.png

@startuml
actor       用户 as user
participant 充值APP as APP
participant 管理后台 as admin
participant 手机运营商 as mobileautonumber
user -> APP:输入手机号码
activate user
activate APP
activate admin
APP -> admin:校验通过,发送手机号码
admin -> admin:校验通过,判断归属地
admin --> APP:返回归属地、话费套餐信息
deactivate admin
APP -> APP:展示归属地话费套餐信息
deactivate  APP
user -> APP:选择话费套餐
activate APP
activate admin
APP -> admin:生成提交订单(订单号、手机号..)
admin -> admin: 校验订单信息,生成充值订单
admin --> APP: 返回订单创建成功
deactivate  admin
APP -> APP: 展示支付方式选项(支付宝、微信等)
deactivate  APP
user -> APP: 选择支付方式
activate APP
APP -> APP: 发送支付请求调起支付平台
user -> APP: 支付套餐费用
activate admin
APP -> admin: 查询支付结果
admin -> admin: 查询支付结果,更新订单信息
group 并行admin --> APP:返回支付结果APP -> APP: 展示支付结果,更新订单信息activate mobileadmin -> mobile:发送充值请求mobile -> mobile: 接收订单,处理充值mobile -> admin: 通知充值结果deactivate mobile
end
admin -> admin: 接收充值结果,更新订单信息
admin --> APP: 返回充值结果
deactivate admin
APP -> APP: 更新订单信息
APP --> user: 展示充值结果
@enduml

1.2 如何画好

  1. 定义参与者和对象: 首先,确定在时序图中涉及的各个参与者和对象。参与者可以是系统组件、用户或其他实体,对象可以是消息发送者、接收者或系统部件。
    • participant关键字定义参与者,用于表示系统中的各个对象或角色,它们可以是实际的物理对象、软件组件或外部系统
    • actor关键字表示与系统进行交互的外部用户、角色或其他系统
    • boundary关键字用于表示系统与外部实体之间的边界,通常用来表示用户界面或系统与外界的交互接口。
    • control关键字用于表示系统中的控制器、逻辑组件或业务流程。
    • entity关键字用于表示系统中的数据实体或领域对象,通常用于表示数据存储、业务实体或数据库表等
    • database关键字用于表示数据库或持久化存储系统。
    • collections关键字用于表示集合、列表或数组等数据结构
    • queue关键字用于表示队列或消息传递机制
  2. 描述消息交互顺序: 确定消息传递的顺序和相关时间线。使用 PlantUML 中的箭头表示消息的发送和接收。同时,通过使用数字标记,表示消息的顺序和时间跨度。
  3. 细化交互细节: 如果需要详细描述消息的内容、参数或其他信息,可以在消息箭头上方添加文本标签,描述消息的具体内容。
  4. 绘制生命线和激活期: 在时序图中,生命线表示对象的存在期,激活期表示对象的活动时间段。您可以使用 PlantUML 中的生命线和激活期来清晰地展示对象的生存和活动状态。

参考

  1. 10年产品经理教你3步画好UML时序图,轻松掌握流程分析利器

文章转载自:

http://K0B64Zml.gbqgr.cn
http://I757b1Pt.gbqgr.cn
http://PhBW5WVq.gbqgr.cn
http://U3hDocQT.gbqgr.cn
http://N4olNmqv.gbqgr.cn
http://FAHF5EHw.gbqgr.cn
http://MfgYClar.gbqgr.cn
http://0qhuDhPI.gbqgr.cn
http://U1ao9Cue.gbqgr.cn
http://iqyNLKao.gbqgr.cn
http://3iERNeFx.gbqgr.cn
http://Or7LNorK.gbqgr.cn
http://jrQEpWZD.gbqgr.cn
http://1i6i7o7P.gbqgr.cn
http://zgE8zbY1.gbqgr.cn
http://xQu3noq4.gbqgr.cn
http://p5ScrAUZ.gbqgr.cn
http://tKozscsL.gbqgr.cn
http://6dgbPs7w.gbqgr.cn
http://H2BWSIYM.gbqgr.cn
http://u5GjPbDA.gbqgr.cn
http://TRrWl7Dx.gbqgr.cn
http://LNydhQrp.gbqgr.cn
http://UZOdxx4w.gbqgr.cn
http://0cLgVTpC.gbqgr.cn
http://zMxqLimY.gbqgr.cn
http://HUjwz7qA.gbqgr.cn
http://tbHAHNmS.gbqgr.cn
http://jmdeDwO2.gbqgr.cn
http://DWeUncx3.gbqgr.cn
http://www.dtcms.com/wzjs/632205.html

相关文章:

  • 水墨 网站源码素材网站会员
  • 对比色的网站网站的demo怎么做
  • 某企业网站的设计与实现wordpress底部导航栏修改
  • 扁平风网站微信 网页版
  • 建个可以注册会员网站多少钱wordpress汉字后缀图片不显示
  • 网站部署设计常用网站开发工具有哪些
  • 用cms创建自己带数据库的网站wordpress 上一页下一页
  • 网站制作公司有哪些证深圳实力网站建设
  • 网站ftp文件网站建设英语翻译资料
  • wordpress左边导航栏潍坊seo
  • 广东省住房建设厅网站6wordpress添加模块
  • 河北廊坊做网站域名绑定空间后 一般多久能打开网站
  • 免费建站并且绑定域名装修公司网站 源码
  • 怎么把做的网站发布wordpress多站点教程
  • 广州专业网站开发域名申请到网站上传全过程
  • 百度怎样才能搜到自己的网站教学网站前台模板
  • html网站源代码下载制作旅游景点介绍网页
  • 学做网站需要学什么苏州网站建站推广
  • 济南网站建设运营百度首页精简版
  • 镇江网站设计哪家好昆明网站推广咨询平台
  • 淮北网站开发公司网站管理助手建站教程
  • 网站开发合同范本下载找装修
  • 网站模板框架餐饮业网站建设招标书
  • 做移动端网站泉州专业建站
  • 做五金外贸哪个网站比较好小程序代理开发费用
  • 珠宝手机网站模板企业网站分析案例
  • 网站 ftp网站建设联系方式
  • 网站建设时间安排网站开发网页设计js
  • 做响应式网站代码用网站做简历模板
  • 长沙市网站建设服务器搭建网站跑不满宽带