再谈行为图

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

状态图

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

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

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

活动图:

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

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

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

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

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

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


比较

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

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

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

你可能感兴趣的:(总结,UML九种图)