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


相关推荐

  • python logging模块 日志 (详细解析)「建议收藏」

    python logging模块 日志 (详细解析)「建议收藏」目录1基本使用2将日志写入到文件2.3设置消息的等级2.4捕获traceback2.5多模块使用logging3通过JSON或者YAML文件配置logging模块3.1通过JSON文件配置3.2通过YAML文件配置1基本使用转自:Python常用模块大全(整理)-略微抖动-博客园配置logging基本的设置,然后在控制台输出日志,importlogginglogging.basicConfig(level=logg

    2022年5月8日
    39
  • C++;继承和多态概念补充…….

    C++;继承和多态概念补充…….一 继承和多态 类之间的继承 基类 父类 成员变量 描述类的属性成员函数 功能派生类 子类 体现出与基类的不同继承 基类与派生类之间访问权限 1 public 继承 基类里面的公有成员变量被继承后在派生类中也是公有的 可以在类外被访问 基类里面的保护成员变量被继承后在派生类中可以被访问 在派生类中

    2025年6月27日
    2
  • 高通mdp_高通骁龙6150

    高通mdp_高通骁龙6150引言样机上电之后如何自动选择合适的网络进行附着,如何对选择的小区确实是否可以驻守,本文将以高通平台为例,讲述从识别SIM开始,到注册到合适的小区这整个流程。架构LTE协议栈基本分为NAS(Non-Access-stratum),AS(Access-stratum),PHY,在高通平台中的基本架构如下图:其中Callmanager为上层APP,这部分还…

    2022年10月7日
    0
  • 天气预报代码调用

    天气预报代码调用

    2021年10月11日
    47
  • FindWindowEx的用法「建议收藏」

    FindWindowEx的用法「建议收藏」FindWindowEx完整定义如下:HWNDFindWindowEx(HWNDhwndParent,//父窗口句柄HWNDhwndChildAfter,//开始的子窗口句柄,这个参数很有用LPCTSTRlpszClass,//类名LPCTSTR

    2022年5月31日
    39
  • Vue生成二维码_视频生成二维码软件

    Vue生成二维码_视频生成二维码软件vue有两种生成二维码的方式,qrcode、vue-qr(有icon);

    2022年10月4日
    0

发表回复

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

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