再谈行为图

简介: 过了两周,在学术部门的指导下,我们又学习了一遍UML图,对行为图,结合机房收费系统和生活中的小例子,我又有了一些新的理解。

  过了两周,在学术部门的指导下,我们又学习了一遍UML图,对行为图,结合机房收费系统和生活中的小例子,我又有了一些新的理解。


状态图


状态:在对象的生命期中的某个状况或条件,在此期间对象将满足某些条件,执行某些活动或等待某些事件。拿进入睡眠状态做例子:闭眼,呼吸变浅,眼球不活动或者只有很慢的活动;

状态图:把一个对象的状态连成的图。如果一个动作与一个状态有关,那么进入该状态即触发该动作;


状态机:吃饭,睡觉,打豆豆。吃饭和睡觉便构成了状态机,睡觉和打豆豆也是一个状态机;

活动图:


描述系统的工作流程和并发行为;是状态图的特殊性形式,活动图中活动的改变不需要事件触发,源活动完毕后自动触发转移到下一活动。活动图主要是业务流程和一些细节问题,知道活动更具体的进行到了哪一步。


包括:活动,泳道,分支,分叉,汇合,对象流。


泳道:根据活动的职责对所有活动进行划分,每个泳道代表一个职责区(管理员,操作员)。但是泳道和类不是一一对应的关系,泳道关心的是所代表的职责(管理是职责,增删改查也是职责),一个泳道可以用一个或多个类实现。我们可以单拿出管理员的工作,管理员占manager 泳道,管理占manage泳道,students是一个泳道,Operater是一个泳道。管理可以有增删学生类,结账类等等。


分支和汇合:一件事可以触发多个活动,这多个活动可以是多个分支。比如起床这件事。闹钟响了是一件触发的事,把自己叫醒了,起床,是一件事;把别人吵醒了,骂你,是另一件事。这时候涉及到同步条,成对存在,在哪里汇合呢?活动同步的时候汇合,比如晚上熄灯。


对象流:对象流是动作状态或者活动状态与对象之间的依赖关系,对象流表示动作使用对象或者动作对对象的影响。

对比控制流:是动作之间的转换:起床的动作——睁眼,坐起来,穿衣服。


比较


描述重点不同:状态图——对象状态之间的转移,活动图——活动到活动的控制流程。


使用场合不同:状态图——一个对象在其生命周期内的行为,活动图描述用例,涉及多个用例的工作流程和多线程应用。如果这几个对象之间要交互了,用交互图(协作和顺序图)。联系场景,比如我问:从闹钟响了你会干哪些事情啊?你会说:从睡着到睡醒(状态图)还是说睁眼,坐起,穿衣呢(行为图)?很明显,这里是用行为图嘛!


总结:活动图是特殊的状态图,状态图并不是静态图,在这里可不能“顾名思义”,跟着感觉走哦!





相关文章
|
2月前
|
存储 算法
数据结构与算法学习二二:图的学习、图的概念、图的深度和广度优先遍历
这篇文章详细介绍了图的概念、表示方式以及深度优先遍历和广度优先遍历的算法实现。
68 1
数据结构与算法学习二二:图的学习、图的概念、图的深度和广度优先遍历
|
5月前
画好一张架构图/业务图/流程图问题之如何让图结构更清晰问题如何解决
画好一张架构图/业务图/流程图问题之如何让图结构更清晰问题如何解决
|
算法
带你读《图解算法小抄》二十五、图(2)
带你读《图解算法小抄》二十五、图(2)
|
算法 数据可视化 C++
带你读《图解算法小抄》二十五、图(1)
带你读《图解算法小抄》二十五、图(1)
|
机器学习/深度学习 算法
带你读《图解算法小抄》二十五、图(10)
带你读《图解算法小抄》二十五、图(10)
|
算法
带你读《图解算法小抄》二十五、图(4)
带你读《图解算法小抄》二十五、图(4)
|
算法
带你读《图解算法小抄》二十五、图(12)
带你读《图解算法小抄》二十五、图(12)
|
算法
带你读《图解算法小抄》二十五、图(9)
带你读《图解算法小抄》二十五、图(9)
|
机器学习/深度学习
离散数学_十章-图 ( 4 ):图的表示和图的同构
离散数学_十章-图 ( 4 ):图的表示和图的同构
365 0
不适合做朋友的人有哪些逻辑特征(三)
不适合做朋友的人有哪些逻辑特征(三)
97 0