《系统动态分析与交互模型.ppt》由会员分享,可在线阅读,更多相关《系统动态分析与交互模型.ppt(55页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、第第5章章 系统动态分析与交互模型系统动态分析与交互模型概述概述动态分析动态分析序列图等序列图等需求捕获需求捕获用例图用例图静态分析静态分析类图、对象图类图、对象图概述概述用例模型中对系统的功能用例模型中对系统的功能用例模型中对系统的功能用例模型中对系统的功能(用例用例用例用例)进行了描述,但所进行了描述,但所进行了描述,但所进行了描述,但所关注关注关注关注的重点是:系统能做什么的重点是:系统能做什么的重点是:系统能做什么的重点是:系统能做什么(WhatWhatWhatWhat)问题:怎么做问题:怎么做问题:怎么做问题:怎么做(HowHowHowHow)才能实现系统的每一种功能?才能实现系统的
2、每一种功能?才能实现系统的每一种功能?才能实现系统的每一种功能?在静态模型中,确定了所有构成系统的类,并且确定了在静态模型中,确定了所有构成系统的类,并且确定了在静态模型中,确定了所有构成系统的类,并且确定了在静态模型中,确定了所有构成系统的类,并且确定了类之间的关系以及类的属性、方法。类之间的关系以及类的属性、方法。类之间的关系以及类的属性、方法。类之间的关系以及类的属性、方法。问题:问题:问题:问题:对象之间通过哪些交互完成功能需求?对象之间通过哪些交互完成功能需求?对象之间通过哪些交互完成功能需求?对象之间通过哪些交互完成功能需求?为什么要进行动态分析为什么要进行动态分析概述概述用于对系
3、统中一组对象群体的行为建模用于对系统中一组对象群体的行为建模用于对系统中一组对象群体的行为建模用于对系统中一组对象群体的行为建模主要用来表达对象之间的主要用来表达对象之间的主要用来表达对象之间的主要用来表达对象之间的动作协作动作协作动作协作动作协作关系关系关系关系通常用来描述用例的通常用来描述用例的通常用来描述用例的通常用来描述用例的行为实现行为实现行为实现行为实现显示显示显示显示用例实现用例实现用例实现用例实现/类操作(方法)涉及的对象和对象间的消类操作(方法)涉及的对象和对象间的消类操作(方法)涉及的对象和对象间的消类操作(方法)涉及的对象和对象间的消息传递情况息传递情况息传递情况息传递情
4、况动态分析的任务动态分析的任务概述概述 动态分析模型描述系统的动态行为,显示对象在系统动态分析模型描述系统的动态行为,显示对象在系统运行期间不同时刻的动态交互,主要是建立系统的运行期间不同时刻的动态交互,主要是建立系统的交互图交互图和和行为图行为图。概述概述 交互图交互图对象之间的合作在UML里被称作交互。交互体现了对象之间的作用、对象之间的联系。序列(顺序、时序)图(Sequence Diagram)协作图(Collabboration Diagram)概述概述 行为图行为图主要用来设计程序的行为。状态图(Statechart Diagram)活动图(Activity Diagram)概述概
5、述序列图协作图状态图活动图动态分析模型包括下列模型图:动态分析模型包括下列模型图:概述概述序列图序列图序列图序列图:注重表达交互作用的时间顺序,没有明确表示对象间的关系。(对象之间对象之间的交互或对象外部的交互行为)协作图:协作图:协作图:协作图:协作图注重表示对象间的关系,时间顺序可以从消息的序号中获得。状态图:状态图:状态图:状态图:状态图主要描述系统行为的结果。(表示对象内部对象内部的状态变化)活动图:活动图:活动图:活动图:活动图主要描述系统动态行为的过程。序列图的基本概念序列图的基本概念序列图序列图是用于描述对象之间基于时间顺序的动态交互,并将交互建模成对象之间消息交换的图形。定义:
6、定义:序列图的基本概念序列图的基本概念在UML的表示中,序列图将交互关系表示为一个二维图。其中,纵轴是时间轴,时间沿竖线向下延伸。横轴代表了在交互中各独立的对象。UMLUML表示:表示:序列图的基本概念序列图的基本概念序列图的基本概念序列图的基本概念序列图的基本概念序列图的基本概念序列图元素序列图元素序列图元素序列图元素1 1.角色(角色(ActorActor)系统角色可以是人或者其他系统、子系统。2 2.对象对象(Object)(Object)对象代表时序图中的对象在交互中所扮演的角色,位于时序图顶部和对象代表对象实例。序列图中包括:角色、对象、生命线、激活和消息。序列图元素序列图元素3 3
7、.生命线生命线(Lifeline)(Lifeline)生命线代表时序图中的对象在一段时期内的存在。时序图中每个对象和底部中心都有一条垂直的虚线,这就是对象的生命线,对象间 的消息存在于两条虚线间。序列图元素序列图元素4 4.激活激活(Activation)(Activation)对象生命线上的窄矩形条被称为激活,激活表示该对象正在执行某个操作。激活条的长短表示操作的时间。一个被激活的对象要么执行自己的代码,要么等待另一个对象的返回结果。序列图元素序列图元素5 5.消息消息(Message)(Message)消息是从一个对象(发送者)向另一个或其他几个对象(接收者)发送信号或由一个对象(发送者或
8、调用者)调用另一个对象(接收者)的操作。StartUMLStartUML中的消息中的消息 创建(CREATE)同步调用(CALL)异步调用(SEND)自调用(CALL)返回(RETURN)销毁(DESTROY)序列图创建序列图创建序列图创建序列图创建实例(借阅图书)实例(借阅图书)实例(借阅图书)实例(借阅图书)借阅图书用例的描述借阅图书用例的描述实例(借阅图书)实例(借阅图书)基本工作流:基本工作流:1)图书管理员输入借阅证信息。2)系统验证借阅证的有效性。3)图书管理员输入图书信息。4)添加新的借阅记录。5)显示借阅后的借阅信息。备选过程备选过程A A:所借图书数量超过规定1)获取借阅者的
9、借书数量。2)系统验证借书数量。3)创建一个“MessageBox”对象以提示借书数量超过规定的错误。实例(借阅图书)实例(借阅图书)备选过程备选过程B B:借阅者的借阅证失效1)借阅者实例化对象返回借阅者信息错误。2)创建一个“MessageBox”对象以提示借书借阅证失效的错误。备选过程备选过程C C:该借阅者有超期的借阅信息:该借阅者有超期的借阅信息1)获取借阅者的所有借阅信息。2)查询数据库以获取借阅信息的日期、且系统验证借阅期限。3)显示超期的图书信息。4)创建一个“MessageBox”对象以提示借书借阅超期的错误。实例(借阅图书)实例(借阅图书)基本工作流的序列图基本工作流的序列
10、图实例(借阅图书)实例(借阅图书)备选过程备选过程A A的序列图的序列图实例(借阅图书)实例(借阅图书)备选过程备选过程B B的序列图的序列图实例(借阅图书)实例(借阅图书)序列图元素序列图元素除常用的元素之外,还包括:组合片段(Combined Fragment)交互操作符(Interaction Operator)框图(Frame)StarUML StarUML 组合片段(组合片段(Combined Fragment)组合片段(组合片段(Combined Fragment)分支片段先选择Combined Fragment,将Interaction Operator设置为alt在Combin
11、ed Fragment 中加入Interaction Operator,并写入条件。组合片段(组合片段(Combined Fragment)选项片段先选择Combined Fragment,将Interaction Operator设置为opt,写入选项条件组合片段(组合片段(Combined Fragment)循环片段先选择Combined Fragment,将Interaction Operator设置为loop,可写入循环次数框图(框图(FrameFrame)简化顺序图复杂度利于任务和模块分割sd表示框图定义ref表示框图应用框图可以嵌套框图的定义框图的定义框图的引用框图的引用框图的嵌套
12、框图的嵌套StarUMLStarUML序列图的参数设置序列图的参数设置参数显示序号消息格式NONE:不显示参数TYPEONL:只显示类型,包括返回值NAMEONLY:只显示参数名NAMEANDTYPE:显示参数名和类型StarUMLStarUML顺序角色图顺序角色图 顺序角色图表示角色概念间的交互。顺序图是面向实顺序角色图表示角色概念间的交互。顺序图是面向实例的交互。例的交互。协作图协作图 协作图侧重的是描述对象角色之间的关系,在于对象的作用。为什么要使用协作图为什么要使用协作图 协作图作为一种在给定语境中描述协作中各个对象之间的组织交互关系的空间组织结构图形化方式,在使用其进行建模时,可以将
13、其作用分为 以下三个方面:通过描绘对象之间消息的传递情况来反映具体的使用语境的逻辑表达,这和序列图的作用类似。为什么要使用协作图为什么要使用协作图显示对象及其交互关系的空间组织结构。协作图显示了在交互过程中 各个对象之间的组织交互关系以及对象彼此之间的链接。与序列图不同,协作图显示的是对象之间的关系,并不侧重交互的顺序,它没有将时间作为一个单独的维度,而是使用序列号来确定消息及并发线程的顺序。为什么要使用协作图为什么要使用协作图协作图的另外一个作用是表现一个类操作的实现。协作图可以说明类操作中使用到的参数、返回值等(和序列图类似)。当使用协作图表现一个系统行为时,消息编号对应了程序中嵌套调用结
14、构和信号传递过程。协作图协作图序列图和序列图和协作图的异同协作图的异同:共同点:都是交互图,描述对象之间的交互都包含一系列消息集合不同点:时序图注重表达交互作用的时间顺序,没有明确表示对象间的关系。协作图注重表示对象间的关系,时间顺序可以从消息的序号中获得。序列图常用于表示方案。协作图则用于过程的详细设计。协作图协作图针对针对StarUMLStarUML,序列图和,序列图和协作图的不同协作图的不同:片段的设计-协作图无法表达片段设计,如:分支、循环、或引用片段,协作图均无法呈现,不利于片段设计的重用,也无法表达控制流程的设计。对象连接-在序列图中,没有呈现对象之间的连接。但在协作图中,对象之间
15、的连接是焦点所在。所以,通过协作图的对象连接,立即就明白对象之间先建立起连接,然后才能传送消息。协作图协作图消息的顺序-序列图擅于呈现依序发送消息的情况,即便隐藏了消息的序号,从图上仍旧可以清楚获知由上而下发送消息的交互状况。而隐藏序号之后的协作图,几乎无法阅读。协作图组成要素协作图组成要素1.对象一个协作代表了为了完成某个目标而共同工作的一组对象。对象的角色表示一个或一组对象 在完成目标的过程中所应起的那部分作用。对象是角色所属的类的直接或者间接实例。在协作图中,不需要关于某个类的所有对象都出现,同一个类的对象在一个协作图中也可能 要充当多个角色。协作图组成要素协作图组成要素1.对象协作图中
16、对象的表示形式也和序列图中的对象的表示方式一样,与序列图不同的是,对象的下部没有一条被成为“生命线”的垂直虚线,并且对象存在多对象的形式。未绑定对象所属类名完全限定对象名未指定对象名协作图组成要素协作图组成要素2.消息在协作图中,可以通过一系列的消息来描述系统的动态行为。在协作图中,消息使用带有标签的箭头来表示,它附在连接发送者和接收者的链上。链连接了发送者和接收者,箭头的指向便是接收者。每个消息包括一个顺序号以及消息的名称。消息的名称可以是一个方法,包含一个名字和参数表、可选的返回值表。消息的各种实现的细节也可以被加入,如同步与异步等。协作图组成要素协作图组成要素3.链在协作图中的链和对象图中链的概念和表示形式都相同,都是两个或多个对象之间的独立连接,是关联的实例。在协作图中,链的表示形式为一个或多个相连的线或弧。在自身相关联的类中,链是两端指向同一对象的回路,是一条弧。为了说明对象是如 何与另外一个对象进行连接的,还可以在链的两端添加上提供者和客户端的可见性修饰。协作图协作图序列图序列图协作图协作图协作图协作图Star UML中,时序图和协作图相互转换