@startuml

|Swimlane1|

start

:foo1;

|#AntiqueWhite|Swimlane2|

:foo2;

:foo3;

|Swimlane1|

:foo4;

|Swimlane2|

:foo5;

stop

@enduml

(12)分离(detach)

可以使用关键字detach移除箭头。

@startuml

:start;

fork

:foo1;

:foo2;

fork again

:foo3;

detach

endfork

if (foo4) then

:foo5;

detach

endif

:foo6;

detach

:foo7;

stop

@enduml

(13)特殊领域语言(SDL)

通过修改活动标签最后的分号分隔符(;),可以为活动设置不同的形状。

|

<

>

/

]

}

@startuml

:Ready;

:next(o)|

:Receiving;

split

:nak(i)<

:ack(o)>

split again

:ack(i)<

:next(o)

on several line|

:i := i + 1]

:ack(o)>

split again

:err(i)<

:nak(o)>

split again

:foo/

split again

:i > 5}

stop

end split

:finish;

@enduml

(14)一个完整的例子

@startuml

start

:ClickServlet.handleRequest();

:new page;

if (Page.onSecurityCheck) then (true)

:Page.onInit();

if (isForward?) then (no)

:Process controls;

if (continue processing?) then (no)

stop

endif

if (isPost?) then (yes)

:Page.onPost();

else (no)

:Page.onGet();

endif

:Page.onRender();

endif

else (false)

endif

if (do redirect?) then (yes)

:redirect process;

else

if (do forward?) then (yes)

:Forward request;

else (no)

:Render page template;

endif

endif

stop

@enduml

二、超市购物

流程:

顾客:选择自已所要购买的商品,并把选好的商品拿到收银台交给收银员。

收银员:询问顾客是否是会员,如果是会员,索要顾客的会员卡,把会员卡扫描进系统并对会员卡进行验证。然后逐一扫描顾客所 选商品的条形码。扫描完商品信息后,根据收款机上显示的商品金额收货款,售货单和商品交给顾客。

收款机:边接收商品条码,边累加商品金额,打印售货单。

@startuml

|顾客|

start

:选择商品;

:商品交给收银员;

|#AntiqueWhite|顾客|

if (是否是会员) then (yes)

:会员;

|收银员|

:扫描会员卡;

|#AntiqueWhite|收款机|

if (接收会员编号) then (yes)

:提示会员卡有效;

else (no)

:提示会员卡无效;

endif

else (no)

|顾客|

:非会员;

endif

|收银员|

:扫描商品条码;

|收款机|

:接收商品条形码;

:统计商品金额;

|收银员|

while (是否还有商品) is (yes)

|收银员|

:扫描商品条码;

endwhile (no)

|顾客|

:交付货款;

|收银员|

:接收货款;

|收款机|

:打印售货单;

|收银员|

:货单及货品交给顾客;

|顾客|

:接收货单及货品;

stop

@enduml

plantuml 方法图_UML与软件建模:第四次作业(学习PlantUML活动图绘制方法)相关推荐

  1. UML与软件建模 第五次作业

    一.学习PlantUML状态图绘制方法,学习状态图 (1)简单状态 使用([*])开始和结束状态图. 使用-->添加箭头. @startuml[*] --> State1 State1 - ...

  2. UML与软件建模 第三次作业

    1.单元测试的任务有哪些? 单元测试是对软件基本组成单元进行的测试,而且软件单元是与程序的其他部分相隔离的情况下进行独立的测试. 任务主要包括对单元功能.逻辑控制.数据和安全性等各方面进行必要的测试. ...

  3. 视频数据处理方法!关于开源软件FFmpeg视频抽帧的学习

    点击上方"Datawhale",选择"星标"公众号 第一时间获取价值内容 视频文件是多媒体数据中比较常见的一种,也是入门门槛比较高的一个领域.视频数据相关的领域 ...

  4. github 思维导图开元软件_Windows上有哪些很棒思维导图的软件

    以下软件都是我自己从大学到工作一直在用的Windows软件,良心推荐,希望能给正在使用Windows系统的小伙伴的工作生活带来便捷. Processon 在线作图工具 processon官网 正如Pr ...

  5. 计算机网络第四章思维导图_初级会计实务的第四章所有者权益的思维导图丨初级讲堂...

    蜜蜜知道很多考证党每天都在密切关注考试动态,打卡<每日一练>,最近,蜜蜜特开辟会计考试相关的专栏<初级讲堂>(点击查看第一期报道:镇定!2021初级报名人数突破500万?),为 ...

  6. 软件项目管理第四次作业

    学生作业管理综合考评系统 招标文件 小组成员:马天阔 刘竟博 王艺桥 目录 学生作业管理综合考评系统 招标文件 系统总体介绍 功能需求分析 (1)教师登录功能 (2)学生登录功能 (3)管理员登录功能 ...

  7. 软件建模概述 UML模型图

    软件建模 什么是软件建模 将想法通过模型可视化地表达出来,方便记忆和进一步分析,方便团队/同事交流,口语交流容易失真. 软件建模体现了软件设计的思想,在需求和实现之间架起了一座桥梁,通过模型指导软件系 ...

  8. uml 时序图_UML各种图总结:

    UML的书籍:<UML distilled>.<UML和模式应用>.<UML用户指南>.<UML对象设计与编程>.<UMLOracle8建模> ...

  9. 【软件建模与UML】(持续更新)

    目录 2 统一建模语言UML 2.1 软件建模简介 2.1.1 什么是模型 2.1.2 建模的重要性 2.1.3 建模的基本原理 2.2 UML简述 2.3 UML的发展历史 2.3.1 UML的出现 ...

最新文章

  1. POJ 1716 区间最小点个数
  2. 优秀架构师养成记:我是如何逆袭走向“人生巅峰”的?
  3. linux内存一直在涨,linux内存一直占满问题
  4. Android无法运行AVD,android – 无法运行AVD(模拟器)
  5. bat批量查找文件并复制_拒绝重复系列(Rename批量命名)
  6. 从石头剪刀布浅谈算法的作用
  7. 01.WebService概述和WebService在企业应用中的作用
  8. The New iPad’s Achilles Heel
  9. Android 中文 API (24) —— MultiAutoCompleteTextView.CommaTokenizer
  10. 无锡linux内核开发,【Linux系统-无锡有前途吗】Softtek2021年Linux系统-无锡就业前景-看准网...
  11. java creat sql,java 实体类 生成 create sql
  12. C/C++[codeup 1805]首字母大写
  13. Unity基础知识—Transform
  14. Windows Dos命令大全
  15. SQL round()函数
  16. 3dsmax模型导出网页3D版gltf格式文件 #2021.6.25
  17. C#Application.DoEvents();的作用。
  18. Laravel 5.5 Artisan 命令
  19. 大数据基础之常用Linux命令
  20. Dell 服务器 用板载网口访问iDrac 并设置风扇静音

热门文章

  1. 关于IOS内存机制的较深入分析
  2. UE4与WEB服务器交互(json)
  3. Objective-c的点符号(.)的奇怪之处
  4. MySql详解(四)
  5. python---内置模块
  6. 父元素与子元素的width关系
  7. 零件销售系统的质量属性
  8. 判断本地是否存在Jquery文件,如果不存在则使用CDN加速的Jquery文件
  9. CenOs6.3下博通BCM4313无线网卡驱动
  10. Firefox删除DNS缓存——修改hosts后,无需关闭