静态结构动态行为
行为的分类
静态行为:不被任何外部或内部的事件所影响.(数据流驱动的行为)
动态行为:受外部或内部的事件所影响.(无法详细精确把全部序列都列举出来)
用事件驱动的行为,状态图来描述动态行为。
可利用交互图以及状态图,能够帮助分析服务及服务之间的关系。
交互图、状态图、活动图都可以用来描述行为。
交互:实例之间的通信的集合。交互最明显的方面是消息传递,消息序列对理解交互是重要
的。
顺序图既详细又直观,但通常只能表示少数几个对象之间的交互。
最简单的顺序图由对象、消息、生命线和激活组成。
定义
消息是两个对象间的通讯,这样的通讯用于传输将产生的动作所需要的信息。
消息的效果
一个消息会调用另一个对象的操作,调用本对象的操作,向另一个对象发送一个信号,创建或者撤消一个对象(可以自己销毁自己),还可能向调用者返回一个结果。
消息的表示
把消息表示为从一个对象生命线到另一个对象生命线的一个水平实线箭头,即从源对象指向目标对象,以触发目标对象中的特定操作。对于对象到自身的消息,箭头就从同一个对象符号开始和结束。
用消息(操作或信号)的名字及其参数值或者参数表达式标示箭头。
消息的传递时间
在很多情况下,传递时间是可以忽略的。
同步消息:仅当发送者发送一个消息而且接受者已做好接受这个消息的准备时才能传送的消息
异步消息:发送者不管接受者是否做好接受准备都可以发送的消息。(做其他的事情时不影响接收,并且可以保证接受者可以接收)
返回消息:同步消息的返回消息.
顺序系统中一切操作都是顺序执行的.其OOA模型中只有一个主动对象,并且这个主动对象中只有一个主动服务.
实现之后的系统在运行时,将只对应一个进程或线程.
消息都是同步的。
每个消息只有唯一的接收者。
并发系统中的消息
并发系统是有多个任务并发执行的系统.
其OOA模型中只有多个主动对象,若有一个主动对象则有多个主动服务.
实现之后的系统在运行时,将只对应多个进程或线程.
控制线程内部同顺序系统控制线程之间情况复杂得多
消息有多种用途
消息有同步与异步之分
接收者对消息有不同响应方式
发送者对消息处理结果有不同期待方式
消息的接收者可能不唯一
同步动作是一个请求,发送请求的对象停下来等待响应.
异步动作不要求发送对象暂停以等待结果.
主动方和接收方都是被动对象时就是同步消息。
信号是异步传送的一种机制。同步传送消息是直接调用对象。信号只有属性没有操作
组合片段定义了交互片段的表达方式.
组合片段由交互操作符(interaction operator)和交互操作数(interaction operands)组成.
通过组合片段,用户以一种紧密\简明的方式描述一组交互过程中的事件发生序列.
组合片段通过门相连.门指定了组合片段和交互其他部分之间的接口。
alt 表示条件相当于if语句
critical 序列顺序不被打乱
通讯图集中于描述以内部结构与相应的消息传递为中心的交互.(将静态结构和动态行为结合起来,用标号标出执行顺序)
交互概要图:以活动图的变形定义交互,突出控制流的概况.(直观但不够详细)
时序图:首要目的是考虑时序时,使用时序图.时序图描述单个类的行为或多个类
的交互,集中于引起对象状态或条件发生变化的事件的发生时间.(可描述出时间的跨度)