【不专一的开发】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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • MySQL常见约束条件「建议收藏」

    MySQL常见约束条件「建议收藏」约束条件:限制表中的数据,保证添加到数据表中的数据准确和可靠性!凡是不符合约束的数据,插入时就会失败!约束条件在创建表时可以使用,也可以修改表的时候添加约束条件1、约束条件分类:1)notnull:非空约束,保证字段的值不能为空s_nameVARCHAR(10)NOTNULL,#非空2)default:默认约束,保证字段总会有值,即使没有插入值,都会有默认值!…

    2022年10月13日
    2
  • TextCNN(文本分类)

    TextCNN(文本分类)TextCNN网络结构如图所示:利用TextCNN做文本分类基本流程(以句子分类为例):(1)将句子转成词,利用词建立字典(2)词转成向量(word2vec,Glove,bert,nn.embedding)(3)句子补0操作变成等长(4)建TextCNN模型,训练,测试TextCNN按照流程的一个例子。1,预测结果不是很好,句子太少2,没有用到复杂的word…

    2022年6月28日
    22
  • udp 视频传输_webrtc视频流传输

    udp 视频传输_webrtc视频流传输在UDP实时图像传输一文中,我们介绍了如何使用UDP来实现视频的实时传输,并使用C#进行了发送端和接收端的搭建。但是这篇文章中的方法是对整张图片进行JPEG压缩,并通过UDP一次性地发送到接收端,由于一个UDP数据包只能发送64k字节的数据,所以这篇文章中的方法的图片传输大小是有限制的,实测只能发送480P视频中的图像。所以在本文中,我们将继续采取逐帧发送的形式,以1080P的视频为例,实现更高清晰度(1080×1920×31080\times1920\times31080×1920×3)的图像实时传

    2022年10月3日
    2
  • java二维数组随机赋值_java 二维数组随机赋值

    java二维数组随机赋值_java 二维数组随机赋值java二维数组随机赋值[2021-01-3100:08:55]简介:目的:使用二维数组打印一个10行杨辉三角。(视频教程推荐:java课程)思路:1.第一行有1个元素,第n行有n个元素;2.每一行的第一个元素和最后一个元素都是1;3.从第三行开始php修改二维数组中值的方法:1、通过【for($i=0;$i<count(Array());++…

    2022年6月4日
    63
  • css中,如何设置前景色的透明度?

    css中,如何设置前景色的透明度?

    2021年9月20日
    82
  • Mac idea 永久激活码[免费获取]

    (Mac idea 永久激活码)好多小伙伴总是说激活码老是失效,太麻烦,关注/收藏全栈君太难教程,2021永久激活的方法等着你。IntelliJ2021最新激活注册码,破解教程可免费永久激活,亲测有效,下面是详细链接哦~https://javaforall.net/100143.htmlMLZPB5EL5Q-eyJsaWNlbnNlSW…

    2022年3月21日
    159

发表回复

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

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