uml建模第七章 交互图
软件工程---交互建模之交互图,顺序图与协作图

2.5 消息
格式
[前缀][守卫条件][顺序表达式][返回值:=]消息名([参数列表])
例:
2: display ()
简单消息
1.3.1: p:=find()
带返回值的嵌套消息
[x<0] 4: invert(x, color) 条件消息
3.1 *[x = 1..10] : update() 循环消息
[ 条件子句 ] 条件子句一般用来表示分枝而不是用作守卫条件[x<0]是两个可
以用来分枝的条件子句这两个条件只能有一个为真因而只有一 个分枝被执行(即发送与分枝有关的消息) 条件子句和循环子句都可以用伪代码或真正的编程语言来表示 序列表达式用冒号结束
返回值、消息名和参数表
返回值表示一个操作调用(即一个消息)的结 果
顺序图中消息编号可显示,也可不显示。 协作图中必须显示Procedure Call) 异步(Asynchronous) 返回(Return) 自关联消息(Self Message)
2.5 消息
UML三种消息:
调用(Procedure Call) 发送者把消息发送后,等待直到接收者返回控制, 可以表示同步(synchronous message); 实心箭头符号
包括对象名和类名 类名(匿名对象) 对象名(不关心类)
2.3 生命线
生命线(Lifeline):
每个对象都有自己的生命线,用来表示在该用例中一个对象在一段时 间内的存在
垂直的虚线 如果对象生命期结束, 则用注销符号表示 对象默认的位置在图 顶部,表示对象在交互 之前已经存在 如果是在交互过程中 由另外的对象所创建, 则位于图的中间某处。
顺序图
面向时间描述对象交互的图
协作图
第七章 包图-UML面向对象分析、建模与设计-吕云翔-清华大学出版社

包图的基本概念
包图是用来描述模型中的包和所包含元素的组织方式的图,是维护 和控制系统总体结构的重要内容。包图能够组织许多UML中的元素, 不过其最常用的用途是用来组织用例图和类图。
在UML 1.X规范中,虽然没有明确规定包图属于一种图类型,却可以 使用包及包的关系来表示系统的结构,包图作为实际上存在并经常被 使用的一种图出现在UML中。最新的UML 2规范中已经明确定义了包 图。
元素的分包原则
元素不能“狡兔三窟”:树形结构的一个节点不能同时拥有两个父 节点,一个元素也不允许在两个包中重复出现。
相同包内元素不能重名:包所具有的命名空间的作用要求用一个包 中的同种类元素名称必须是唯一的。
包内元素要紧密联系:分在同一个包中的元素应该具有某些相同的 性质,即包的高内聚性。
包与包尽可能保持独立:包和包之间需要尽可能减少耦合度,要求 包内元素与外部元素有尽可能少的依赖关系。
DataType
+ Intege 元素的分包原则
包的概念
pkg Logical View
包是用于把模型本身组织成层次结构的通用机制, PackageName 它不能执行。
PackageName
+ ContentA + ContentB
包名:与类图相似,包有简单名与路径名两种命 pkg Logical View
PackageB
包的依赖关系
容易出现的问题:循环依赖
pkg Logical View PackageA
循环依赖的出现是令人困惑、也是非常容易
产生错误的。尤其是当依赖关系表示包的引 pkg Logical View PackageA
入时,循环依赖会导致将模型转化成代码后
UML基础及Rose建模实用教程课后习题及答案

UML根底与Rose建模实用教程课后习题及答案第1章面向对象概述1. 填空题〔1〕软件对象可以这样定义:所谓软件对象,是一种将状态和行为有机结合起来形成的软件构造模型,它可以用来描述现实世界中的一个对象。
〔2〕类是具有一样属性和操作的一组对象的组合,即抽象模型中的“类〞描述了一组相似对象的共同特征,为属于该类的全部对象提供了统一的抽象描述。
〔3〕面向对象程序的根本特征是抽象、封装、继承和多态。
2. 选择题〔1〕可以认为对象是ABC。
〔A〕某种可被人感知的事物〔B〕思维、感觉或动作所能作用的物质〔C〕思维、感觉或动作所能作用的精神体〔D〕不能被思维、感觉或动作作用的精神体〔2〕类的定义要包含以下的要素ABD。
〔A〕类的属性〔B〕类所要执行的操作〔C〕类的编号〔D〕属性的类型〔3〕面向对象程序的根本特征不包括B。
〔A〕封装〔B〕多样性〔C〕抽象〔D〕继承〔4〕以下关于类与对象的关系的说法不正确的选项是A。
〔A〕有些对象是不能被抽象成类的〔B〕类给出了属于该类的全部对象的抽象定义〔C〕类是对象集合的再抽象〔D〕类用来在存中开辟一个数据区,并存储新对象的属性3. 简答题〔1〕什么是对象?试着列举三个现实中的例子。
对象是某种可被人感知的事物,也可是思维、感觉或动作所能作用的物质或精神体,例如桌子.椅子.汽车等。
〔2〕什么是抽象?抽象是对现实世界信息的简化。
能够通过抽象将需要的事物进展简化、将事物特征进展概括、将抽象模型组织为层次构造、使软件重用得以保证。
〔3〕什么是封装?它有哪些好处?封装就是把对象的状态和行为绑在一起的机制,使对象形成一个独立的整体,并且尽可能地隐藏对象的部细节。
封装有两个含义;一是把对象的全部状态和行为结合在一起,形成一个不可分割的整体。
对象的私有属性只能够由对象的行为来修改和读取。
二是尽可能隐蔽对象的部细节,与外界的联系只能够通过外部接口来实现。
通过公共访问控制器来限制对象的私有属性,使用封装具有以下好处:防止对封装数据的未授权访问、帮助保护数据的完整性、当类的私有方法必须修改时,限制了在整个应用程序的影响。
UML语言简述课后答案

3.简答题(1)UML中的模型元素主要有哪些?答:UML语言中的模型元素包括事物和事物之间的联系。
一、事物UML语言中事物可以分为结构事物、动作事物、分组事物和注释事物。
1、结构事物结构事物分为:类、接口、协作、用例、活动类、组件和节点(1)类。
类是对具有相同属性、方法、关系和语义的对象的抽象,一个类可以实现一个或多个接口。
类用包括类名、属性和方法的矩形表示。
(2)接口。
接口是为类或组件提供特定服务的一组操作的集合。
(3)协作。
协作定义了交互操作。
一些角色和其他元素一起工作,提供一些合作的动作,这些动作比元素的总和要大。
UML中协作用虚线构成的椭圆表示。
(4)用例。
用例描述系统对一个特定角色执行的一系列动作。
在模型中用例通常用来组织动作事物,它是通过协作来实现的。
UML中,用例用标注了用例名称的实线椭圆表示。
(5)活动类。
活动类是类对象有一个或多个进程或线程的类。
在UML中活动类的表示法和类相同,只是边框用粗线条。
(6)组件。
组件是实现了一个接口集合的物理上可替换的系统部分。
(7)节点。
节点是在运行时存在的一个物理元素,它代表一个可计算的资源,通常占用一些内存和具有处理能力。
一个组件集合一般来说位于一个节点,但也可以从一个节点转到另一个节点。
2、动作事物UML语言中动作事物是UML模型中的动态部分,它们是模型的动词,代表时间和空间上的动作。
交互和状态机是UML模型中最基本的两个动态事物元素。
(1)交互。
交互是一组对象在特定上下文中,为达到某种特定的目的而进行的一系列消息交换组成的动作。
在交互中组成动作的对象的每个操作都要详细列出,包括消息、动作次数(消息产生的动作)、连接(对象之间的连接)。
(2)状态机。
状态机由一系列对象的状态组成。
3、分组事物分组事物是UML模型中组织的部分,分组事物只有一种,称为包。
4、注释事物注释事物是UML模型的解释部分。
二、UML语言中的关系1、关联关系关联关系连接元素和链接实例,它用连接两个模型元素的实线表示,在关联的两端可以标注关联双方的角色和多重性标记。
uml建模第七章 交互图

图7-13 ref操作符
7.1 顺序图——顺序图的深入
顺序图中使用其它的技术: 1、使用注释 2、使用约束 3、使用状态
7.1 顺序图——顺序图建模
1. 为每一个用例编写事件流,包括一个基本事件 流和若干可选事件流或异常流; 2. 识别事件流中参与交互的对象; 3. 为每个事件流绘制顺序图,包括为每个对象设 置生命线,即确定哪些对象存在于整个交互过 程中,哪些对象在交互过程中被创建和撤销; 4. 从引发这个交互过程的初始消息开始,在生命 线之间自顶向下依次画出随后的各个消息; 5. 如果需要,可以画上交互片段、交互引用和约 束等。
7.2 通信图
三、组成元素 1、对象
(2)主动对象(活动对象) 一组属性和一组方法的封装体,其中至少有一 个方法不需要接收消息就能主动执行(称作主 动方法)。
UML中
Rose中
7.2 通信图
三、组成元素 2、链
用来连接对象,消息显示在链的旁边,一个链 上可以有多个消息。 在顺序图中不使用链,只有协作图中才使用链 的概念。
图7-5 嵌套编号
Rose中的消息
7.1 顺序图——顺序图的深入
顺序图中,对象的行为有循环和分支两
种方式,为了表示这两种行为,引入了 交互片段、区域和操作符的概念。
7.1 顺序图——顺序图的深入
每个交互片段都有一个操作符,操作符
决定了交互片段的执行方式。
1、表示分支的操作符
alt:支持多条件
表7-2常用迭代表达式
迭代表达式 [i:=1..n] [I=1..10] [while(表达式)] [until(表达式)]
语义 迭代n次
I迭代10次 表达式为true时才进行迭代 迭代到表达识为true时,才停止迭代 在对象集合上迭代
uml动态建模-交互模型

06
UML交互模型案例研究
案例一:银行ATM机交互模型
总结词
简单、高效、安全
详细描述
银行ATM机交互模型是一个典型的UML交互模型案例。通过使用UML,可以清晰地描 述ATM机与用户、银行系统之间的交互关系。该模型强调简单、高效和安全,为用户
提供便捷的自助服务,同时保障银行资金的安全。
案例二:网上购物系统交互模型
交互模型可用于验证系统的功能 和行为,以及进行系统测试,确 保系统的正确性和可靠性。
交互模型的历史与发展
历史
UML交互模型起源于早期的面向对象分析和设计方法,如Booch方法和OMT方 法。随着UML的发展,交互模型逐渐成为UML的重要组成部分。
发展
随着软件工程领域的发展,UML交互模型也在不断演进和完善。新的UML规范 和扩展不断涌现,以满足不同领域的建模需求。同时,UML交互模型与其他建模 方法的集成也在不断发展,如与工作流、活动图等方法的集成。
总结词
便捷、丰富、互动
VS
详细描述
网上购物系统交互模型展示了用户如何通 过网站或APP进行商品浏览、选择、下单 和支付等操作。该模型强调便捷的购物流 程、丰富的商品选择以及用户与商家之间 的互动,使用户能够轻松完成购物,提高 用户满意度。
案例三:智能家居系统交互模型
总结词
智能、舒适、节能
详细描述
智能家居系统交互模型描述了家庭中的各种 智能设备如何相互连接和协同工作。该模型 强调智能化的家居管理、舒适的生活环境和 节能环保,通过UML交互模型,可以更好 地理解智能家居系统的工作原理和功能需求。
顺序图
01
顺序图是UML动态建模中用于描述对象之间交互顺序的模型元素。
02
交互图知识点总结归纳

交互图知识点总结归纳交互图是一种用于描述系统中对象之间交互关系的图形表示方法。
它可以帮助软件开发人员更好地理解系统中对象之间的交互关系,从而更好地进行系统设计和开发。
在软件工程中,交互图是一种重要的分析和设计工具,它能够帮助开发人员更好地理清和把握系统中对象之间的交互关系,从而更好地进行系统分析、设计和实现。
在软件开发过程中,交互图主要包括时序图、协作图和状态图这三种不同类型的图。
每种交互图都有其特定的用途和应用场景,可以帮助开发人员更好地理解系统中对象之间的交互关系,从而更好地进行系统设计和开发。
时序图是一种描述系统中对象之间交互关系的图形表示方法。
它能够清晰地显示对象之间的消息交换和时序关系,从而帮助软件开发人员更好地理解系统中对象之间的交互关系,从而更好地进行系统分析、设计和实现。
时序图主要用于描述系统中对象之间的消息交换和时序关系,可以帮助开发人员更好地理解系统中对象之间的交互关系,从而更好地进行系统设计和开发。
协作图是一种描述系统中对象之间协作关系的图形表示方法。
它能够清晰地显示对象之间的协作关系和信息流动,从而帮助软件开发人员更好地理解系统中对象之间的协作关系,从而更好地进行系统分析、设计和实现。
协作图主要用于描述系统中对象之间的协作关系和信息流动,可以帮助开发人员更好地理解系统中对象之间的协作关系,从而更好地进行系统设计和开发。
状态图是一种描述系统中对象状态和状态转换的图形表示方法。
它能够清晰地显示对象的状态和状态转换规则,从而帮助软件开发人员更好地理解系统中对象的状态和状态转换规则,从而更好地进行系统分析、设计和实现。
状态图主要用于描述系统中对象的状态和状态转换规则,可以帮助开发人员更好地理解系统中对象的状态和状态转换规则,从而更好地进行系统设计和开发。
总的来说,交互图是一种非常重要的软件工程分析和设计工具,它能够帮助开发人员更好地理解系统中对象之间的交互关系,从而更好地进行系统设计和开发。
软件工程动态设计交互图

4.建立顺序图 ① 从用例中识别交互过程; ② 识别参与交互过程的对象; ③ 为每一个对象设置生命线,并确定对象的存在期限; ④ 从引发交互的初始消息开始,在对象生命线上依次画出交
互的消息; ● ⑤如果需要,可以给消息增加时间约束,以及前置条件和后置
条件。
登录顺序图
用例名 用例描述 参与者 前置条件 ห้องสมุดไป่ตู้本路径
添加用户
管理员添加省队用户信息
赛艇协会管理员
点击“用户管理”
1. 点击“添加” 2. 从下拉列表中选择用户类型(本科生、硕士研究生、博士研
究生)。 3. 输入用户信息(用户名,真实姓名,密码,提示问题,答案,
联系电话,备注) 4. 点击“添加”按钮 5. 显示添加成功
其他路径 异常事件 后置条件
4 b)点击取消,返回到用户信息页面 无 无
类图 类 操作
时序图 对象 消息
类图描述系统的静态结构,时序图描述系统的动态行为
若出现了一个新的消息(不是类中的操作),则需要为类 添加一个新的操作。
需要在类C中添加操作“K”
小结:时序图的作用 用对象间的交互来描述用例 寻找类的操作
时序图描述了对象之间传递消息的时间顺序,它用来表 示用例的行为顺序。
方法2:新建对象,然后给该对象指定一个类 a.通过工具栏的对象按纽在时序图中添加一个对象
b.双击对象,给该对象指定一个类或新建一个类
四、添加消息 1、添加简单消息 a.使用此按纽在两个对象之间拖动
b.双击消息,在弹出的窗口中设置消息的名称
2、添加同步消息 方法:双击简单消息,在弹出的对话框选择“detail”选
(2)取消或隐藏消息的编号
选择菜单【 Tools->Options 】,弹出以下对话框,选择 Diagram选项卡,选中或取消Sequence numbering
uml交互图(顺序图通信图鲁棒图定时图)

uml交互图(顺序图、通信图、鲁棒图、定时图)交互与交互图交互的概念一次交互就是指在特定语境中,为了实现某一个目标,而在一组对象之间进行交换的一组消息所表示的行为消息UML中的4种交互图顺序图:顺序图是一种强调消息时间顺序的交互图,为读者提供了控制流随着时间推移的清晰的可视化轨迹通信图:UML 2.0中的通信图实际上就是UML1中的协作图,它强调的是参加交互的对象的组织,为读者提供了在协作对象结构组织的语境中观察控制流的一个清晰的可视化轨迹定时图:采用了一种带数字刻度的时间轴来精确地描述消息的顺序交互概述图:是交互图和活动图的混合物如何阅读交互图阅读顺序图顺序图的主要元素对象与角色:最顶上一排矩形框。
在交互图中,参与交互的对象既可以是具体的事物,又可以是原型化的事物。
作为具体的事物,一个对象代表现实世界中的某个东西。
例如,aOrder作为类Order的一个实例,可以代表一个特定的订单;而如果作为一个原型化的事件,则aOrder可以代表类Order 的任何一个实例。
生命线与控制焦点:每个对象都有自己的生命线,对象生命线是一条垂直的虚线,用来表示一个对象在一段时间内存在消息:用来描述对象之间所进行的通信的,该信息带有对将要发生的活动的期望。
当传送一个消息时,它所引起的动作是用一个通过对计算过程的抽象而得到的可执行语句(就是方法头)。
消息分为五种:调用、返回、发送、创建和销毁调用:表示调用某个对象一个操作顺序编号(第几步的编号):整个消息的传递过程就形成了一个完整的序列,因此通过在每个消息的前面加上一个用冒号隔开的顺序号来表示其顺序。
除了顺序编号之外,还可以采用嵌套方案:读图小结第1步在dispatchForm(分发窗体)中,对于某个已支付的Order进行分发时,就会调用该订单(一个Order类的实例对象aOrder)的dispatch()方法。
1.1 dispatch()方法将逐个调用[for each orderitem]该Order对应的所有OrderItem对象的getPeddleryId()方法获取供应商ID 1.2(PeddleryId),1.1.1而OrderItem对象则是通过其所对应的Product对象来的getPeddleryId()方法来获取供应商ID。
第七章统一建模语言UML-Read

34
需求分析
可以用用例来捕获用户的需求。通过用
例建模,可以描述对系统感兴趣的外部
角色及其对系统的功能要求(用例)。
35
分析
分析阶段主要关心问题域中的基本概念(例如,抽 象、类和对象等)和机制,需要识别这些类以及它 们相互间的关系,可以用UML的逻辑视图和动态视 图来描述。
类图描述系统的静态结构,协作图、顺序图、活动 图和状态图描述系统的动态行为。
上下文相关)
28
活动图
描述为满足用例要求而进行的动作以及
动作间的关系。活动图是状态图的一个
变种,它是另一种描述交互的方法。
29
顺序图和协作图的选择
由于二者都描述对象间的交互关系,所以
建模者可以选择其中一种表示对象间的协
作关系:如果需要强调时间和顺序,最好
选用顺序图;如果需要强调上下文相关,
90年代中出现了一个高潮,统一建模语言UML就是这
个高潮的产物。UML是由面向对象方法领域的三位著 名专家Grady Booch,James Rumbaugh和Ivar Jacobson提出的,不仅统一了他们三人的表示方法, 而且融入了众多优秀的软件方法和思想,从而把面向 对象方法提高到一个崭新的高度,标志着面向对象建 模方法进入了第三代。
37
测试
UML模型可作为测试阶段的依据,不同测试 小组使用不同的UML图作为他们工作的依据: 单元测试使用类图和类规格说明; 集成测试使用构件图和协作图; 系统测试使用用例图来验证系统的行为; 验收测试由用户进行,用与系统测试类似的 方法,验证系统是否满足在分析阶段确定的
38
交互图

顺序图表示
对象/参与者
对象维
生命线 消息 时间维 控制焦点
19
顺序图的表示
对象 • 顺序图中对象的符号和对象图中对象所用的符号 一样。 • 将对象置于顺序图的顶部意味着在交互开始的时 候对象就已经存在了 • 如果对象的位置不在顶部,那么表示对象是在交 互的过程中被创建的
20
顺序图的表示
• 对象的撤销 • 如果要撤销一个对象,只要在其生命线终止点放 置一个“X”符号即可,该点通常是对删除或取 消消息的回应。
同步消息 返回消息 异步消息 简单消息
• UML1.3前的消息还有:
–简单消息 simple
• Rose扩充的消息
–阻止消息 balking –超时消息 time-out
26
顺序图的表示
同步消息:消息的发送者把控制传递给消息的接收者, 等待接收者返回或放弃控制.
调用消息必有一个与之配对的返回消息, 但是可以不 用画出.
将订单生成送货单
顺序图
• (2)嵌套编号: • UML标准中定义了“嵌套编 号方案”。嵌套编号方案表示 了方法间的包含关系。 • 由于顺序图本身已经充分表现 出消息执行的顺序,因此在 UML模型中并没有要求对消 息进行编号。只是要求在通信 图中,对消息进行了编号。但 在Rose等建模工具中,为了 能够自动实现顺序图与通信图 的转换,在顺序图中也默认采 取“嵌套编号方案。如1.1, 1.2,1.3
21
顺序图的表示
对象的左右排列位置
对象的左右顺序并不重要,但是为了图面的清晰整 洁起见,通常应遵循以下两个原则: (1)把交互频繁的对象尽可能地靠拢 (2)把初始化整个交互活动的对象(有时是一个 参与者)放置在最左边
Байду номын сангаас
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、什么是软件开发生命期?软件开发生命期是指软件产品从考虑其概念开始,到该产品交付使用为止的整个时期。
使用UML时序图进行系统交互建模的方法

使用UML时序图进行系统交互建模的方法在软件开发过程中,了解系统的交互过程是至关重要的。
为了更好地理解系统的交互行为和消息传递,软件工程师通常使用UML时序图进行系统交互建模。
时序图是一种图形化的工具,用于描述对象之间的时序关系和消息传递。
本文将介绍使用UML时序图进行系统交互建模的方法。
1. 确定参与者和角色在创建时序图之前,首先需要确定系统中的参与者和角色。
参与者是与系统进行交互的实体,可以是人、其他系统或外部设备。
角色是参与者的一种特殊类型,代表系统内部的组件或模块。
通过明确参与者和角色,可以更好地理解系统的整体结构和交互过程。
2. 确定交互场景在进行系统交互建模之前,需要明确系统的交互场景。
交互场景是指系统在特定情况下的交互行为和消息传递。
通过定义交互场景,可以更好地理解系统的行为和需求,并将其转化为时序图中的对象和消息。
3. 创建时序图一旦确定了参与者、角色和交互场景,就可以开始创建时序图。
时序图由参与者、角色、对象和消息组成。
参与者和角色用矩形表示,对象用椭圆形表示,消息用箭头表示。
在时序图中,可以使用垂直的虚线来表示时间轴。
每个对象在时间轴上占据一定的空间,表示对象的生命周期。
消息可以沿着时间轴进行传递,从一个对象发送到另一个对象。
4. 描述对象的生命周期在时序图中,对象的生命周期可以通过垂直的虚线来表示。
对象的生命周期包括创建、活动和销毁三个阶段。
创建阶段表示对象的创建过程,活动阶段表示对象的活动过程,销毁阶段表示对象的销毁过程。
通过描述对象的生命周期,可以更好地理解对象的行为和状态变化。
在时序图中,可以使用垂直的虚线和箭头来表示对象的生命周期和状态变化。
5. 描述消息的传递在时序图中,消息用箭头表示。
箭头的起点表示消息的发送者,箭头的终点表示消息的接收者。
消息的传递可以是同步的或异步的。
同步消息表示发送者在发送消息后等待接收者的响应。
在时序图中,可以使用实线箭头表示同步消息。
异步消息表示发送者在发送消息后不等待接收者的响应。
交互作用图(顺序、协作)

创建消息:创建一个对象,箭头需要指到所建立的 对象上面。 销毁消息:销毁一个对象,对象生命线用差号来表 示销毁,表示被销毁对象的生命周期将到此终结。
obj1:Class <<c re at e>> obj2:Class
<<d e s t ro y >>
<<boundary>> : 职员管理界面
• findTitle(isbn:String):OID • 返回指定ISBN的Title对象的 OID • getTitle(oid:OID):Title • 返回Title对象 • getAvaliableBook():OID • 返回第一个可借阅的Book对 象的OID
• 类Borrower • borrowerID:String • loans:OID[ ]
(3). 简单消 息
它只表示控制如何从一个对象传递给另一个对象,而没有描述通信的任何细节。 这种类型的消息主要用于通信细节未知或者无需考虑通信细节的场合。也就是说,主 要用于不知道消息是同步还是异步的场合,但通常情况下表示异步消息此外在高层分 析中,有时候没有必要指定一个消息是同步的还是异步的。如下面的示例所示。
顺序图是显示对象之间交互的图, 这些对象是按时 间顺序排列的. 它显示参与交互的对象及对象之间消息交互的顺序.
对象/参与者 对象维
生命线 消息 时间维 控制焦点
对象的三种命名方式:
生命线是对象图标向下延伸的虚线, 表示对象生存时间.
消亡点
控制焦点(Focus of Control)又称为激活期(Activation), 用 生命线上的小矩形表示, 在这个时间段内, 对象执行相 应的操作.
类图交互作用图-PPT

1..n
1..n
1..n
双向关联
0..n
Course -name : String -courseID : String -textBook : Book
0..n
1、 类图
1、2 类图得划分
类图得划分
在软件开发得不同阶段,类图描述了不同层次得抽 象。以需求阶段、设计阶段、实现阶段将类图划分为 三个层次:
0..1
direct deposits checks via
单向关联
0..1
<<接口>>
IBankSystem(From External System Interface)
+deposit(in aPayCheck : PayCheck(from Payroll Artifacts), in intoBank : BankInformation(from Payroll Artifacts))
+addTeacher(in teacher : Teacher) : int +removeTeacher(in teacher : Teacher) : int +getNumofTeachers() : int
1 +dean 1
1 1..n
Teacher
-name : String -teacherID : String -salary : float -address : String -title : String
聚合 1..n 1..n
Student -name : String -studentID : String -homeAddress : String -enrollDate : Date
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
7.1 顺序图——顺序图的表示
自调用
例:
表示某对象调用自己的操作。
UML标记
ROSE标记
7.1 顺序图——顺序图的表示
(4)创建 通常利用构造方法来实现,对象一创建, 生命线就开始了。
图:创建消息示例
7.1 顺序图——顺序图的表示
(5)销毁 生命终止符号用一个较大的叉形符号表示。
client:Client systemMenu:SystemMenu
7.1 顺序图——顺序图的深入
6、par
par是用来表示“并行”的,也就是用来表 示两个或多个并发执行的子片段。
7.1 顺序图——顺序图的深入
par
图7-12 par操作符
7.1 顺序图——顺序图的深入
7、ref
7.1 顺序图——顺序图的表示
1、对象
参与者实例也是对象;
顺序图中水平方向为对象维;
一般参与者和对象按从左到右顺序排列在顺序 图的顶部;
7.1 顺序图——顺序图的表示
1、对象 对象的命名方式有三种: 显示对象名和类名 只显示类名(匿名对象) 只显示对象名(不关心类)
7.1 顺序图——顺序图的表示
图7-7
顺序图中的循环表示
7.1 顺序图——顺序图的深入
3、break
用break定义一个含有监护条件的子片段。
如果监护条件为“真”则执行子片段,而且 不执行子片段后面的其他交互; 如果监护条件为“假”,那么就按正常流程 执行。
7.1 顺序图——顺序图的深入
图7-10 break操作符
7.1 顺序图——顺序图的深入
7.1 顺序图——顺序图的表示
(1)消息编号
①
顺序编号 ——在每个消息的前面加上一个用冒号隔 开的顺序号来表示其顺序。
7.1 顺序图——顺序图的表示
图7-4 将订单生成送货单
7.1 顺序图——顺序图的表示
(2)消息编号
②
嵌套编号 ——把属于同一个对象发送和接收的消息 放在同一层进行编号。
7.1 顺序图——顺序图的表示
7.1 顺序图——顺序图的表示
(1)调用消息
发送者把消息发送后,等待,直到接收者返回 控制。 可表示同步。
图:同步消息
7.1 顺序图——顺序图的表示
(2)发送消息
消息发送后,发送者继续操作,不等待。 常用于表示并发。
图:异步消息
7.1 顺序图——顺序图的表示
(3)返回消息
表示消息的返回。一般同步的返回不需画出, 直接隐含,而异步返回则可用它。
2、生命线
表示对象存在的时间。 如果对象生命期结束,则用注销符号表示。
7.1 顺序图——顺序图的表示
3、控制焦点(激活期)
对象执行某个动作的时期。
7.1 顺序图——顺序图的表示
4、消息
对象间交互信息的方式
UML中5种消息: 调用(同步消息) 发送(异步消息) 返回 创建 销毁
图7-5 嵌套编号
Rose中的消息
7.1 顺序图——顺序图的深入
顺序图中,对象的行为有循环和分支两
种方式,为了表示这两种行为,引入了 交互片段、区域和操作符的概念。
7.1 顺序图——顺序图的深入
每个交互片段都有一个操作符,操作符
决定了交互片段的执行方式。
1、表示分支的操作符
alt:支持多条件
UML2.0 可以帧化顺序图,即用一个边框包围他并在左上 角添加一个间隔区,间隔区中包含了识别该顺序图的信息。 (例,sd:表示该图是顺序图;login:顺序图名)
7.1 顺序图——顺序图的表示
三.组成元素
对象-- Object 生命线-- Lifeline 消息-- Message 控制焦点(激活)-- Activation
1: logOut 2: logOut 3: delete server:Server
图:销毁消息示例
7.1 顺序图——顺序图的表示
5、消息的格式 UML中规定的消息语法格式如下:
举例 2:display(x,y) 简单消息 1.3.1:p:=find(specs) 嵌套消息 [x<0] 4:invert(x,color) 条件消息 3.1 * :update() 循环消息
目录
7.1 顺序图 7.2 通信图 7.3 绘制交互图
7.4 顺序图与通信图的关系
7.5 定时图
7.1 顺序图
一.顺序图的概念
也称时序图,Sequence Diagram
描述了系统中对象之间传送消息的时间顺序。
二.顺序图的作用
用来描述用例的实现
7.1 顺序图
图:即时通信系统中对象server和对象Database的交互
opt:支持单条件
7.1 顺序图——顺序图的深入
图7-5
顺序图中的分支表示(1)
7.1 顺序图——顺序图的深入
图7-7
顺序图中的分支表示(2)
7.1 顺序图——顺序图的深入
2、表示循环的操作符:loop 说明该片段将可以执行多次,而具体 的次数由循环次数和监护条件表达式来 说明。
7.1 顺序图——顺序图的深入
第7章 交互图
Interaction Diagram 交互图是用来描述对象之间以及对象与参与者之 间的动态协作关系以及协作过程中行为次序的图 形文档。 用来描述一个用例的行为,显示该用例中所涉及 的对象和这些对象之间的消息传递情况。 包括顺序图、通信图(协作图)、定时图和交互 概观图四种形式。 一个用例需要多个顺序图或通信图,除非特别简 单的用例。
4、assert、consider、ignore
assert是用来表示执行过程中,那个时刻的行为是唯 一有效的。 consider包含一个子片段和一个消息类型列表。只有 列表中的消息类型可以出现在子片段中,其他类型可 以出现在实际的系统中,但是交互会忽略它们。 ingore也包含一个子片段和一个消息类型列表。列表 中的消息类型可以出现在子片段中,但交互会忽略它 们。它的含义与consider刚好相反。
7.1 顺序图——顺序图的深入
图7-9 consider和assert操作符
7.1 顺序图——顺序图的深入
5、critBiblioteka calcrtical表示子片段是“临界区域”,在临界 区域中,生命线上的事件序列不能和其他区域 中的任何其他事件交错。
7.1 顺序图——顺序图的深入
图7-11 操作符crtical