第7章 交互图
第7章 人机交互系统
教学重点 • 人机交互控制方式 • 键盘原理 • CRT显示器原理 教学难点
• 人机交互控制方式
CS&T Informat机交互系统 概述
典型人机交互 设备 人机交互的
发展
CS&T Information Course
7.1人机交互系统概述——人机交互的概念
教学重点 • 人机交互控制方式 • 键盘原理 • CRT显示器原理 教学难点
• 人机交互控制方式
CS&T Information Course
课程逻辑图
什么是程序? (程序的本质) 信息的描述 (数码系统) 信息的处理 (运算与运算器) 什么是指令? (指令系统) 指令存在什么地方? (存储系统) 指令怎样执行? (中央处理器) 指令怎样进入主存? (人机交互系统) 人机交互界面 输入设备 人机交互设备 人机交互接口 人机交互控制方式 直接存储器访问方式 通道方式 输出设备 直接程序控制方式 中断程序控制方式 如何开发程序?
人机交互是一门科学学科,它主要研究用 户如何使用计算机以及如何设计一个可以帮助 用户提高工作效率的计算机系统,是一个多学 科的综合,涉及到计算机科学、心理学、社会 学、图形设计、工业设计等多个领域。
• 人机交互系统的主要作用是控制有关设备的运行和理解 并执行通过人机交互设备传来的有关的各种命令和要求。
7.2人机交互控制方式——直接存储器访问方式
• 基本概念
主存储器
CPU
外设端口
HLDA
HOLD
DMA控制器
CS&T Information Course
7.2人机交互控制方式——直接存储器访问方式
• DMA控制器的控制方式
– 周期窃取方式
L7- 交互图
交互图Interaction diagram,是描述对象之间的关系和对象之间的信息传递的图;强调对象交互的图顺序图(Sequence Diagram)通信图(Communication Diagram)专门的图时间图(Timing Diagram)交互纵览图(Interaction Overview Diagram)Sequence Diagram面向时间描述对象交互的视图Communication Diagram对象间消息的结构化视图CommunicationDiagramsSequence DiagramsTiming Diagram交互中消息有关的时间约束视图Interaction Overview Diagram混合逻辑序列的高级交互视图Interaction OverviewDiagramsTiming Diagrams按照时间顺序显示对象之间交互的图;活动者(actor)对象(object)生命线(lifeline)控制焦点(focus of control )/激活期消息(message)交互片断(Interaction Frame)一般活动者和对象按照从左到右的顺序排列,主要活动者排在最左边;:RegisterForC oursesForm :RegistrationControllerSWTSU Catalog: CourseCatalogSystem: StudentActor instances对象的命名方式有三种:包括对象名和类名类名(匿名对象)对象名(不关心类): c ourse UML uml :cour se每个对象都有自己的生命线,是一条垂直的虚线,用来表示一个对象在一段时间内存在。
如对象生命期结束,则用注销符号表示;控制焦点(focus of control )/激活期对象执行某个动作的时期源对象目标对象return:=message(para)对象间交互信息的方式,消息分为五种:对象创建、同步调用、返回、异步消息、交叉异步消息、对象销毁同步调用(Procedure Call)发送者把消息发送后,等待直到接收者返回控制,可以表示同步;源对象目标对象异步(Asynchronous)消息发送后,发送者继续操作,不等待,常用于并发;源对象目标对象m e s s a g e(p a r a)UML三种消息:返回(Return)表示消息的返回。
第8讲-时序图复习进程
7.2.5 消息
在任何一个软件系统中,对象都不是孤立存在的
,它们之间通过消息进行通信。
消息是用来说明时序图中不同活动对象之间的通 信。因此,消息可以激发某个操作、创建或撤销 某个对象。
可以清晰而直观的表示对象之间的行为交互关系以及 操作和消息的时序关系。
时序图的主要用途之一是用来为某个用例的 泛化功能提供其所缺乏的解释,即把用例表 达的要求转化为更进一步的精细表达。
用例常常被细化为一个或多个时序图。
时序图除了在设计新系统方面的用途之外, 它还能用来记录一个存在系统的对象现在如 何交互。
对象A向对象B发送消息,可以简单地理解为 对象A调用对象B的一个操作(operation)。
7.2.5 消息
顺序图中,尽力保持消息的顺序是从左到 右排列的。
一个顺序图的消息流开始于左上方,消息2 的位置比消息1低,这意味着消息2的顺序 比消息1要迟。因为方的阅读习惯是从左 到右。
顺序图中消息编号可显示,也可不显示。 协作图中必须显示。
对象从左到右按照重要性排列或按照消息先 后顺序排列。
Object1 : ClassA
7.2.2 活动者或对象
对象的命名方式有三种:
包括对象名和类名 类名(匿名对象) 对象名(不关心类)
7.2.3 生命线
生命线(Lifeline):
每个对象都有自己的生命线,用来表示在该用例中一个对 象在一段时间内的存在
时序图和协作图从不同的角度描述了为完成某种系统功 能,系统中各对象间的交互与协作,可以有效地帮助人 们观察和理解系统的动态行为。
通常用来描述一个用例的行为,实现一个用例,完成对 系统的动态行为建模;
时序图主要用来描述对象之间信息交换时的时间顺序。
时序图和协作图
时序图的最大特点是:它以二维的平面上 的一维来表示时间进度,在时间维上定义 各个对象所执行的操作以及它们之间所传 送的消息。从而能够在逻辑上清晰的刻画 这些操作和消息的时序关系乃至因果关系。
简单时序图
7.2 时序图元素及表示法
在UML中,时序图用一个二维图描述系统 中各个对象之间的交互关系。其中,纵轴 是时间轴,时间沿竖线向下延伸,由上至 下表示时间的先后顺序。横轴代表了参与 相互作用的对象。 当对象存在时,生命线由一条虚线表示; 当对象的过程处于激活状态时,生命线上 用一个激活条表示。消息用从一个对象到 另一个对象生命线的箭头表示,箭头以时 间顺序从上到下排列。
时序图(Sequence Diagram)也被称为 顺序图,是一种详细地表示对象之间行为 交互关系的图,主要用来描述对象之间信 息交换时的时间顺序。因此可以清晰而直 观的表示对象之间的行为交互关系以及操 作和消息的时序关系。
时序图的主要用途把用例表达的要求转化 为更进一步的精细表达。它还能用来记录 一个存在系统的对象现在如何交互。 用例常常可被细化为一个或多个时序图。
7.2 时序图元素及表示法
时序图有4种基本图形元素,包括:
对象(object) 生命线(lifeline) 激活(activation) 消息(message)
1. 对象
时序图中的对象在概念上和它在对象图中 的定义是一致的,其图形表示也相同。 每个对象显示在单独的列里,用一个矩形 框代表一个对象,框内填写对象名和它所 属的类名,中间用一个冒号隔开。
2.链接
链接是两个对象间的连接。 它的图形符号也是用一条连接在两个对象间 的实线表示。在连接线上可以标明对象名。
3.消息
UML七交互交互图
1 引言
: 用户
:接收鼠标消息
:处理鼠标消息
:系统数据
User Press LB Down Pass LB Down Message Is Cursor inside image
Set Selected Flag
: 显示窗口
User Mover mouse while LBDOWN Pass the message
1.2. putRecentPick(I)
过程顺序号是嵌入式的
当一个消息启动了另一个消息顺序时, 此消 息顺序内的各消息就可以重新开始编号。
如:消息1发送后,启动了其后的一系列消息, 则这些消息就可以编号为1.1, 1.2, 1.3, …
16
2.2 交互的基本概念– 语境
➢交互通常发生在一定的语境、场景中: 例如:C/S系统中,Client对象和Server对象之间 有交互 在操作的实现中可以发现对象之间的交互 操作的参数、局部/全局变量 在构件、节点或用例的表示中发现交互
部署图 deployment D.
包图package D. 时序图 timing D.
交互概览图 interaction overview D.
交互图Interaction Diagram
➢ 交互 对象或角色(role) 参与者 消息
➢ 交互图 顺序图sequence diagram 通信图Communication diagram/协作图collaboration diagram
5
1 引言
➢ 例如,用软件实现移动图形的动态行为(下图) 考虑系统外部和系统打交道的对象 “用户”和“显示窗口”--在图中标识为系统的参与者 将这两个外部对象描绘在交互图上 之后,十分自然地,也是“面向对象”地考虑在系统中应该如何 设置担负不同职责的软件“角色”,它们共同完成这一任务 这如同当人们需要互相通信来完成某一工作时,需要进行分工一 样。
交互图知识点总结归纳
交互图知识点总结归纳交互图是一种用于描述系统中对象之间交互关系的图形表示方法。
它可以帮助软件开发人员更好地理解系统中对象之间的交互关系,从而更好地进行系统设计和开发。
在软件工程中,交互图是一种重要的分析和设计工具,它能够帮助开发人员更好地理清和把握系统中对象之间的交互关系,从而更好地进行系统分析、设计和实现。
在软件开发过程中,交互图主要包括时序图、协作图和状态图这三种不同类型的图。
每种交互图都有其特定的用途和应用场景,可以帮助开发人员更好地理解系统中对象之间的交互关系,从而更好地进行系统设计和开发。
时序图是一种描述系统中对象之间交互关系的图形表示方法。
它能够清晰地显示对象之间的消息交换和时序关系,从而帮助软件开发人员更好地理解系统中对象之间的交互关系,从而更好地进行系统分析、设计和实现。
时序图主要用于描述系统中对象之间的消息交换和时序关系,可以帮助开发人员更好地理解系统中对象之间的交互关系,从而更好地进行系统设计和开发。
协作图是一种描述系统中对象之间协作关系的图形表示方法。
它能够清晰地显示对象之间的协作关系和信息流动,从而帮助软件开发人员更好地理解系统中对象之间的协作关系,从而更好地进行系统分析、设计和实现。
协作图主要用于描述系统中对象之间的协作关系和信息流动,可以帮助开发人员更好地理解系统中对象之间的协作关系,从而更好地进行系统设计和开发。
状态图是一种描述系统中对象状态和状态转换的图形表示方法。
它能够清晰地显示对象的状态和状态转换规则,从而帮助软件开发人员更好地理解系统中对象的状态和状态转换规则,从而更好地进行系统分析、设计和实现。
状态图主要用于描述系统中对象的状态和状态转换规则,可以帮助开发人员更好地理解系统中对象的状态和状态转换规则,从而更好地进行系统设计和开发。
总的来说,交互图是一种非常重要的软件工程分析和设计工具,它能够帮助开发人员更好地理解系统中对象之间的交互关系,从而更好地进行系统设计和开发。
第7章 交互图
交互与交互图 如何阅读交互图
如何绘制交互图
交互图应用说明 定时图 本章小结
阅读顺序图
从订单生成送货单
顺序图的主要元素
•
对象与角色:最顶上一排矩形框。在交互图中,参与交互的
对象既可以是具体的事物,又可以是原型化的事物。作为具
体的事物,一个对象代 表现实世界中的某个东西。例如,aOrder
作为类Order的一个实例,可以代表一个
特定的订单;而如果作为一个原型化的事 件,则aOrder可以代表类Order的任何一 个实例。 生命线与控制焦点:每个对象都有自己的 生命线,对象生命线是一条垂直的虚线, 用来表示一个对象在一段时间内存在。
•
顺序图的主要元素
• • •
பைடு நூலகம்
消息:用来描述对象之间所进行的通信的,该信息带有
对将要发生的活动的期望。当传送一个消息时,它所引 起的动用是一个通过对计算过程的抽象而得到的可执行 语句。 消息分为五种:调用、返回、发送、创建和销毁
顺序图的主要元素
•
顺序编号:整个消息的传递过程就形成了一个完整的序列, 因此通过在每个消息的前面加上一个用冒号隔开的顺序号 来表示其顺序。除了顺序编号之外,还可以采用嵌套方案:
顺序图的主要元素
•
循环与分支
读图小结
• • •
在dispatchForm(分发窗体)中,对于某个已支付的Order进行分 发时,就会调用该订单(一个Order类的实例对象aOrder)的 dispatch()方法 dispatch()方法将逐个调用该Order对应的所有OrderItem对象的 getPeddleryId()方法还获取供应商ID(PeddleryId),而 OrderItem对象则是通过其所对应的Product对象来的 getPeddleryId()方法来获取供应商ID
chapter07-状态图&活动图
(1)外部转换 (2)内部转换 (3)完成转换 (4)复合转换
23/84
(1)外部转换
外部转换:一种改变 对象状态的转换,是 最常见的一种转换。
Somebody go into Somebody go out Somebody go into Used
表示:从源状态到目 标状态的直线箭头。
13/84
7.1.2 状态图----状态
状态的组成:
复合状态及其子状态 并发子状态: 复合状态中有两个或多个并发执行的
子状态机
• 组合状态多个并发子状态,控制多个控制流 • 当复合状态转出的转移被激发时,或每个内嵌状态机 都运行到终止状态时,多个控制流会汇合成一个
Working
Awaiting User Password
11/84
7.1.2 状态图----状态
状态的组成:
延迟事件 (Deferred Event): 延迟处理的时间列表
,在当前状态下暂不处理,等到合适状态再处理。
复合状态及其子状态 顺序子状态
• • 任何时刻只能处于一种状态 状态复合状态/复合状态的子状态
Working
Awaiting User Password
方括号括起来的布尔表达式。 放在触发事件后面 可以引用对象的属性值或触发事件的参数 只在引起转换的触发事件发生时被赋值一次
若值为真,则触发事件使转换有效; 若值为假,则不会引起转换。
从一个状态引出的多个转换可以有同样的触
发事件,但是每个转换必须具有不同的监护 条件。
21/84
(5)动作
对象,依据重要性从左到右放置 设置生命线 消息,从上到下 设置对象的激活期
第7章 交互式决策方法
j 1
n
(7-2-5)
j
式中
f j* f jmin N 2 1 ( cij ) 2 * fj j 1 j min * 1 f j f j N 2 2 ( cij ) * fj j 1
如果f j* 0
(7-2-6)
如果f j* 0
min s.t. j ( f j* f j ( x)) x X1 j 1, …, n
(7-2-4)
0
7.2 逐步进行法
在式(7-2-4)中参数 是各个目标函数的实际值距其理想值的
偏差加权后上确界,求得的解
x 将使上确界
为极小;权被定义为
j , j 1,…, n
7.2 逐步进行法
设线性多目标决策问题的数学模型如下:
m m m max c1i xi , …, c2i xi , cni xi i 1 i 1 i 1
s.t.
aki xi bk
i 1
m
k 1, …, N
(7-2-1)
xi 0
i 1, …, m
7.1 交互式决策方法概述
交互式决策方法的一般步骤如下:
(1)明确决策问题,将问题用数学模型描述。
(2)对现有决策问题,求出一个决策者比较偏好的可行的非劣解。 (3)与决策者交换信息,征求决策者对当前解的意见。 (4)如果决策者很满意当前解或决策过程的终止判断被满足,当前解 即为现有决策问题的最佳调和解,决策过程结束。否则,按下述步骤
7.2 逐步进行法
(3)决策者对当前解作出反应,发表意见
决策者对当前方案的目标函数值与理想点进行比较,得出以下三种 情况: ①决策者认为当前解非常满意,这样当前解为最佳调和解,决策过 程结束。 ②如果决策者认为所有目标均不满意或者 q n ,且决策者仍没有 找到他的满意解,说明这种方法不能求出该问题的最佳调和解,决 策过程结束。 ③如果决策者认为当前方案的某些目标与理想点相比非常满意,而 另一些目标与理想点相比不满意,则决策者要在这n个目标之间进行 权衡,以换取主要目标的改进,使得对各个目标函数值均比较满意。
交互作用图(顺序、协作)
• • • •
类Loan Book:OID Borrower:OID Date:Date
• newLoan(book:OID,b orrower:OID,date:Dat e) • 创建Loan对象 • getBook():Book • getBorrower():Borrow er
还书
: Librarian
交互作用图
(顺序图和协作图)
1 交互图概述
交互图(interaction diagram)是用来描述对象之间以及对 象与参与者之间的动态协作关系以及协作过程中行为 次序的图形文档. 交互图通常用于描述一个用例的行为, 显示该用例中所 涉及的对象及对象之间消息传递情况. 交互图包括: (1)顺序图(sequence diagram), 描述对象按照时间顺序的 消息交换; (2)协作图(collaboration diagram), 描述系统成分如何协同 工作.
序列性的消息能很好地说明单一的线性的序列,但是我们 通常需要展示条件和循环。有时候我们想要展示多个序列的 并行执行。在顺序图中用结构化控制操作符能展示这种高层 控制。
为了表示顺序图的边界,可以把顺序图用一个封闭的矩形 包围起来,并在矩形的左上角放一个小五边形。在这个小五 边形内先写上sd,再后面写出图的名字。对每个子顺序图加上 一个矩形区域作为外框,再在其左上角放一个小五边形,在 这个小五边形内写上用来表明控制操作符的类型的文字。
(3). 简单消 息
它只表示控制如何从一个对象传递给另一个对象,而没有描述通信的任何细节。 这种类型的消息主要用于通信细节未知或者无需考虑通信细节的场合。也就是说,主 要用于不知道消息是同步还是异步的场合,但通常情况下表示异步消息此外在高层分 析中,有时候没有必要指定一个消息是同步的还是异步的。如下面的示例所示。
UML面向对象建模基础答案(徐峰、陈暄-中国水利水电出版社)
UML不是方法论。它仅仅是一种描述模型的标准语言,虽然渗透了许多方法论的基础概念,但是却没有在标准中给出完整的方法指南。
7. 请简要说明UML和面向软件开发之间的关系。
UML和面向对象软件开发之间有很强的关联关系,甚至可以说是面向对象软件开发催生了UML。但是由于在UML的标准化和发展过程,有机地吸纳了业务建模、工作流建模、数据库建模等领域的标准规范,形成了一个适用性很强的标准。
4. 请说明蓝图和草图的区别,并简单描述其适用的场景。
蓝图一般是指采用CASE工具绘制的、正式的、规范的UML模型;而草图则通常是指手工绘制的、规范度较低的在纸张的UML模型。
对于局部的、重要性不高的、共享范围较小的UML模型,直接将草图扫描到电脑存档即可;对于全局的、重要性高的、高度共享的,在草图的基础上用CASE工具绘制成为正式的蓝图,并将其纳入统一的模型管理中
8. 标记值的作用是什么?它的表示法和约束的表示法有什么异同?在UML模型中如何区分它们?
标记值是用来为事物添加新特性的。约束的表示法和标记值法类似,都是使用花括号括起来的串来表示,不过它是不能够放在元素中的,而是放在相关的元素附近。
9. 构造型的作用是什么?如果我们采用一个自定义的图标来表示它,那么可能遇到的主要问题是什么?
UML面向对象建模基础(徐峰、陈暄)
第1章 UML概述
1. 请指出UML的三个主要的特性。
1)UML是一种语言
2)UML是用来建模的
3)UML是统一的标准
2. 请指出三种以上现实生活中的常用模型,并说明它们分别在各自的领域中发挥了什么样的作用。
1)电路图:电子产品设计、生产、维修
UML各章习题
UML各章习题第1、2章面向对象与UML1.简述统一建模语言(UML)统一建模语言(UML)是一种绘制软件蓝图的标准语言。
可以用UML对密集型软件系统的制品进行可视化详述和文档化。
UML是一种定义良好、易于表达、功能强大且普遍适用的可视化建模语言(1分)。
它融入了软件工程领域的新思想、新方法和新技术。
它的作用域不限于支持面向对象的分析与设计(1分),还支持从需求分析开始的软件开发的全过程(1分)。
UML的作用是用图的形式从静态和动态方面来全面描述将要开发的系统(2分)。
2.简述面向对象分析方法(OOA)的5个基本步骤1)、识别对象,识别对象包括标识潜在的对象和筛选对象两步(1分)2)、识别对象的属性(1分)3)、识别对象的行为(1分)4)、识别对象所属的类(1分)5)、定义主题词(1分)3、什么是高内聚度?高内聚度是对一个类中的各个职责之间相关程度和集中程度的度量。
一个具有高度相关职责的类并且这个类所能完成的工作量不是特别巨大,那么它就具有高内聚度。
包括两个含义:一、不要给一个类分派太多的职责,在履行职责时尽量将部分职责分派给有能力完成的其它类去完成。
二、不相关的职责不要分派给同一个类。
4、什么是对象间的可见性答:可见性(Viibility)指的是一个对象能够“看到”或者引用另一个对象的能力。
5、领域建模的步骤有哪些?答案:列出候选的概念类;画出领域模型图;加入概念类间的关联;加入概念类的属性。
6、什么是软件生命周期?软件生命周期(SDLC,SytemDevelopmentLifeCycle)是软件的产生直到报废或停止使用的生命周期,周期内包括问题定义、可行性分析、总体描述、系统设计、编码、调试和测试、验收与运行、维护升级到废弃等阶段。
这种按时间分程的思想方法是软件工程中的一种思想原则,即按部就班、逐步推进,每个阶段都要有定义、工作、审查、形成文档以供交流或备查,以提高软件的质量。
7、什么是软件开发生命期?软件开发生命期是指软件产品从考虑其概念开始,到该产品交付使用为止的整个时期。
第七章-面向对象设计PPT课件
面向对象的软件设计过程
7.1 设计用例实现方案
本节介绍UML交互图的语言机制和用例实现方案的设 计方法。
UML的交互图包括顺序图和协作图,适于用例实 现方案的表示。
用例实现方案的设计方法有三个步骤: (1) 提取边界类、实体类和控制类; (2) 构造交互图; (3) 根据交互图精化类图。
7.1.1 顺序图
(1) 界面控制:包括输入数据的格式及内容转换,输出结果的 呈现,软件运行过程中界面的变化与切换等。
(2) 外部接口:实现目标软件系统与外部系统或外部设备之间 的信息交流和互操作。主要关注跨越目标软件系统边界的 通信协议。
(3) 环境隔离:将目标软件系统与操作系统、数据库管理系统、 应用服务器中间件等环境软件进行交互的功能与特性封装 于边界类之中,使目标软件系统的其余部分尽可能地独立 于环境软件。
UML四种类型的消息
(1) 简单消息(Simple Message) 以一种简单、抽象的函数表示对象之间的信息传 递,不考虑通信过程的内部细节。简单消息在 UML顺序图中用普通的有向箭头表示。
(2) 同步消息(Synchronous Message) 消息源发出消息后必须等待消息处理过程完毕并返 回处理结果后,消息源才可继续执行后续操作。前 面所述的自调用消息应该是同步的。同步消息的表 示图元与简单消息相同,这表明UML在缺省情形 下认为简单消息即为同步消息。
第七章 面向对象的设计方法
设计用例实现方案 设计技术支撑方案 设计用户界面 精化设计模型 RUP中的分析与设计流程
面向对象的设计方法
基于UML的面向对象设计方法将分析模型转换为设 计模型。
面向对象: 分析模型---顶层架构图、用例与用例图、领域概念 模型构成。 设计模型----- 以包图表示的软件体系结构图 以交互图表示的用例实现图 完整、精确的类图 复杂对象的状态图 描述流程化处理过程的活动图
第7章 交互性网页元素的制作
7.3 创建按钮与导航栏
创建导航栏
图7.34 单击【公司简介】按钮连接到【公司简介】页面
7.43 弹出菜单最终效果图
本章小结
热点、切片、按钮和导航是网页设计中的动 态效果设计。本章详细介绍了热点的创建、 切片的创建、按钮的创建,以及导航栏的创 建。这些交互性网页元素在网页设计应用中 相当重要,我们一定要好好掌握。
思考与练习
填空题 (1)交互性网页元素主要包括: ______________、______________、 ______________和______________。 (2)切片主要用来______________,从而有效地 解决打开网页时______________的问题。
思考与练习
选择题 (1)热点主要用来创建: 的交互效果? A. 动画 B.文本 C.图像 D. 网页 (2)按钮的功能类似于热点,它具有很好的交互性, 同时还可以增强网页的: ? A. 动态效果 B. 功能 C. 浏览速度 D. 交 互效果 (3)导航栏实际上是由多个 组成的,它可以定 位到页面的不同区域。 A.导航条 B.热点 C. 切片 D. 按钮
第7章 交互性网页元素的制作
本章学习目标 理解交互性网页元素及其主要功能; 熟悉掌握热点的创建操作; 熟悉掌握切片的创建操作; 熟悉掌握按钮的创建操作; 熟悉掌握导航栏的创建操作;
7.1 创建热点
图7.5热点链接的“公司简介”页面
7.2 创建切片
图7.7 绘制切片
7.3 创建按钮与导航栏
CH07uml交互图精品PPT课件
本章内容
• 交互与交互图 • 如何阅读交互图 • 如何绘制交互图 • 交互图应用说明
本章内容
• 交互与交互图 • 如何阅读交互图 • 如何绘制交互图 • 交互图应用说明
交互的概念
• 一次交互就是指在特定语境中,为了实现某一个目标,
而在一组对象之间进行交换的一组消息所表示的行为
UML中的4种交互图
分析阶段的交互模型
• 工作方法:针对用例图中的每个用例,并结合领域模型
中的类,寻找分析类,并通过Robustness分析来理清业
务逻辑流程,再用交互模型将其确定下来
• 注意:主要关注于区分出边界对象、实体对象和控制对
象,暂时不要考虑其具体的实现类
• 说明:对于较复杂的用例,可以按上述的流程逐渐地进
由办事员输入帐单材料流到系统中的BillDetailAcceptor类, 由BillDetailAcceptor核对帐单材料流,并将其发送至 TotalAmountCalculator类,TotalAmountCalculator计算 总帐,并发送给BillPrinter类打印帐单,打印结果最后返 回给办事员。 请分别使用顺序图和通信图描述上述过程。(ftp上传)
鲁棒分析—3、寻找控制对象和实体对象
• 新添两个逻辑:一是基本事件流中的步骤2、3要求根据
用户选择的类别,自动获得书号;二是当书名重复性检
查没有通过(有重名),则应返回要求其重输。
构建交互模型
转换成通信图
本章内容
• 交互与交互图 • 如何阅读交互图 • 如何绘制交互图 • 交互图应用说明
交互模型的类型与演变
• 顺序图:顺序图是一种强调消息时间顺序的交互图,为
读者提供了控制流随着时间推移的清晰的可视化轨迹
第7章 交互图
第7章 交互图
• 描述系统中,对象之间通过消息进行通讯的图就是交互图。 交互图包含4种类型,它们是顺序图、通讯图、定时图、 交互概述图。
7.1 顺序图
• 7.1.1 顺序图的概念 • 1.顺序图
• 顺序图也称为时序图,它描 述了系统中,对象间通过消 息进行的交互,它强调了消 息在时间轴上的先后顺序。 • 图7-1是自动车锁系统中, 实现“锁车”用例的顺序图。 • 2.顺序图的作用 • 顺序图常用来描述用例的实 现,它表明了由哪些对象, 通过消息相互协作来实现用 例的功能,在顺序图中,标 识了消息发生交互的先后顺 序。
7.1 顺序图
对象
控制焦点 消息
•图7-2 顺序图
生命 顺序图中对象的符号和对象图中对象所用的符号一样。将对象置于顺 序图的顶部意味着在交互开始的时候对象就已经存在了,如果对象的 位置不在顶部,那么表示对象是在交互的过程中被创建的。 • 3.生命线 • 生命线是一条垂直的虚线,表示顺序图中的对象在一段时间内的存在。 每个对象的底部中心的位置都带有生命线。生命线是一个时间线,所 用的时间取决于交互持续的时间。 • 4.控制焦点 • 在对象的生命线上,包含一个矩形,表示对象处于激活状态,处于激 活状态的对象正在执行某个任务。对象在完成自己的工作后,被去激 活,对象就处于空闲状态。
7.1 顺序图
• (1).顺序编号:整个消息的传递过程就形成了一个完整的序列,因此 通过在每个消息的前面加上一个用冒号隔开的顺序号(按照消息的先后 顺序,从1开始对消息编号)来表示其顺序。 • 在第3章,我们为一个电子商务网站构建了对象模型( 类图)。现在, 我们建立一个顺序图,以实现用例”将订单生成送货单”的功能,如 图7-4所示,Order类有一个dispath()成员方法,其作用是根据供应 商户的不同将一个订单分拆到多个送货单中。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
7.2 协作图
从订单生成订货单的协作图
7.2 协作图
2) 协作图的作用 • 协作图常用来描述业务或软件系统中,每个对象在交互发生时承担的 角色,即强调了交互发生时,每个对象承担的职责。 • 使用协作图可以显示对象相互协作时充当的角色。如果需要强调时间 和序列,最好选择顺序图建模;如果需要强调上下文相关,最好选择 协作图建模。 • 协作图用于显示对象之间如何进行交互,以实现特定用例或用例中特 定部分的行为。设计人员使用协作图和顺序图确定并阐明对象的角色, 这些对象执行用例的特定事件流。这些图提供的信息主要用来确定类 的职责和接口。 3)协作图的组成元素 协作图的组成元素包括对象、消息、链(连接器)。消息表示了对象 间的通信,对象通过链连接在一起。
7.3.1 寻找分析类
1、寻找分析类 在分析阶段,我们常在用例中寻找三种分析类(边界类[处理界面和 交互操作的类]、控制类[从事流程跳转功能的类]和实体类[为数据管理 和业务逻辑处理层面上存在的类])。我们通过分析用例描述中的事 件流,寻找分析类。
1)用例“新增书籍” 在分析时,还必须综合考虑基本事件流和扩展事件流两个方面。以 “新增 书籍“为例进行分析。其事件流如下: (1)基本事件流 ①图书管理员向系统发出“新增书籍信息“请求。 ②系统要求图书管理员选择要新增的书籍是计算机类还是非计算机类。 ③图书管理员做出选择后,显示相应界面,让图书管理员输入信息,并自动 根据书号规则生成书号。 ④图书管理员输入书籍的相关信息,包括:书名、作者、出版社、ISBN 号、开本、页数、定价、是否有CD-ROM。 ⑤系统确定输入的信息中书名没有重复。 ⑥系统将所输入的信息存储建档。
目录
7.1 顺序图 7.2 协作图(通信图) 7.3 绘制交互图 7.4 顺序图与协作图的关系 7.5 定时图
7.1 顺序图(为有序交互建模)
1 基本概念
1)顺序图的定义 顺序图(sequence diagram)也 称为时序图、序列图,它描述了系 统中的对象间通过消息进行的交互, 强调消息在时间轴上的先后顺序。 2)顺序图的作用 顺序图常用来描述用例的实现,它 表明了由哪些对象,通过消息相互协 作来实现用例的功能,在顺序图中, 标识了消息发生交互的先后顺序。
迭代表达式 [i:=1..n] 迭代n次
语义
[I=1..10]
[while(表达式)]
表达式为true时才进行迭代 迭代到表达式为true时,才停止迭代
[for each(对象集合)]
在对象集合上迭代
监护条件:监护条件通常是用来表示分支的,也就是表示“如果条件为true,才发送消 息”的语义,在UML中,监护条件是以“[条件表达式]”的格式表示的。
7.1 顺序图
电子商务网站的对象模型(类图)
7.1 顺序图
将订单生成送货单
7.1 顺序图
(2) 嵌套编号: UML标准中定义了“嵌套编号方案”,嵌套编号方案表示了方法间的包含 关系。
嵌套编号
7.1 顺序图
3 绘制顺序图
以饮料自动销售系统为例,对“买饮料”的3种场景进行建模,对 每一个场景,绘制其对应的顺序图. 1) 买饮料的正常场景 买到饮料的一般事件流: (1)顾客从机器的前端钱币口投入钱币,然后选择想要的饮料; (2)钱币到达钱币记录仪,记录仪更新自己的存储; (3)记录仪通知分配器分发饮料到机器前端;
7.2 协作图
3、阅读协助图
图书管理员登录系统的协作图
7.3 绘制交互图
• 绘制交互图分四个步骤: 1)找出交互对象及其关系; 2)确定对象之间交互的具体消息格式和流程,并用同步调用、异步消息、 返回消息来表示; 3)利用交互片段或迭代标志及监护条件来表示循环和分支结构; 4)通过一些构造型来完善整个交互图。
(1)图书管理员向系统发出“新增书籍信息”请求-------图书管理员在什么地 方向系统发出“新增书籍信息”的请求呢?通常会设计一个主窗口,并在上面 摆放一些按钮来实现,因此在此句描述中,可以发现两个边界类:主窗口、 “新增书籍信息”按钮。 (2 )系统要求图书管理员选择要新增的书籍是计算机类还是非计算机类-----从此句中可以发现一个新的边界类:书籍类别列表框。 (3 )图书管理员做出选择后,显示相应界面,让图书管理员输入信息,并 自动根据书号规则生成书号--------此句中可以发现最为关键的一个边界类-----“新书信息录入”窗口以及辅助的”提交“按钮。 还可以发现新增书籍信息按钮是组成主窗口的一部分。书籍类别列 表框、提交按钮则是组成新书信息录入窗口的一部分。
7.1 顺序图
买到饮料的场景
7.1 顺序图
2)饮料“已售完”的场景
饮料已售完的场景
7.1 顺序图
3)机器没有合适的零钱
零钱“找不开”的场景
7.2 协作图(交互的链接)
1、基本概念
1)协作图定义(Collaboration Diagram) 协作图也称为通信图,它描述了系统中,对象间通过消息进行的交 互,强调对象在交互行为中承担的角色。协作图和顺序图之间的语义 是等价的,只是他们的关注点有所不同而已,在Rose中可以很容易的 完成从顺序图到通信图的转换。
7.3.1 寻找分析类
参与者和边界对象
7.3.1 寻找分析类
3) 寻找控制对象和实体对象 实体对象通常来源于领域中的类图,也就是描述业务领域的名词或名 词短语,通过阅读整个事件流的详细描述,可得知,实体对象有书籍、 计算机书籍、非计算机书籍以及书籍列表4个。
添加控制对象
7.3.2 构建交互图
还有几个关 键的事件没有 体现到图中: 一是基本事件 流中的步骤2、 3要求根据用 户选择的类别 自动获得书号; 二是当书名重 复性检查没有 通过时(有重 名),应返回 要求其重输。 将这两个逻辑 加到图中。
自动车锁系统中锁车用例的顺序图
7.1 顺序图
对象 消息
3)顺序图的组成元素 顺序图中的元素包括对象、 生命线、控制焦点(激活)、 消息。消息表示了对象间的 通讯,生命线表示了对象的 生存期, 控制焦点表示对象正 在执行某个操作。
控制焦点
生命线
顺序图的组成
7.1 顺序图
1)对象 顺序图中对象的符号和对象图中对象所用的符号一样。将对象置于 顺序图的顶部意味着在交互开始的时候对象就已经存在了,如果对象 的位置不在顶部,那么表示对象是在交互的过程中被创建的。 2)生命线 生命线是一条垂直的虚线,表示顺序图中的对象在一段时间内的存 在。每个对象的底部中心的位置都带有生命线。生命线是一个时间线, 所用的时间取决于交互持续的时间。 3)控制焦点 在对象的生命线上,包含一个矩形,表示对象处于激活状态,处于 激活状态的对象正在执行某个任务。对象在完成自己的工作后,被去 除激活,对象就处于空闲状态。
7.3.1 寻找分析类
(2)扩展事件流 ①如果输入的书名有重名现象,则显示出重名的书籍,并要求图书管 理员选择修改书名或取消输入。 ②图书管理员选择取消输入,则结束用例,不做存储建档工作。 ③图书管理员选择修改书名后,转到5.
7.3.1 寻找分析类
2)寻找边界对象 对这个用例而言,参与者是 “图书管理员”,因此要寻找边界对象 只需以“图书管理员”这个参与者为线索,从用例描述中去寻找分 析类:
7.5 定时图(专门处理交互时间)
定时图(Timing Diagram)是一种特殊的顺序图。在UML2.0 中,引入这 种新的交互图来解决这类问题,即着重表示定时约束的“定时图” 。如果要 表示的交互具有很强的时间特性,例如实时控制系统中,最好用定时图建模。
7.3.2 构建交互图
顺序图
7.3.2 构建交互图
当完成了顺序图的绘制之后,就可以通过建模工具来自动生成对应 的通信图。
实现新增书籍的协作图
7.4 顺序图与协作图的关系
顺序图与协作图都表示对象之间的交互作用,只是它们的侧重点有 所不同: 1.顺序图描述了对象交互的时间顺序,但没有明确地表达对象之间的关 系,也没有表明对象在交互中承担的角色。 2.协作图描述了对象在交互中承担的角色(关系),但对象在交互中的时 间顺序必须从消息的顺序号获得。 3.顺序图可以表示出对象的激活状态和去激活状态,也可以表示出对象 的创建和销毁的相对时间;协作图则没有这些功能。 两种图的语义是等价的,可以采用Rational Rose工具,把一种形式 的图转换成另一种形式的图,而不丢失任何信息。
7.2 协作图
1: add item( ) : Maintenance Window : Administrator 2: find(String) 3: update( ) : Item
: Title
协作图
7.2 协作图
2、协助图的表示 (1)对象: 协作图与顺序图中的对象的概念是一样,只不过在协作图中,无法 表示对象的创建和撤销,所以对于对象在图中的位置没有限制。 (2)链: 表示对象之间的语义关系,链是关联的一个实例。协作图中链的符 号和对象图中链所用的符号是一样的,即一条连接两个对象的实线。 (3)消息 协作图中的消息类型与顺序图中的相同,只不过为了说明交互过程 中消息的时间顺序,需要给消息添加顺序号。顺序号是在消息的前面 加一个整数。每个消息都必须有唯一的顺序号。 (4)消息编号: 消息的编号有两种,一种是无层次编号(按顺序编号),它简单直观; 另一种是嵌套的编号,它更易于表示消息的包含关系.
7.1 顺序图
4)消息(方法调用) 消息用来描述对象之间所进行的通信,它包括消息名、消息参数。 消息分为五种:调用、返回、发送、创建和销毁。 在UML中,消息使用箭头来表示,箭头的类型表示了消息的类型。
(1) 调用(call) 这是最常用的一种消息,它表示调用某个对象的一个操作。可以是对象之 间的调用,也可以是对象本身的调用(局部调用)。
最后完整的分析图
7.3.2 构建交互图
2、构建交互图 构建顺序图的步骤: 按照从左到右的顺序,依此将参与者、边界对象和实体对象放在最 顶部,参与者放在最左边,实体类放在最右边。注意,在分析模型中 可以先不考虑控制类的引用(有必要时也可以引入)。然后根据事件 流描述逐一导出其相应的消息流,即可得到顺序图。