细辨状态图和活动图

状态图

定义:状态图是着眼于从状态到状态的控制流,因为系统中对象的状态变化最易被发现和理解。例如:按下点灯的开关,电灯改变了它的状态;拉上卧室的窗帘,卧室里亮度的状态由亮变暗。

状态图通常包括:状态和转换
**状态:**状态定义对象在其生命周期中的条件或状况,在此期间,对象满足某些条件,执行某些操作或等待某些事情。状态用于对实体在其生命中状况建模
**转换:**包括事件和动作。事件是发生在时间空间上的一点值得注意的事情。动作是原子性的,它通常表示一个简短的计算处理过程

在UML中,一个完整的状态包括5部分:名字、入口/出口动作、内部转换、延迟事件、子状态

状态图的用途
状态图用于对系统的动态方面建模,动态方面指出现在系统体系结构中任一对象按事件排序的行为,这些对象可以是类、接口、构件和节点,通过状态图和活动图我们可以清晰的知道整个系统是如何进行的,以及每一步操作之后的状态,这让我们的代码实现起来更加的方便。

状态的符号表示:
在这里插入图片描述

机房收费系统状态图
在这里插入图片描述

活动图

定义:活动图是UML中描述系统动态行为的图之一,它用于展现参与行为的类的活动或动作。在UML里,活动图本质上是流程图,它描述系统的活动、判定点和分支等

活动图的组成元素:
一、动作状态:
在UML里,动作状态是以执行制定动作,并在此动作完成后通过完成变迁转向另一个状态而设置的状态,它的特点如下:
1、动作状态是原子的,是构造活动图的最小单位
2、动作状态是不可中断的
3、动作状态是瞬时的行为
4、动作状态可以有入转换(动作流、对象流)
5、和状态图中的状态不同,它不能有入口动作和出口动作,更不能有内部转移。
6、在一张图中,动作状态允许多出出现。
符号:
在这里插入图片描述
二、活动状态
定义:对象的活动状态可以被理解为一个组合,它的控制流由其他活动状态或动作状态组成。
三、动作流
四、分支与合并

活动图和流程图最难区别,因为二者都是在描述整个事件的流程,都是按照正常的时间顺序来进行的,但是其实二者有着本质的区别,以下是二者的区别
活动图和流程图的区别:
1、流程图着重描述处理过程,它的主要控制结构是顺序、
分支和循环。
2、活动图能够表示并发活动的情形,而流程图不能
3、活动图是面向对象的,而流程图是面向过程的

机房收费系统的活动图
在这里插入图片描述
活动图和状态图的区别:
1、共同点:都可以对系统的动态建模
2、区别:活动图更强调对有几个对象参与的活动过程建模,而状态图更强调对单个反应型对象建模
备注:反应型对象是指一个为状态图提供语境的对象
活动图更加侧重于对动作的描述,而状态图是侧重于对动作之后的状态的描述

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 12
    评论
评论 12
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值