【不专一的开发】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(二)---行为图(状态图、活动图、序列图、协同图)

 

 

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

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

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)
blank

相关推荐

  • Linux【命令】修改文件内容[通俗易懂]

    Linux【命令】修改文件内容[通俗易懂]目标:在/opt/hello/world.txt文件中增加一行hellolinuxworld!方法一:命令是:vi,vimvi编辑器,相当于记事本,有编辑功能,但较弱vim复杂的编辑器,相当于windows的editplus,notepad++等步骤:执行viworld.txt进入编辑器(默认命令模式), 点击a或i进入编辑模式,敲入内容:hellolinuxworld! 然后按键盘上的esc键退出编辑模式(进入到命令模式), 最后敲冒号:,…

  • http和https的优缺点,区别与工作原理

    http和https的优缺点,区别与工作原理

  • 数据库之关系模型介绍「建议收藏」

    数据库之关系模型介绍「建议收藏」本篇文章是数据库系列的第一篇文章,本系列文章是笔者在学习《数据库系统概念》这本书总结的内容,使用的数据库是mysql。关系数据库的结构关系数据库由表(table)的集合构成,每个表由唯一的名字。表中的一行代表了一组值之间的联系,而表就是这种联系的一个集合,表这个概念和数学上的关系概念是密切相关的,这也是关系数据模型名称的由来。在关系模型的术语中,关系(relation)用来指代表,元组…

  • DELL Eq PS4000服务器数据恢复过程/数据恢复案例

    DELL Eq PS4000服务器数据恢复过程/数据恢复案例DELLEqualLogicPS4000是戴尔为远程或分支办公室、部门和中小企业存储部署提供的存储服务器,可以提供企业级自动化、智能化性能服务,价格合理,管理和部署相对便捷,更适合中小企业及办公室需求,是中型企业级存储的起点…

  • 模糊查询:Spring Data JPA 如何进行模糊查询(LIKE) ?「建议收藏」

    模糊查询:Spring Data JPA 如何进行模糊查询(LIKE) ?「建议收藏」SpringMVC+SpringDataJPA+模糊查询为了方便起见,service直接忽略,方便理解。一.方法一1.Controller层:方法参数如下,一定要加”%”+name+”%”/***@description:*@author:czx<15610554031@163.com>*@date:2018/1/22…

  • MySQL中group_concat函数用法总结

    MySQL中group_concat函数用法总结MySQL中group_concat函数用法总结一、group_concat函数的功能将groupby产生的同一个分组中的值连接起来,返回一个字符串结果。group_concat函数首先根据groupby指定的列进行分组,将同一组的列显示出来,并且用分隔符分隔。由函数参数(字段名)决定要返回的列。例如:createtableemp(emp_idintprimaryke…

发表回复

您的电子邮箱地址不会被公开。

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