UML系统建模及系统分析与设计课件:面向对象系统设计与行为建模.ppt
核对付款单的顺序图5.2.2通信图1.通信图符号通信图包含内容⑴类角色类角色(ClassRole)代表通信图中对象在交互中所扮演的角色。在通信图中矩形中的对象代表类角色,类角色代表参与交互的对象,它的命名方式和对象的命名方式一样⑵关联角色。关联角色(AssociationRole)代表通信图中的连接在交互中所扮演的角色通信图中连线代表着关联角色。通信图包含内容⑶消息流。消息流(MessageFlow)代表通信图中对象间通过链接发送的消息。通信图中类角色之间的箭头表明在对象间交换的消息流,消息由一个对象发出,由消息所指向的对象接收。链接用于传输或实现消息的传递。消息流上标有消息的序列号和类角色间发送的消息,一条消息会触发接受对象中的一项操作。通信图包含内容⑶消息流消息定义的格式如下:消息类型标号控制信息:返回值:=消息名参数表消息的类型与顺序图相同。消息的标号有3种:顺序执行:按整数大小顺序执行。标号为1,2…,n。嵌套执行:标号中带小数点。标号为1.1,1.2,1.3,…。并行执行:标号中带小写字母。标号为1.1.1a,1.1.1b,…。多数情况下,只对单调的、顺序的控制流建模。2.通信图构建⑴确定交互过程的上下文(context),即工作流。⑵识别参与交互过程的对象类角色,把它们作为图形的节点安置在通信图中。⑶如果需要,为每个对象设置初始特性。⑷确定对象之间的链(Link),以及沿着链的消息⑸从引发这个交互过程的初始消息开始,将随后的每个消息附到相应的链上。⑹如果需要说明时间约束,则在消息旁边加上约束说明。⑺如果需要,可以为每个消息附上前置条件和后置条件。⑻处理一些特殊情况,如循环、自调用、回调、多对象等。大学生注册系统的通信图5.2.3交互建模的选择1.顺序图与通信图的区别顺序图和通信图都属于交互图,都用于描述系统中对象之间的动态关系。顺序图着重描述对象按照时间顺序的消息交换,并且把用例行为分配给类。通信图着重描述系统成分如何协同工作,强调对象间的结构关系。顺序图和通信图从不同的角度表达了系统中的交互和系统的行为。5.2.3交互建模的选择顺序图与通信图的区别顺序图有两个不同于通信图的特征:第一,顺序图有对象生命线。第二,顺序图有控制焦点。通信图有两个不同于顺序图的特征:第一,通信图有路径。第二,通信图中有序号。5.2.3交互建模的选择交互图和类图的关系:交互图和类图可以相互补充。类图对类的描述比较充分,但对对象之间的消息交互情况的表达不够详细交互图不考虑系统中的所有类和对象,但可以表示系统中某几个对象之间的交互交互图描述对象之间的消息发送关系,而不是类之间的关系。在交互图中一般不会包ㄏ低持械乃有类的对象,但同一个类可以有多个对象出现在交互图中。2.交互图的选择一个结构好的交互图,应满足如下的要求:⑴关注与系统动态特性的一个方面的交流。⑵只包含那些对于理解这个方面必不可少的元素。⑶提供与它的抽象层次相一致的细节,只能加入那些对于理解问题必不可少的修饰。⑷不应该过分简化信息,避免读者误解重要的语义。当绘制一个交互图时,要遵循以下的策略:⑴给出一个能表达其用途的名称。⑵如果想强调消息的时间顺序就使用顺序图;如果想强调参加交互的对象的组织,就使用通信图。⑶其元素的摆放尽量减少线的交叉。⑷用注解和颜色作为可视化提示,以突出图中重要的特征。⑸少使用分支,用活动图来表示复杂的分支要好得多。5.3系统行为建模 5.3.1状态机图符号1.UML状态机图符号状态机图的组成元素包括:初始状态、终止状态、状态、转换。转换将各种状态连接在一起,构成一个状态机图。5.3系统行为建模 2.状态机图组成元素状态机图实质上是一种由状态、转移、事件、动作和连接点组成的状态机,下面简要介绍这些要素。⑴状态状态是给定类的对象的一组属性值,这组属性值对所发生的事件具有相同性质的反应。状态定义对象在其生命周期中的条件或状况,在此期间,对象满足某些条件,执行某些操作或等待某些事件。状态用于对实体在其生命中状况建模。状态图中的状态用圆角矩形表示,它由状态名、状态变量和活动三部分组成。一般情况下,一个状态的状态变量部分可以省略。状态的活动部分通常包括进入/退出活动、内部转换、子状态、延迟事件和内部活动等部分。⑴状态①状态名。状态的名称可以包含任意数量的字母、数字和某些标点符号(有些标点符号除外,如冒号),并且可以连续几行。②进入/退出活动。入口动作用“entry/要执行的动作”表达,而出口动作用“exit/要执行的