过了两周,在学术部门的指导下,我们又学习了一遍UML图,对行为图,结合机房收费系统和生活中的小例子,我又有了一些新的理解。
状态图
状态:在对象的生命期中的某个状况或条件,在此期间对象将满足某些条件,执行某些活动或等待某些事件。拿进入睡眠状态做例子:闭眼,呼吸变浅,眼球不活动或者只有很慢的活动;
状态图:把一个对象的状态连成的图。如果一个动作与一个状态有关,那么进入该状态即触发该动作;
状态机:吃饭,睡觉,打豆豆。吃饭和睡觉便构成了状态机,睡觉和打豆豆也是一个状态机;
活动图:
描述系统的工作流程和并发行为;是状态图的特殊性形式,活动图中活动的改变不需要事件触发,源活动完毕后自动触发转移到下一活动。活动图主要是业务流程和一些细节问题,知道活动更具体的进行到了哪一步。
包括:活动,泳道,分支,分叉,汇合,对象流。
泳道:根据活动的职责对所有活动进行划分,每个泳道代表一个职责区(管理员,操作员)。但是泳道和类不是一一对应的关系,泳道关心的是所代表的职责(管理是职责,增删改查也是职责),一个泳道可以用一个或多个类实现。我们可以单拿出管理员的工作,管理员占manager 泳道,管理占manage泳道,students是一个泳道,Operater是一个泳道。管理可以有增删学生类,结账类等等。
分支和汇合:一件事可以触发多个活动,这多个活动可以是多个分支。比如起床这件事。闹钟响了是一件触发的事,把自己叫醒了,起床,是一件事;把别人吵醒了,骂你,是另一件事。这时候涉及到同步条,成对存在,在哪里汇合呢?活动同步的时候汇合,比如晚上熄灯。
对象流:对象流是动作状态或者活动状态与对象之间的依赖关系,对象流表示动作使用对象或者动作对对象的影响。
对比控制流:是动作之间的转换:起床的动作——睁眼,坐起来,穿衣服。