资源预览内容
第1页 / 共91页
第2页 / 共91页
第3页 / 共91页
第4页 / 共91页
第5页 / 共91页
第6页 / 共91页
第7页 / 共91页
第8页 / 共91页
第9页 / 共91页
第10页 / 共91页
亲,该文档总共91页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
1,第12章 系统动态特性与对象交互模型,系统的静态模型描述了系统的组成关系及结构,包括元素及其关系。偏重于描述了系统的全貌 系统的动态模型则表示了系统对外表现的功能、性能、特性等的实现过程。倾向于刻画系统的细节。 动态模型的建模方法: 顺序图(Sequence Diagram) 交互图(Communication Diagram) 状态图(state chart Diagram) 活动图(Activity Diagram),2,交互图模型,顺序图 (时序图 ) 交互图 (协作图),3,时序图,概述 时序图的组成 对象的创建和撤销,4,概述,时序图是强调消息时间顺序的交互图 时序图描述了对象之间传送消息的时间顺序,用来表示用例中的行为顺序 时序图将交互关系表示为一个二维图 纵轴是时间轴,时间沿竖线向下延伸 横轴代表了在交互中的各独立的对象,5,概述,时序图示例,6,时序图的组成,时序图包含了 4 个元素 对象(Object) 生命线(Lifeline) 消息(Message) 激活(Activation),7,时序图的组成,对象 时序图中对象的符号和对象图中对象所用的符号一样 将对象置于时序图的顶部意味着在交互开始的时候对象就已经存在了,如果对象的位置不在顶部,那么表示对象是在交互的过程中被创建的,8,时序图的组成,生命线 生命线是一条垂直的虚线,表示时序图中的对象在一段时间内的存在。每个对象的底部中心的位置都带有生命线 生命线是一个时间线,从时序图的顶部一直延伸到底部,所用的时间取决于交互持续的时间,9,时序图的组成,消息 消息定义的是对象之间某种形式的通信,它可以激发某个操作、唤起信号或导致目标对象的创建或撤销 消息是两个对象之间的单路通信,从发送方到接收方的控制信息流 消息可以用于在对象间传递参数 消息可以是信号,也可以是调用 在 UML 中,消息使用箭头来表示,箭头的类型表示了消息的类型,10,时序图的组成,激活 激活(Activation)表示该对象被占用以完成某个任务,去激活(Deactivation)指的则是对象处于空闲状态、在等待消息 在 UML 的时序图中,为了表示对象是激活的,可以将该对象的生命线拓宽成为矩形。其中的矩形称为激活条或控制期,对象就是在激活条的顶部被激活的,对象在完成自己的工作后被去激活,11,对象的创建和撤销,如果对象位于时序图的顶部,说明在交互开始之前该对象已经存在了。如果对象是在交互的过程中创建的,那么它应当位于图的中间部分 对象在创建消息发生之后才能存在,对象的生命线也是在创建消息之后才存在的,12,对象的创建和撤销,创建对象的两种表示方法,13,对象的创建和撤销,如果要撤销一个对象,只要在其生命线终止点放置一个 “X” 符号即可,该点通常是对删除或取消消息的回应,14,图书馆管理系统的时序图,增加借阅者用例时序图(Add Borrower),15,图书馆管理系统的时序图,删除借阅者用例时序图(Remove Borrower),16,图书馆管理系统的时序图,更新借阅者用例时序图(Update Borrower),17,图书馆管理系统的时序图,增加书籍用例时序图 1(Add Item 1),18,图书馆管理系统的时序图,增加书籍用例时序图 2(Add Item 2),19,图书馆管理系统的时序图,删除书籍用例时序图 1(Remove Item 1),20,图书馆管理系统的时序图,删除书籍用例时序图 2(Remove Item 2),21,图书馆管理系统的时序图,借书用例时序图(Lend Book),22,图书馆管理系统的时序图,还书用例时序图(Return Book),23,协作图,概述 协作图的组成 时序图与协作图的互换 图书馆管理系统的协作图,24,概述,协作图是时序图之外的另一种表示交互的方法 协作图对交互中有意义的对象和对象之间的链建模 在 UML 中,协作图用几何排列来表示交互作用中的对象和链,附在链的箭头代表消息,消息的发生顺序用消息箭头处的编号来说明,25,概述,协作图示例,26,协作图的组成,协作图包含了 3 个元素 对象(Object) 链(Link) 消息(Message),27,协作图的组成,对象 协作图与时序图中的对象的概念是一样,只不过在协作图中,无法表示对象的创建和撤销,所以对于对象在图中的位置没有限制,28,协作图的组成,链 协作图中链的符号和对象图中链所用的符号是一样的,即一条连接两个类角色的实线 为了说明一个对象如何与另一个对象连接,可以在链的末路上附上一个路径构造型,29,协作图的组成,消息 协作图中的消息类型与时序图中的相同,为了说明交互过程中消息的时间顺序,消息具有顺序号 顺序号是消息的一个数字前缀,是一个整数,由1开始递增,每个消息都必须由唯一的顺序号 与时序图相比,协作图可以显示更为复杂的分支,30,时序图与协作图的互换,时序图与协作图都表示对象之间的交互作用,只是它们的侧重点有所不同 时序图描述了交互过程中的时间顺序,但没有明确地表达对象之间的关系 协作图描述了对象之间的关系,但时间顺序必须从顺序号获得 两种图的语义是等价的,可以从一种形式的图转换成另一种形式的图,而不丢失任何信息,31,图书馆管理系统的协作图,增加借阅者用例协作图(Add Borrower),32,图书馆管理系统的协作图,删除借阅者用例协作图(Remove Borrower),33,图书馆管理系统的协作图,更新借阅者用例协作图(Update Borrower),34,图书馆管理系统的协作图,增加书籍用例协作图1(Add Item 1),35,图书馆管理系统的协作图,增加书籍用例协作图2(Add Item 2),36,图书馆管理系统的协作图,删除书籍用例协作图1(Remove Item 1),37,图书馆管理系统的协作图,删除书籍用例协作图2(Remove Item 2),38,图书馆管理系统的协作图,借书用例协作图(Lend Book),39,图书馆管理系统的协作图,还书用例协作图(Return Book),40,状态活动图模型,状态图 活动图,41,状态图,状态机 状态图 状态 转换 事件 监护条件 动作,42,状态机,状态机是展示状态与状态转换的图 状态机包含了一个类的对象在其生命期间所有状态的序列以及对象对接受到的事件所产生的反应 利用状态机可以精确地描述对象的行为 状态机的组成 状态(State) 转换(Transition) 事件(Event) 活动(Activity) 动作(Action),43,状态图,一个状态图表示一个状态机 状态图表现从一个状态到另一个状态的控制流 状态图由表示状态的节点和表示状态之间转换的带箭头的直线组成 状态图的组成 状态(State) 转换(Transition) 初始状态(Start State) 终结状态(End State) 判定(Decision),44,状态图,45,状态,状态图中的状态一般是给定类对象中的一组属性值,这组属性值是对象所有属性的子集 在对系统建模时,我们可以只关心那些明显影响对象行为的属性以及由他们表达的对象状态,而不用理睬那些于对象行为无关的状态,46,状态,状态由一个带圆角的矩形表示 状态图标可以分为三部分 名称 内部转换 嵌套状态,47,状态,状态名 表示状态名称的字符串 一个状态的名称在状态图所在的上下文中应该是唯一的 状态允许匿名,48,转换,转换表示当一个特定事件发生或者某些条件得到满足时,一个源状态下的对象在完成一定的动作后将发生状态转变,转向另一个称之为目标状态的状态 转换进入的状态为活动状态,转换离开的状态变为非活动状态,49,转换,转换用带箭头的直线表示,一端连接源状态即转出的状态,箭头一端连接目标状态即转入的状态 转换可以标注与此转换相关的选项如事件、动作和监护条件,50,转换,转换的分类 外部转换 内部转换 完成转换 复合转换,51,转换,外部转换 外部转换是一种改变对象状态的转换,是最常见的一种转换 外部转换用从源状态到目标状态的箭头表示,52,转换,内部转换 内部转换有一个源状态但是没有目标状态,它转换后的状态仍旧是它本身 内部转换的激发规则和改变状态的外部转换的激发规则相同 内部转换用于对不改变状态的插入动作建立模型,53,转换,完成转换 完成转换又称为自转换 完成转换是因为没有标明触发器事件的转换是由状态中的活动的完成引起的,是自然而然地完成的转换 完成转换也可以带一个监护条件,这个监护条件在状态中的活动完成时被赋值,而非活动完成后被赋值,54,转换,内部转换和自转换(完成转换)的区别 自转换是离开本状态后重新进入该状态,它会激发状态的入口动作和出口动作的执行 内部转换自始至终都不离开本状态,所以没有出口或入口事件,也就不执行入口和出口动作,55,转换,复合转换 复合转换由简单转换组成,这些简单转换通过分支判定、分叉或接合组合在一起 除了两个分支的判定,还有多条件的分支判定 多条件的分支判定有分为链式的和非链式的分支,56,事件,事件表示在某一特定的时间或空间出现的能够引发状态改变的一种运动变化 事件是一个激励的出现,它定义一个触发子以触发对象改变其状态,任何影响对象的事物都可以是事件 触发事件是能够引起状态转换的事件 触发事件可以是信号、调用、时间段等,57,事件,事件种类 入口事件 出口事件 动作事件 信号事件 调用事件 修改事件 时间事件 延迟事件,58,事件,入口事件 入口事件表示一个入口的动作序列,它在进入状态时执行 入口事件的动作是原子的,并且先于人和内部活动或转换 出口事件 出口事件表示一个出口的动作序列,它在退出状态时执行 出口事件也是原子的,它跟在所有的内部活动之后,但是先于所有的出口转换,59,事件,动作事件 动作事件也称为“do事件”,它表示对一个嵌套状态机的调用 与动作事件相关的活动必定引用嵌套状态机,而非引用包含它的对象的操作 信号事件 信号的接收是信号接受对象的一个事件 信号分为异步单路通信和双路通信 在异步单路通信中,发送者是独立的 在双路通信模型中,至少在每个方向上都要有一个信号 在信号事件中,发送者和接受者可以是同一个对象,60,事件,调用事件 调用事件是一个对象对调用的接收 调用事件至少涉及两个以上的对象 调用事件既可以为同步调用,也可以为异步调用 修改事件 修改事件依靠特定属性值的布尔表达式所表示的条件的满足来触发状态的转换 修改事件表示了一种具有时间持续性的并且可能是涉及全局的计算过程,61,事件,时间事件 时间事件代表时间的流逝 时间事件既可以被指定为绝对形式(天数),也可以被指定为相对形式(从某一指定事件发生开始所经历的时间) 时间事件可以描述一个通知信息,自进入状态以来某个时间期限已到,时间事件就会激发状态的转换 延迟事件 延迟事件是在本状态不处理,要推迟到另外一个状态才处理的事件,62,监护条件,监护条件是触发转换必须满足的条件,它是一个布尔表达式 监护条件只能在触发事件发生时被赋值一次,如果在转换发生后监护条件才由假变为真,那么转换也不会被触发 从一个状态引出的多个转换可以有同样的触发器事件,但是每个转换必须具有不同的监护条件,63,动作,动作是一组可执行语句或者计算处理过程 动作可以包括发送消息给另一个对象、操作调用、设置返回值、创建和销毁对象等 动作是原子的,不可中断的,动作或动作序列的执行不会被同时发生的其他动作影响或终止 整个系统可以在同一时间执行多个动作,64,图书馆管理系统的状态图,借阅者的状态图,65,图书馆管理系统的状态图,图书的状态图,66,活动图,活动图概述 活动图的用途 活动图的图形表示 活动图与状态图的区别 活动图与流程图的区别 活动图的基本组成元素 图书馆管理系统的活动图,67,活动图概述,活动图描述系统中各种活动的执行顺序,通常用于描述一个操作中所要进行的各项活动的执行流程。同时,它也常被用来描述一个用例的处理流程,或者某种交互流程 活动是某件事情正在进行的状态 活动图由一些活动组成
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号