【不专一的开发】UML(二)—行为图(状态图、活动图、序列图、协同图)

【不专一的开发】UML(二)—行为图(状态图、活动图、序列图、协同图)脑图,概念,例子,画图,翻来覆去,深入理解

大家好,又见面了,我是你们的朋友全栈君。

目录

状态图Statechart Diagram

活动图 Activity Diagram

序列图 (时序图)Sequence Diagram

协同图(协作图)Collaboration Diagtam


UML九图中,行为图包含了其中4种图如下。行为图用来描述系统的动态模型和对那个之间的交互关系

 

【不专一的开发】UML(二)---行为图(状态图、活动图、序列图、协同图)

状态图Statechart Diagram

【概念】通过建立类对象的生存周期模型来描述 对象随时间变化的动态行为。系统分析员对某对象建模时,最自然的方法并不是着眼于从活动到活动的控制流,而是从状态到状态的控制流。

换言之:用来描述类的对象所有可能的状态以及时间发生时状态的专业条件。

【描述例子】你的手机开机后(黑点)在不用的时候处在空闲的状态(idle),当你给A打电话的时候处在拨号状态(dialing)。当A接通后,处在通话状态(working),如果没有接通后继续处在空闲状态(idle)。 另外一种,如果别人给你打电话,你的手机处在响铃状态(ringing),如果接听了就在通话状态,如果没有接通就继续又处在空闲状态。

【不专一的开发】UML(二)---行为图(状态图、活动图、序列图、协同图)

【机房收费系统例子】

机房软件登录前初始状态,输入信息后,验证状态 如果验证通过那么进入工作状态,如果没有通过则返回到初始状态;工作状态时如果一直有人员操作上下机等则一直工作状态;点击下机又回到初始状态。

【不专一的开发】UML(二)---行为图(状态图、活动图、序列图、协同图)

 

活动图 Activity Diagram

【概念】用来描述满足用例要求所要进行的活动以及活动间的约束关系,使用活动图有利于识别系统的并行活动。

另一种说法:活动图是某件事情正在进行的状态,既可以实现生活中正在进行的某一项工作也可以是软件系统找那个某个类对象的一个操作。

【描述例子】一个建房子的过程:开始后 1.选择地址2.设计3、计划详细4、竞价5、分支判断(如果竞价不能被接受,那么继续判断;如果竞价接受了接下来是一个并发的活动)6、并行活动(do site work ,do trade work )之后完成并行结束7、完成建造 最后活动终止。

【不专一的开发】UML(二)---行为图(状态图、活动图、序列图、协同图)

【机房收费系统例子】

操作人员登录后,给新用户进行注册的过程;初态;查找,确定此人没有注册过(判断:注册过则返回提示已经注册,没有注册过则进行注册);注册;并发分叉(信息录入、充值);充值这里有一个判断,是否低于最小上机额度(低于返回继续充值,如果高于则继续执行);并发回合;注册完成;终态

【不专一的开发】UML(二)---行为图(状态图、活动图、序列图、协同图)

序列图 (时序图)Sequence Diagram

【概念】描述对象之间的交互顺序,着重体现对象间信息传递的时间顺序,强调对象之间消息的发送顺序,同时也显示对象之间的交互过程。

【描述例子】客户在汽车租赁系统中取车的时序图:这里有5个对象Customer(客户)、CommonWorker(工作人员)、RequestOrder(预定请求)WorkRecord(工作记录)Car(车)客户先提出取车请求并出示清单、工作人员检查客户的,确定后让客户付款、工作人员填写工作记录,同时登记车的状态、最后客户取走车。

【不专一的开发】UML(二)---行为图(状态图、活动图、序列图、协同图)

【机房收费系统例子】

如上相似:临时用户需要下机退款,有如上5个对象:临时用户、下机请求、操作人员、工作记录、ID

用户要下机,要先说出身份证号,操作人员核实,核实通过后,操作员多退少补,然后更新工作记录、更新卡的状态

【不专一的开发】UML(二)---行为图(状态图、活动图、序列图、协同图)

协同图(协作图)Collaboration Diagtam

【概念】描述对象之间的合作关系,侧重于说明哪些对象之间有消息传递。这里的额顺序图和协同图是可以相互转换的。

【描述例子】和上面的例子一样,客户在汽车租赁系统中取车的协同图

【不专一的开发】UML(二)---行为图(状态图、活动图、序列图、协同图)

【机房收费系统的例子】内容同上,把时序图转换成协同图

【不专一的开发】UML(二)---行为图(状态图、活动图、序列图、协同图)

 

 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/144752.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 轻量级神经网络发展_宽度神经网络

    轻量级神经网络发展_宽度神经网络文章目录轻量级神经网络——shuffleNetshuffleNet1逐点分组卷积(Pointwisegroupconvolution)✨✨✨通道重排(channelshuffle)✨✨✨shuffleNetUnit✨✨✨shuffleNet1的网络结果和效果轻量级神经网络——shuffleNetshuffleNet1  在之前,已经讨论过一种轻量级神经网络——MobileNet,文中对MobileNet的三个版本都做了详细的介绍,读此篇之前,建议先了解MobileNet,特别是要对其中的深度可

    2022年9月8日
    0
  • mycat如何实现读写分离_数据库读写分离中间件

    mycat如何实现读写分离_数据库读写分离中间件前言众所周知,随着用户量的增多,数据库操作往往会成为一个系统的瓶颈所在,而且一般的系统“读”的压力远远大于“写”,因此我们可以通过实现数据库的读写分离来提高系统的性能。基础知识要实现读写分离,就要解决主从数据库数据同步的问题,在主数据库写入数据后要保证从数据库的数据也要更新。实现思路一个主数据库用来写数据,一个或多个从数据库用来读数据,将主数据库的数据同步到从数据库中。一,主从同步的原理主服务器master记录数据库操作日志到Binarylog,从服务器开启i/o线程将二进制日志记录的

    2022年10月13日
    0
  • 抽丝剥茧,带你理解转置卷积(反卷积)

    抽丝剥茧,带你理解转置卷积(反卷积)这里写自定义目录标题转置卷积普通卷积(直接卷积)转置卷积形象化的转置卷积欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML图表FL…

    2022年6月21日
    35
  • Js实现原生二级菜单「建议收藏」

    Js实现原生二级菜单「建议收藏」<!DOCTYPEhtml><htmllang=”en”><head><metacharset=”UTF-8″><metaname=”viewport”content=”width=device-width,initial-scale=1.0″><metahttp-equiv=”X-…

    2022年5月3日
    72
  • 悉数僵尸网络:知己知彼 百战不殆

    悉数僵尸网络:知己知彼 百战不殆僵尸计算机种类知多少  研究中发现,网络中存在着各式各样的僵尸计算机类型。以下我们将讨论几种比较流行和危害面较大的僵尸类型。我们将介绍几种恶意软件的基本概念,然后再详尽的描述它们的特征。此外,我们还将描述僵尸的源代码以及它们的命令设置清单。  1.Agobot/Phatbot/Forbot/XtremBot  这些很可能是最出名的僵尸类型。目前,杀毒软件厂商Sophos已经查明了Ago

    2022年7月25日
    14
  • 智能哲学:如何判断一台机器是不是人工智能?[通俗易懂]

    智能哲学:如何判断一台机器是不是人工智能?

    2022年3月13日
    216

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号