【UML】状态图和活动图

【状态图】
哈哈看到这个的时候不知道今天你的状态好不好,好或者不好都来看看这篇文章吧!

状态图:使系统分析的一种常用工具,它通过建立类对象的生存周期模型来描述对象随时间变化的动态行为;一个状态图表示一个状体机,主要用于表现从一个状态到另一个状态的控制流。
举个栗子:早上起床后,你是一种睡眼惺忪的状态,洗了把脸,刷了个牙,精神了许多,还是少点什么,感觉有点饿,就吃了早饭,开启了美好的一天去工作了,在早上起床到上班的一系列感受动作都是一种状态

状态图内容组成:状态和转换
1.状态:描述了状态机所在的对象动态行为的执行所产生的结果,一个完整的状态由5个组成部分

NameAcademy
名字字符串构成,状态可以没有名字
入口表示进入/退出这个状态所执行的动作,动作可以是原子动作、动作序列
内部转换不引起状态的改变,此转换不会导致状态的入口/出口动作被执行,比如:更改文件的文件名
延迟事件事件的一个列表,此列表内的事件当前状态下不会处理,在系统进入其他状态时在处理
子状态包含在某状态内部的状态,即嵌套结构

2.转换:状态图通过对象的状态以及状体间的转换建模来展现系统动态行为;转换是状态间的关联。
转换由5部分构成:源状态、目标状态、触发事件、监护条件、动作。

NameAcademy
源状态转换被激发之前,对象所处的状态就是转换的源状态,是被转换影响的状态
目标状态目标转换完成后活动的状态
触发事件引起转变的事件,具有事件驱动的动态行为
监护条件一个方括号括起来的布尔表达式,放在触发事件的后面,可以引用对象的属性值和触发事件的参数,当一个触发事件被出发时,布尔表达式被赋值
动作一个可执行的原子计算,也可以是一个动作序列,但是不会被同时发生的其他动作所影响

状态图举例(机房收费系统)
这里写图片描述

【活动图】

活动是某件事情正在进行的状态,即可以是现实生活中正在进行的某项工作,也可以是软件系统中某个类对象的一个操作。
还用早起起床来说,洗漱的过程,吃早饭的过程等都是活动,程序和我们的生活很贴近

活动图组成元素:动作状态、活动状态、动作流、分支与合并、分叉与汇合、泳道和对象流等

NameAcademy
动作状态执行指定动作,在此动作完成后通过完成变迁转向另一个状态
活动状态可以理解为一个组合,它的控制流由其他活动状态或动作状态组成,用平滑的圆角矩形表示
动作流一系列动作的组合
分支与合并描述了软件在不同的判断结果下所执行的不同动作,用空心小菱形表示
分叉与汇合一将多个运行的并发流分开和合并,一条粗的水平线来表示
泳道将活动图的活动状态分组,每一组表示负责那些活动的业务组织

活动图举例:机房收费系统
这里写图片描述
感谢大家的阅读,有什么问题请多加指教!

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 11
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 11
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值