ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

UML第四次作业

2019-05-07 11:51:43  阅读:364  来源: 互联网

标签:startuml 收银员 作业 enduml start test UML yes 第四次


一. PlantUML活动图

(1)开始/结束指令

 

@startuml                            

start

:UML;

:Plant **UML**;

stop

@enduml

 

@startuml

start

:UML;

:Plant **UML**;

end

@enduml、

 

 

 

 

(2)条件判断

我们使用关键字if、then和else设置分支测试,使用关键字elseif设置多个分支测试(标注文字放在括号中)。

 

@startuml

start

if (This is a test) then (yes)

  :yes;

else (no)

  :no;

  stop

endif

if (test A) then (yes)

  :test A;

elseif (test B) then (yes)

  :test B;

  stop

elseif (test C) then (yes)

  :test C;

elseif (test D) then (yes)

  :test D;

else (nothing)

  :Text else;

endif

end

@enduml

 

 


(3)重复循环

我们使用关键字repeat和repeatwhile进行重复循环

@startuml

start

repeat

  :test 1;

  :test 2;

repeat while (test 3)

stop

@enduml

 

 

 

 

(四)While循环

我们使用关键字while和end while进行while循环,并且在关键字endwhile和is后添加标注。

 

@startuml

start

while (This is a test) is (this also a test)

  :re-test;

endwhile (test)

  :close test;

stop

@enduml

 

 

 

 

 

(五)并行处理

我们使用关键字fork、fork again和end fork表示并行处理。

 

@startuml

start

if (This is a test) then (yes)

  fork

    :Test 1;

  fork again

    :Test 2;

  end fork

else (no)

  :Test 1;

  :Test 2;

endif

@enduml

 

 

 

 

 

(六)组合(grouping)

我们通过定义分区(partition)把多个活动组合(group)在一起。

 

@startuml

start

partition Test1 {

    :Tap 1;

    :Tap 2;

}

partition Test2 {

    :Tap 3;

    :Tap 4;

}

stop

@enduml

 

 

 

 

 

(七)泳道(Swimlanes)

我们使用管道符|来定义泳道,并且还可以改变泳道的颜色。

 

@startuml

|Swimlane1|

start

:foo1;

|#AntiqueWhite|Swimlane2|

:foo2;

:foo3;

|Swimlane1|

:foo4;

|Swimlane2|

:foo5;

stop

@enduml

 

 

 

 

 

(八)分离(detach)

我们使用关键字detach移除箭头。

 

@startuml

:start;

 fork

   :foo1;

   :foo2;

 fork again

   :foo3;

   detach

 endfork

 if (foo4) then

   :foo5;

   detach

 endif

 :foo6;

 detach

 :foo7;

 stop

@enduml

 

 

 

 

 

二. 超市购物

超市购物系统中的活动主体有三个:顾客|收银员|收款机

设置三个相对应活动分区

超市购物流程如下:

  1. 顾客进入超市选择所需商品,将商品提交给收银员;
  2. 收银员询问顾客是否是会员。是则向顾客索要会员卡,将会员卡扫描进系统并对会员进行认证;
  3. 收银员逐一扫描顾客所选商品的商品条形码,收款机接收商品条形码,累加商品金额;
  4. 扫描完全部商品后收银员根据收款机上的金额收款,并通过收款机打印售货单;
  5. 收银员将售货单和商品提交给顾客,本次购物流程结束。

三. 脚本程序

 

 

@startuml

|顾客|

start

:进入超市;

:选择商品;

:提交商品;

|#AntiqueWhite|收银员|

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

    :扫描商品条形码;

else (yes)

    :扫描会员卡;

  |#AntiqueWhite|收款机|

  if (会员卡是否有效) then (yes)

      :提示会员卡有效;

  else (no)

      :提示会员卡无效;

  endif

  |收银员|

  :扫描商品条码;

endif

|收款机|

:接收商品条形码;

:增加商品金额;

|收银员|

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

    |收款机|

    :接收商品条形码;

    :累加商品金额;

  endwhile (no)

  :显示商品金额;

|收银员|

:输出累计金额并请求顾客付款;

|顾客|

:付款;

|收银员|

:收款并核对;

:提交商品;

|顾客|

:接收商品;

:离开;

end

@enduml

 

四. 活动图

 

 

 

 

 

标签:startuml,收银员,作业,enduml,start,test,UML,yes,第四次
来源: https://www.cnblogs.com/lz-645064/p/10824437.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有