UML和设计模式课件4 动态建模(1)-交互模型.ppt
文本预览下载声明
UML和设计模式 * ”乘坐电梯”的合作图 根据乘坐电梯顺序图画出合作图 合作图中表示对象的创建和消亡: 对象创建:{new}; 对象消亡:{destroyed}; 对象创建并消亡:{transient} (合作图并不适合于表示对象的创建和消亡) 合作图和顺序图可以相互转换。 UML和设计模式 * UML和设计模式 * 对象的创建和消亡可通过一个消息来实现。 * * 参与者需要乘坐电梯,他从系统外部按下按钮,让电梯到达他想去的楼层。此时,电梯系统的操作被启动,电梯控制对象以循环的方式检查所有的电梯,从中选择一个工作队列长度最短的。然后,它创建一个作业命令,并将该命令放入对应电梯的工作队列,接着激活队列。电梯对象并发运行,从它的队列中选择一个作业并执行。电梯是一个活动对象,它与它的控制线程并发执行。 * 强调对象间的关系。 * UML和设计模式 4 动态建模(1)交互模型 权 巍 主要内容 4.1 对象类动态模型 4.2 交互建模 4.3 顺序图 4.4 合作图 UML和设计模式 * 4.1 对象类动态模型 对象类动态模型实际上是解决系统中的对象“何时做”的问题,是系统分析、设计阶段的重要内容和产物。 该模型描述系统的动态行为,包括:系统如何响应外部事件或激励,系统中各对象的执行顺序和状态的变化,侧重描述系统控制逻辑。 该模型包括:对象交互行为模型、对象状态模型。 UML和设计模式 * UML和设计模式 * 状态图和活动图 顺序图和合作图 对象状态模型 该模型主要用于描述对象的个体行为,其功能包括:为某个用例创建事件发生的轨迹,说明对象状态迁移变化的顺序,描述事件的活动是并发的还是顺序的。 其中,状态是一个对象在某一时刻属性特征的概括。 对象交互行为模型 该模型主要描述完成系统某个功能时,几个对象之间消息传递的时间序列,通常起始于一个系统外部输入事件,结束于某个条件的满足或某个系统外部的输出事件。 4.2 交互建模 对象类交互行为模型描述系统为完成某一功能,对象之间如何进行交互和协作,即消息的传递。 UML的顺序图、合作图可从不同的角度描述对象类交互行为,可用于对用例图中的控制流建模。 UML和设计模式 * 4.3 顺序图 顺序图(sequence diagram), 描述特定场景中,某个时刻,为完成某一功能对象间按照时间顺序的消息交互。 顺序图适合于描述实时系统中的时间特性和时间约束。 UML和设计模式 * 顺序图的组成成分 UML和设计模式 * 时间 对象 生存线 激活期 消息 顺序图有两个坐标: 垂直坐标--时间(从上到下),水平坐标—对象。 顺序图和用例图、类图的关系 UML和设计模式 * UML和设计模式 * 对象: 顺序图中对象的三种命名方式: (2)生存线(生命线): 对象框下画的一条垂直虚线,称为该对象的生存线,表示对象的生存时间。 消亡点 (3) 激活期: 对象生存线上的一个细长方形框,表示该对象的激活时间段。 一个激活的对象要么正在执行自己的代码,要么等待另一个对象的返回。 UML和设计模式 * !注意 激活期的起始位置 (4)消息 消息的标识格式: [序号][警戒条件]*[重复次数][回送值表:= ]操作名(参数表) 其中, 1.序号:表示消息在对象间交互的时间顺序号。 2.[警戒条件]:选择项,为一布尔条件表达式。 3.*[重复次数]:选择项,表示消息重复发送的次数。 4.回送值表:以“,”区分的名字表列,分别表示完成指定操作后返回的系列值。可缺省。 5.操作名:必须是接收该消息的对象类角色中的操作名。 6.“()”内的参数表是以“,”号区分的实参表,传送给接收消息的对象中的某个操作。 UML和设计模式 * 合法的消息标识,例: 启动系统(密码) 1: [打印机空闲] 打印(文件a) 2.3 *[所有课程] 课程: = 查询(课程名) 1.2 *[所有货物清单]: 核对清单() 1.3.1 p:= find(specs) 4 [x0] invert(x, color) UML和设计模式 * 练习 UML和设计模式 * 请指出下面的消息标签各部分的内容。 1 display( ) A.序号:消息名 B.返回值:消息名 [mode=display] 1.2.3.7 redraw( ) A.序号 返回值 消息名 B.警戒条件 序号:消息名 2 *[n:=a . . z] prim:=nextPrim(prim) A.序号 重复次数 返回值 消息名 B.序号 返回值 消息名 3.1 [x0] foo( ) A.序号 警戒条件 消息名 B.警戒条件 消息名 C
显示全部