本文和大家重点讨论一下UML动态模型图方面的知识,动态模型时指系统随时间变化的行为,行为是用从静态视图中抽取的系统的瞬间值的变化来描述的。
UML动态模型图
动态模型时指系统随时间变化的行为,行为是用从静态视图中抽取的系统的瞬间值的变化来描述的
从UML的表现上,UML的动态模型图主要是:
交互图和行为图
交互图又分为:
时序图
协作图
行为图又分为:
状态图
活动图
下面详细读解各类图:
时序图
UML动态模型图中时序图(SequenceDiagram)用来显示对象之间的关系,并强调对象之间消息的时间顺序,同时显示了对象之间的交互。
时序图主要包括如下元素:
类角色,生命线,激活期,消息
1,类角色(ClassRole)
类角色代表时序图中的对象在交互中所扮演的角色,位于时序图顶部和对象代表类角色。类角色一般代表实际的对象
2,生命线(Lifeline)
生命线代表时序图中的对象在一段时期内的存在。时序图中每个对象和底部中心都有一条垂直的虚线,这就是对象的生命线,对象间的消息存在于两条虚线间。
3,激活期(Activation)
激活期代表时序图中的对象执行一项操作的时期,在时序图中每条生命线上的窄的矩形代表活动期。它可以被理解成C语言语义中一对花括号“{}”中的内容
4,消息(Message)
消息是定义交互和协作中交换信息的类,用于对实体间的通信内容建模,信息用于在实体间传递信息。允许实体请求其他的服务,类角色通过发送和接受信息进行通信
协作图
UML动态模型图中协作图(CollaborationDiagram)是动态视图的另一种表现形式,它强调参加交互的各对象的组织。协作图只对相互间有交互作用的对象和这些对象间的关系建模,而忽略了其他对象和关联。协作图可以被视为对象图的扩展,但它除了展现出对象间的关联外,还显示了对象间的消息传递。
协作图中包括如下元素:类角色,关联角色和消息流
1,类角色(ClassRole)
类角色代表协作图中对象在交互中所扮演的角色。在协作图中矩形中的对象代表类角色,类角色的代表参与交互的对象,它的命名方式和对象的命名方式一样
2,关联角色(AssociationRole)
关联角色代表协作图中连接在交互中所扮演的角色。协作图中连线代表着关联角色
3,消息流(MessageFlow)
消息流代表协作图中对象间通过链接发送的消息。协作图中类角色之间的箭头表明在对象间交换的消息流,消息由一个对象发出由消息所指向的对象接收。链接用于传输或实现消息的传递。消息流上标有消息的序列号和类角色间发送的消息,一条消息会触发接受对象中的一项操作
状态图
UML动态模型图中状态图是表现一个系统或一个组件可能存在的状态
状态图用业显示一个对象的状态序列,使对象达到这些状态的事件和条件,以及在此过程中所做的操作。
图通常包括如下内容
1,状态
状态定义对象在其生命周期中的条件或状况,在此期间,对象满足某些条件,执行某些操作或等待某些事件。状态用于对实体在其生命中状况建模
2,转换
转换包括事件和动作。事件是发生在时间空间上的一点值得注意的事情,动作是原子性的。它通常表示一个简短的计算处理过程。
在UML中,图形上每一个状态图都有一个初始状态(实心圆),用来表示状态机的开始。还有一个终止状态(半实心圆),用来表示状态机的终止。其它的状态用一个圆角的矩形表示。转换表示状态间可能的路径,用箭头表示,事件写在由它们触发引起的转换上。
活动图
UML动态模型图中活动图是一种表述过程基理,业务过程以及工作流的技术。它所起到的作用与流程图类似,但是,与流程图不同的是,活动图支持并行行为。活动图可看作是状态图的特例或者扩展。而活动图除表述对象状态外,更注更对象的活动
整个过程用黑实心圆表示开始,用黑白黑心圆表示终止,用圆角矩形表示活动。分支以及分支结束时的合并merge在图中用菱形表示。解以及分解结束时的线程结合join在图中用粗黑线表示
UML动态视图比较
UML的动态视图包括交互图,状态图和活动图,它们的区别是:
1,状态图是为一个对象的生命期间的情况建立模型
2,交互图(时序图和协作图)表示若干个对象在一起工作完成某项服务
3,活动图描述活动的序列,建立活动间控制流的模型
【编辑推荐】