UML-8交互作用图解析
UML图详解(八)——状态机(状态图和活动图)

UML图详解(⼋)——状态机(状态图和活动图)⼀、概念状态图和活动图是状态机的两种表现形式。
利⽤状态机可以精确地描述对象的⾏为。
从对象的初始状态起,开始响应事件并执⾏某些动作,这些事件引起状态的转换;对象在新状态下⼜开始响应事件和执⾏动作,如此连续进⾏直到终结状态。
⼆、状态图状态图(State Diagram)=状态(State)+迁移(Transition)⼀个状态图描述⼀个状态机。
状态图表现从⼀个状态到另⼀个状态的控制流。
<1>状态图的语法1>除了状态中的初始状态(实⼼圆)和终⽌状态(⽜眼形状),其它状态⽤⼀个圆⾓矩形表⽰转换表⽰状态间可能的路径,⽤箭头表⽰事件/动作写在由它们触发引起的转换上<2>状态2>状态⼀般是给定类对象中的⼀组属性值,在其所在的上下⽂中应该唯⼀,但可以匿名。
在对系统建模时,我们可以只关⼼那些明显影响对象⾏为的属性以及由他们表达的对象状态,⽽不⽤理睬那些于对象⾏为⽆关的状态。
表⽰⽅式:状态由⼀个带圆⾓的矩形表⽰。
应⽤标签标⽰状态的内部活动。
语法:标签/活动表达式UML提供的标签:1. entry:当进⼊⼀个状态的时候被⾃动触发,该活动在状态中其它任何活动之前被⾃动触发。
2. do:当状态处于激活时执⾏do活动,do活动在进⼊活动之后执⾏,并且⼀直运⾏到它本⾝完成为⽌。
3. exit:当离开⼀个状态的时候被⾃动触发,该活动在该状态结束之前、所有其它活动都完成后被触发。
状态可以嵌套状态图,此时状态称为组成状态,否则为简单状态。
⼊⼝事件表⽰⼀个⼊⼝的动作序列,它在进⼊状态时执⾏。
⼊⼝事件的动作是原⼦的,并且先于⼈和内部活动或转换。
出⼝事件表⽰⼀个出⼝的动作序列,它在退出状态时执⾏。
出⼝事件也是原⼦的,它跟在所有的内部活动之后,但是先于所有的出⼝转换。
1. 简单状态(Simple State)2. 复合状态(Composite State)复合状态可以有多组状态图,每组⽤虚线分割开来。
UML之用例图详解

UML之⽤例图详解原⽂链接:https:///mj_ww/article/details/53020080 UML,即Unified Model Language,统⼀建模语⾔。
百度百科对他的定义是:它是⼀个⽀持模型化和软件系统开发的图形化语⾔,为软件开发的所有阶段提供模型化和可视化⽀持,包括由到规格,到构造和配置。
作为⼀个软件⼯程师,很多技能并不⼀定说⾮得具备,但是,⼀旦我们具备了,很多时候机会总是会多那么⼀点点。
对于⽤例图来说我们需要了解的是什么叫⽤例图,构成⽤例图的要素,⽤例图有哪些重要的元素,各个⽤例之间的关系。
当然最重要的是如何根据需求创建⽤例图。
具体的创建通过⼀个简单的学⽣管理的例⼦说明创建的过程和例⼦。
我的所有例⼦都是是使⽤Rose这个软件来画的,现在虽然有新的UML模型画图软件,但是我⽐较喜欢⽤这个Rose,如果你还没有装这个软件需要先装⼀个,或者使⽤你⽐较喜欢的UML画图软件。
下⾯我们直接进⼊正题吧,学习⼀下⽤例图的相关概念和具体的创建过程。
什么叫⽤例图1. ⽤例图的含义 由参与者(Actor)、⽤例(Use Case)以及它们之间的关系构成的⽤于描述系统功能的动态视图称为⽤例图。
要在⽤例图上显⽰某个⽤例,可绘制⼀个椭圆,然后将⽤例的名称放在椭圆的中⼼或椭圆下⾯的中间位置。
要在⽤例图上绘制⼀个参与者(表⽰⼀个系统⽤户),可绘制⼀个⼈形符号。
参与者和⽤例之间的关系使⽤带箭头或者不带箭头的线段来描述,箭头表⽰在这⼀关系中哪⼀⽅是对话的主动发起者,箭头所指⽅是对话的被动接受者。
在⽤例建模中,为了更加清楚的描述⽤例或者参与者,会使⽤到注释。
2. ⽤例图的作⽤ ⽤例图是需求分析中的产物,主要作⽤是描述参与者和⽤例之间的关系,帮助开发⼈员可视化的了解系统的功能。
借助于⽤例图,系统⽤户、系统分析⼈员、系统设计⼈员、领域专家能够以可视化的⽅式对问题进⾏探讨,减少了⼤量交流上的障碍,便于对问题达成共识。
UML活动图详解示例

UML 活动图详解示例转自清闲居博客,转载原因示例很不错,分享一下内容路线•活动图概述活动图概述•活动图和交互图是UML中对系统动态方面建模的两种主要形式•交互图强调的是对象到对象的控制流,而活动图则强调的是从活动到活动的控制流•活动图是一种表述过程基理、业务过程以及工作流的技术。
它可以用来对业务过程、工作流建模,也可以对用例实现甚至是程序实现来建模•UML 2.0而言,去除了“活动图是状态图的一种特例”这一规定•如何阅读活动图阅读简单活动图活动图的主要元素•初始节点和活动终点:用一个实心圆表示初始节点,用一个圆圈内加一个实心圆来表示活动终点•活动节点:是活动图中最主要的元素之一,它用来表示一个活动•转换:当一个活动结束时,控制流就会马上传递给下一个活动节点,在活动图中称之为“转换”,用一条带箭头的直线来表示活动图的主要元素•分支与监护条件:分支是用菱形表示的,它有一个进入转换(箭头从外指向分支符号),一个或多个离开转换(箭头从分支符号指向外)。
而每个离开转换上都会有一个监护条件,用来表示满足什么条件的时候执行该转换。
•分岔与汇合:修改后的简单活动图带泳道的活动图带对象流的活动图复杂活动图•辅助活动图:•汇合描述:当汇合的所有入流均到点汇合点时,就将执行汇合点指向的活动节点。
但是有些时候,你希望对其做一些约束,这时就可以借助汇合描述来完成。
汇合描述实际上是一个约束,其格式就是“{约束条件}”。
•发送信号与接收信号:•如何绘制活动图绘制活动图•“活动图” 比较直观易懂;与传统的流程图十分的相近,只要能够读懂活动图,就不难画出活动图•绘制时首先决定是否采用泳道:主要根据活动图中是否要体现出活动的不同实施者•然后尽量使用分支、分岔和汇合等基本的建模元素来描述活动控制流程•如果需要,加入对象流以及对象的状态变化,利用一些高级的建模元素(如辅助活动图、汇合描述、发送信号与接收信号、引脚、扩展区)来表示更多的信息•活动图的建模关键是表示出控制流,其它的建模元素都是围绕这一宗旨所进行的补充工作流程,控制流程,业务流程中使用。
UML用例图的主要元素解析与使用方法

UML用例图的主要元素解析与使用方法UML(Unified Modeling Language)是一种用于软件系统建模的标准化语言,用例图是UML的一种图表类型,用于描述系统的功能需求和用户与系统之间的交互。
在软件开发过程中,用例图是非常重要的工具,它能够帮助开发团队更好地理解系统需求,设计出更合理的系统架构。
本文将对UML用例图的主要元素进行解析,并介绍其使用方法。
一、参与者(Actors)参与者是指与系统进行交互的实体,可以是人、其他系统或外部设备。
在用例图中,参与者用一个小人的图标表示。
参与者与系统之间通过用例进行交互。
一个参与者可以在多个用例中出现,也可以在一个用例中有多个参与者。
二、用例(Use Cases)用例是对系统功能的描述,它表示系统为参与者提供的一项功能或服务。
用例图中,用例用一个椭圆形图标表示。
每个用例都有一个名称,通常使用动词短语来描述功能。
用例之间可以有关系,如包含关系(include)、扩展关系(extend)等。
三、关系(Relationships)在用例图中,参与者与用例之间可以有不同类型的关系,如关联关系(association)、包含关系(include)、扩展关系(extend)等。
关联关系表示参与者与用例之间的关联,包含关系表示一个用例包含另一个用例,扩展关系表示一个用例可以扩展另一个用例。
四、系统边界(System Boundary)系统边界是用于表示系统的边界,用一个矩形框表示。
在用例图中,系统边界将参与者和用例包围在内,表示系统的范围和边界。
五、泛化(Generalization)泛化是一种继承关系,用于表示两个用例之间的继承关系。
在用例图中,泛化关系用一个带有箭头的实线表示,箭头指向父用例。
六、扩展点(Extension Points)扩展点用于表示一个用例可以被扩展的地方。
在用例图中,扩展点用一个小圆圈表示,并与扩展用例之间用虚线连接。
使用UML用例图进行系统建模时,需要按照以下步骤进行:1. 确定参与者:首先,需要确定系统中的参与者,包括用户、其他系统或外部设备。
uml动态建模-交互模型

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

面向对象分析与设计(UML)综合实验报告书题目:银行管理系统第1章需求分析............................................................................. 错误!未定义书签。
1.1 客户子系统的需求分析 (4)1.2 银行管理员系统的需求分析 (4)第2章系统用例模型 (8)2.1 管理员的用例模型 (8)2.2 客户的用例模型 (12)第3章系统静态模型 (16)3.1 系统中的类 (16)3.2 系统中类与类的关系 (17)第4章系统动态模型 (19)4.1银行管理员创建账户 (19)4.2银行管理员修改账户 (20)4.3银行管理员删除账户 (22)4.4 客户取款 (24)4.5 客户存款 (25)4.5 客户转账 (25)4.6 银行管理系统中的状态图................................................................ 错误!未定义书签。
4.7 银行管理系统中的活动图................................................................ 错误!未定义书签。
第5章系统部署模型 (33)5.1 银行管理系统的构件图 (33)5.2客户操作构件图 (34)5.3 银行管理员构件图 (34)5.5 银行管理系统部署图 (33)第6章总结与展望 (36)6.1 总结 (36)6.2 展望 (36)参考文献............................................................................................ 错误!未定义书签。
随着社会的不断发展,计算机越来越普及。
我们正处在一个信息时代,计算机无处不在,它进入各行各业,改变着人们的生活。
uml各种图例及说明

uml各种图例及说明(摘录)1、用例图描述角色以及角色与用例之间的连接关系。
说明的是谁要使用系统,以及他们使用该系统可以做些什么。
一个用例图包含了多个模型元素,如系统、参与者和用例,并且显示了这些元素之间的各种关系,如泛化、关联和依赖。
2、类图类图是描述系统中的类,以及各个类之间的关系的静态视图。
能够让我们在正确编写代码以前对系统有一个全面的认识。
类图是一种模型类型,确切的说,是一种静态模型类型。
3、对象图与类图极为相似,它是类图的实例,对象图显示类的多个对象实例,而不是实际的类。
它描述的不是类之间的关系,而是对象之间的关系。
4、活动图描述用例要求所要进行的活动,以及活动间的约束关系,有利于识别并行活动。
能够演示出系统中哪些地方存在功能,以及这些功能和系统中其他组件的功能如何共同满足前面使用用例图建模的商务需求。
5、状态图描述类的对象所有可能的状态,以及事件发生时状态的转移条件。
可以捕获对象、子系统和系统的生命周期。
他们可以告知一个对象可以拥有的状态,并且事件(如消息的接收、时间的流逝、错误、条件变为真等)会怎么随着时间的推移来影响这些状态。
一个状态图应该连接到所有具有清晰的可标识状态和复杂行为的类;该图可以确定类的行为,以及该行为如何根据当前的状态变化,也可以展示哪些事件将会改变类的对象的状态。
状态图是对类图的补充。
6、序列图(顺序图)序列图是用来显示你的参与者如何以一系列顺序的步骤与系统的对象交互的模型。
顺序图可以用来展示对象之间是如何进行交互的。
顺序图将显示的重点放在消息序列上,即强调消息是如何在对象之间被发送和接收的。
7、协作图和序列图相似,显示对象间的动态合作关系。
可以看成是类图和顺序图的交集,协作图建模对象或者角色,以及它们彼此之间是如何通信的。
如果强调时间和顺序,则使用序列图;如果强调上下级关系,则选择协作图;这两种图合称为交互图。
8、构件图(组件图)描述代码构件的物理结构以及各种构建之间的依赖关系。
2.设计模式常用的UML图分析(用例图、类图与时序图)

2.设计模式常⽤的UML图分析(⽤例图、类图与时序图)1-⽤例图概述1. 展现了⼀组⽤例、参与者以及他们之间的关系。
2. ⽤例图从⽤户⾓度描述系统的静态使⽤情况,⽤于建⽴需求模型。
⽤例特征保证⽤例能够正确捕捉功能性需求,判断⽤例是否准确的依据。
1. ⽤例是动宾短语2. ⽤例是相互独⽴的3. ⽤例是由⽤户参与者启动的4. ⽤例要有可观测的执⾏结果5. ⼀个⽤例是⼀个单元参与者 ActorUML中,参与者使⽤⼀个⼩⼈表⽰:1. 参与者为系统外部与系统直接交互的⼈或事务,于系统外部与系统发⽣交互作⽤2. 参与者是⾓⾊⽽不是具体的⼈3. 代表参与者在与系统打交道时所扮演的⾓⾊4. 系统实际运作中,⼀个实际⽤户可能对应系统的多个参与者。
不同⾓⾊也可以只对应⼀个参与者,从⽽代表同⼀参与者的不通实例⽤例 Use Case系统外部可见的⼀个系统功能单元。
系统的功能由系统单元所提供,并通过⼀系列系统单元与⼀个或多个参与者之间交换的消息所表达。
系统单元⽤椭圆表⽰,椭圆中的⽂字简述系统功能:关系 Relationship常见关系类型有关联、泛化、包含和扩展关联 Association表⽰参与者与⽤例之间的通信,任何⼀⽅都可发送或接受消息。
箭头指向:指向消息接收⽅:⼦系统 SubSystem⽤来展⽰系统的⼀部分功能(紧密联系)泛化 Inheritance继承关系,⼦⽤例和⽗⽤例相似,但表现出更特别的⾏为;⼦⽤例将继承⽗⽤例的所有结构、⾏为和关系。
⼦⽤例可以使⽤⽗⽤例的⼀段⾏为,也可以重载它。
⽗⽤例通常是抽象。
箭头指向:指向⽗⽤例2-类图描述系统中的类,以及各个类之间的关系的静态试图。
表⽰类、接⼝以及它们之间的协作关系,⽤于程序设计阶段。
注意:1. 抽象类或抽象⽅法⽤斜体表⽰2. 如果是接⼝,则在类名上⽅加 <<Interface>>3. 字段和⽅法返回值的数据类型⾮必需4. 静态类或静态⽅法加下划线类图实例:类图中的事务及解释如图,类图从上到下分为三部分,分别为类名、属性和操作1. 属性:如果有属性,则每⼀个属性都必须有⼀个名字,另外还可以有其它的描述信息,如可见性、数据类型、缺省值等2. 操作:如果有操作,则每⼀个操作也都有⼀个名字,其它可选的信息包括可见性、参数的名字、参数类型、参数缺省值和操作的返回值的类型等类图中的六种关系1.实现关系 implements (类实现接⼝)⽤空⼼三⾓虚线表⽰2.泛化关系 extends (表⽰⼀般与特殊的关系) is-a⽤空⼼三⾓实线表⽰3.组合关系 (整体与部分的关系) contains-a实⼼菱形实现表⽰eg.有头类、⾝体类与⼈类类三个类,则⼈类类中应包含头类及⾝体类这两个属性,则⼈类类与头类和⾝体的关系即为组合关系。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
8.1.1 顺序图的组成
火龙果 整理
2.生命线 生命线(Lifeline)表示对象存在的时间,在顺序图中 生命线表示为从对象图标向下延伸的一条虚线。 3.激活期 激活期(Activation)又称为控制焦点(Focus of control),表示对象执行一个动作的期间,也即对象激 活的时间段。 激活期由位于生命线上的一个窄矩形框表示。 当一个对象在激活期时,该对象处于激活状态,能够 响应或发送消息,执行动作或活动。当一个对象不在激 活期时,该对象处于休眠状态,什么事都不做,但它仍 然存在,等待新的消息来激活它。
图8.4 对数据库的JDBC接口的访问
8.1.3 同步消息与异步消息
火龙果 整理
同步消息(Synchronous massage)代表一个通过操 作调用的嵌套的控制流,该操作调用要求操作同步。 同步消息的发送者把控制传递给消息的接收者,然 后暂停活动,等待消息接收者放弃或返回控制。 同步消息的接收者执行所请求的操作,如果需要的 话,可以把控制传递给另一个对象角色,请求做某个 操作,并且当该操作完成后把控制返回给原来的同步 消息的发送者。 同步消息的接收者也可以直接返回或发送信息给原 来的消息的发送者。
第8章 交互作用图
火龙果 整理
8.1 8.2 8.3 8.4
顺序图 98 通信图 101 语义等价 102 交互作用图的应用
102
8.1 顺序图
火龙果 整理
顺序图的着重点 是完成某个行为的 对象类和这些对象 类之间所传递的消 息的时间顺序。 UML的顺序图 类似于以往一般面 向对象技术中的时 序图。 例:图8.1是项目 与资源管理系统 PRMS中的一个把 技能加入资源的顺 序图,它表示了 Use Case“把技能 加入资源”的行为。
图8.3 把技能“A/D”加入资源“王平”的剧本(顺 序图)
8.1.2 对象的创建与销毁
火龙果 整理
一个对象可以在交互中创建。 如果一个对象是在交互中创建的,则该对象的生命 线就从接收到一个标有构造型<<create>>的创建消息 之时开始。 一个对象可以在交互中销毁。 如果一个对象是在交互中销毁的,则该对象的生命 线就从接收到一个标有构造型<<destroy>>的销毁消 息之时终止。对象销毁的标志是在其生命线的端部标 上一个“×”。 一个对象可以由其他的对象发送<<destroy>>消息 予以销毁,也可以自己销毁
8.1.1 顺序图的组成
火龙果 整理
消息有多种类型,可以触发的动作有:调用另外一个对象的操 作,调用本对象的操作,返回值给调用者,发送信号给一个对象, 创建或销毁对象。 不同形式的箭线表示不同种类型的消息,如图8.2所示。
图8.2 消息箭线对应的含义
8.1.1 顺序图的组成
8.1.2 对象的创建与销毁
火龙果 整理
例:一个客户机与 数据库的JDBC接口 交互行为的部分顺序 图如图8.4所示。 其中的数据库事务 对象“:事务”由标 有 <<create>>的消 息,触发创建,被 <<destroy>>消息触 发销毁。 对象的自行销毁可 见后面的图8.11所示。
8.1.1 顺序图的组成
火龙果 整理
ห้องสมุดไป่ตู้
4.消息 消息(Message)表示对象之间的通信,对象之间的交互通过互 发消息来实现,消息将触发接受对象中的特定操作。 。 在顺序图中消息用对象角色之间的一条水平箭线表示。消息箭线 从源对象指向目标对象,其上标有消息内容标签。 消息内容标签的格式为: 序号 [保安条件] *[循环] 返回表:= 操作名(参数表) 序号为消息在整个交互中的顺序号。 保安条件(Guard Condition)是一个布尔条件表达式。只有当其 保安条件被满足时才能发送该消息。保安条件可以缺省,表示该消 息是无条件发送的。 循环说明规定该消息发送的重复次数。 操作的参数表是一个以逗号分隔的实在参数表,它被传递给接收 该消息的对象类角色中的一个操作(方法)。
图8.1 把技能加入资源的顺序图
8.1 顺序图
8.1.1 顺序图的组成 8.1.2 对象的创建与销 毁 8.1.3 同步消息与异步消息 8.1.4 交互框架 8.1.5 分支 8.1.6 循环
火龙果 整理
8.1.7 自调用与回调
8.1.1 顺序图的组成
火龙果 整理
第8章 交互作用图
火龙果 整理
在UML2.0中提供了对系统动态行为建模的四大类图形: Use Case图、交互图、状态机图和活动图。 交互图(Interaction Diagram)主要表现对象之间是如 何进行交互和通信的。 交互图主要用于对Use Case中的控制流的建模。一般情 况下,一个交互图表达单个Use Case的行为,它表示出该 Use Case中的若干个实例对象和对象之间所传递的消息。 交互图包括顺序图、通信图、 计时图和交互概观图。 UML的交互图与状态机图、活动图,以及Use Case图 一起构成了系统的行为视图(Behavioral View)。 交互概观图将在后面介绍。
顺序图是一个二维图形。在顺序图中水平向为对象 维,沿水平方向排列参与交互的对象类角色;竖向为 时间维,沿垂直向下方向按时间递增顺序列出各对象 类角色所发出和接收的消息。 一个顺序图由下列图形元素构成:对象类角色、生 命线、激活期和消息。 1.对象类角色 对象类角色(Class Role)表示在交互中对象可起的 作用。 对象类角色用矩形框图标表示。 在顺序图中对象类角色一般只给出名称,其命名规 则与在对象类图中相同。
火龙果 整理
在对系统的行为建 模时,顺序图可以采 用两种不同的抽象层 次:说明层 (Specification level) 和实例层(Instance Level)。 例:图8.1是一个说 明层的顺序图。 例:图8.3是相应的 实例层的顺序图。 这类的顺序图又称 为剧本(Scenario), 有助于了解具体的实 例交互行为。