UML通信图

合集下载

浅谈UML中常用的几种图

浅谈UML中常用的几种图

浅谈UML中常用的几种图1 UML简介2 UML常见图分类3 用况图(用例)4 类图简单类图使用举例5 其他辅助用图●时序图(顺序图)●协作图(Collaboration Diagram/communication Diagram)/通信图●状态图●活动图(Activity Diagram)6 组件图(ComponentDiagram)、配置图(Deployment Diagram)1 UML简介统一建模语言(Unified Modeling Language,UML)又称标准建模语言,是始于1997年的一个OMG标准,它是一个支持模型化和软件系统开发的图形化语言,为软件开发的所有阶段提供模型化和可视化支持,包括由需求分析到规格,到构造和配置。

‘UML感兴趣的可以阅读UML 1规范,包含了UML 的所有知识内容。

注:OMG, Object Management Group 对象管理组织2 UML常见图分类UML从考虑系统的不同角度出发,定义了用况图、类图、对象图、包图、状态图、活动图、序列图、通信图、构件图、部署图等10种图。

分类:面向对象动态建模,用于建立行为的实体间行为交互的四种图:状态图(Stage Diagram),序列图(Sequence Diagram),协作图(Communication Diagram),活动图(Activity Diagram) 。

“序列图”与“协作图”表述的是相似的消息,“活动图”是“状态图”的一种。

•静态结构图Static Structure Diagram•类图Class Diagram•对象图Object Diagram•用况图Use Case Diagram•交互图Interaction Diagram•顺序图Sequence Diagram•协作图Collaboration Diagram•状态图State chart Diagrams•活动图Activity Diagrams•实现图Implementation Diagrams•构件图Component Diagram•部署图Deployment Diagram3 用况图(用例)用例图,展现了一组用例、参与者(actor)以及它们之间的关系。

UML科普文,一篇文章掌握14种UML图

UML科普文,一篇文章掌握14种UML图

UML科普⽂,⼀篇⽂章掌握14种UML图前⾔上⼀篇⽂章写了⼀篇建造者模式,其中有⼏个UML类图,有的读者反馈看不懂了,我们今天就来解决⼀哈。

什么是UML?UML是Unified Model Language的缩写,中⽂是统⼀建模语⾔,是由⼀整套图表组成的标准化建模语⾔。

为什么要⽤UML?通过使⽤UML使得在软件开发之前,对整个软件设计有更好的可读性,可理解性,从⽽降低开发风险。

同时,也能⽅便各个开发⼈员之间的交流。

UML提供了极富表达能⼒的建模语⾔,可以让软件开发过程中的不同⼈员分别得到⾃⼰感兴趣的信息。

Page-Jones 在《Fundamental Object-Oriented Design in UML》⼀书中总结了UML的主要⽬的,如下:1. 为⽤户提供现成的、有表现⼒的可视化建模语⾔,以便他们开发和交换有意义的模型。

2. 为核⼼概念提供可扩展性 (Extensibility) 和特殊化 (Specialization) 机制。

3. 独⽴于特定的编程语⾔和开发过程。

4. 为了解建模语⾔提供⼀个正式的基础。

5. ⿎励⾯向对象⼯具市场的发展。

6. ⽀持更⾼层次的开发概念,如协作,框架,模式和组件。

7. 整合最佳的⼯作⽅法 (Best Practices)。

UML图有哪些?UML图分为结构图和⾏为图。

结构图分为类图、轮廓图、组件图、组合结构图、对象图、部署图、包图。

⾏为图⼜分活动图、⽤例图、状态机图和交互图。

交互图⼜分为序列图、时序图、通讯图、交互概览图。

UML图概览什么是类图?【概念】类图是⼀切⾯向对象⽅法的核⼼建模⼯具。

类图描述了系统中对象的类型以及它们之间存在的各种静态关系。

【⽬的】⽤来表⽰类、接⼝以及它们之间的静态结构和关系。

在类图中,常见的有以下⼏种关系。

泛化(Generalization)【泛化关系】是⼀种继承关系,表⽰⼦类继承⽗类的所有特征和⾏为。

【箭头指向】带三⾓箭头的实线,箭头指向⽗类。

UML通信图

UML通信图

: Reservation
: Loan
3. 图书管理员处理还书的通信 图
1: find borrower( ) : Return Window : Librarian 3: return_back( ) : Title
5: return_back( )
2: find(String)
4: update( )

示例

通信图示例:
通信图的组成
① ② ③
通信图包含了3个元素: 对象(Object) 链(Link) 消息(Message)
通信图的组成
对象 通信图与顺序图中的对象的概念是一样, 只不过在通信图中,无法表示对象的创建 和撤销,所以对于对象在图中的位置没有 限制。

通信图的组成
链 通信图中链的符号和对象图中链所用的符 号是一样的,即一条连接两个类角色的实 线。 对于链接还可以加上“角色”与“约束”, 在链角色上附加的约束有global(全局), local(局部),parameter(参数),self(自 身),broadcast(广播)。

通信图的组成
消息






消息类型有返回消息,同步消息和异步消息三种。 消息定义的格式如下: 消息类型 标号 控制信息:返回值:=消息名 参 数表 标号有3种: 顺序执行:按整数大小执行。1,2… 嵌套执行:标号中带小数点。1.1,1.2, 1.3,… 并行执行:标号中带小写字母。1.1.1a, 1.1.1b,…

通信图的组成
消息
通信图中息的时间顺 序,需要给消息添加顺序号。 顺序号是消息的一个数字前缀,是一个整 数,由1开始递增,每个消息都必须由唯一 的顺序号。可以通过点表示法代表控制的 嵌套关系。 嵌套可以具有任意深度。与顺序图相比, 通信图可以显示更为复杂的分支。

面向对象与UML 第五章 序列图和通信图

面向对象与UML 第五章 序列图和通信图

5.3 建立序列图
3. 添加消息
按发生的顺序在对象之间添加交互消息。
– 客户通过发送创建消息EntryDialogue打开登录对话 框
– 客户通过发送inputUserInfo消息向登录对话框中输 入用户信息
– 登录对话框通过发送sendUserInfo消息将用户信息发 往服务器
5.3 建立序列图
server:Server
database:DataBase
e n tryDi a l o g :En tryDi a l o g En tryDi a l o g ()
«create»
i n p u tUse rIn fo ()
sendUserInfo()
i n p u tUse rIn fo ()
5.3 建立序列图
1. 确定事件流
“用户登录”的异常流: 用户输入的信息与数据库中存储的信息不匹配,数据库 验证不通过,弹出错误信息。
5.3 建立序列图
2. 布置对象
基本流中的对象主要有客户(client)、数据库(database)、 服务器(server)、登录对话框(entryDialogue)、好友 列表(friendList)
– 服务器再把该用户信息发往数据库进行身份验证, 若合法,返回消息允许用户登录,同时服务器通过 向自身发送updateList消息更新在线用户列表
– 服务器通过创建消息FriendList创建该用户好友列表 – 通过消息getOfflineMessage向数据库请求其他好友向
该用户发送的离线
5.3 建立序列图
3. 添加消息
按发生的顺序在对象之间添加交互消息。
– 客户通过发送创建消息EntryDialogue打开登录对话框

UML 实验3 ATM取款顺序图和通信图

UML 实验3 ATM取款顺序图和通信图

实验三顺序图和通信图
一、实验目的
1.学会用通信图实现用例
2.掌握顺序图的绘制方法以及顺序图和通信图的相互转换。

二、实验器材
1. 计算机一台;
2. Rational Rose 工具软件;
三、实验内容
画出ATM取款的顺序图,并转换为通信图。

四、实验步骤
1.分析
ATM取款的场景:
(1)通过读卡机,用户插入A TM卡;
(2)ATM系统从卡上读取银行ID、账号、加密密码、并用主银行系统验证银行ID和账号;
(3)用户输入密码,A TM系统根据上面读出的卡上加密密码,对密码进行验证;
(4)用户输入取款数量;
(5)ATM系统通知主银行系统,传递储户账号和取款数量,并接收返回的确认信息;
(6)ATM系统输出先进、A TM卡和显示账户余额的收据;
(7)ATM系统记录事务到日志文件。

寻找场景中的对象:ATM、客户和账户。

2.绘图步骤:
下面介绍在Rose中创建顺序图的过程:
(1)在“Logical View”中新建“Sequence Diagram“,双击图标,出现图1,为编辑顺序图做好准备。

UML中三种常用的图

UML中三种常用的图

1.用例图:用例图是从用户的观点描述系统的功能,它由一组用例、参与者以及他们之间的关系组成他将系统的一个功能描述成一系列事件,这些事件最终对参与者产生有价值的可观测结果参与者(Actor):代表与系统交互的外部实体用例(Use-Case):表示系统能提供的功能,如:登录,查询等关联关系:当参与者与用列进行交互时,用例与参与者之间有关联关系,用一条直线表示这种关系参与者之间可能存在泛化关系,类似的参与者可以用泛化关系组成一般与特殊的层析结构如:经理初次之外,用例之间还存在一定的关系,具体包括包含(include)、扩展(extend)、泛化(Generalization)等3种关系(1)包含关系一个复杂系统中,不同用例之间可能存在一些相同的行为,这时可将这些相同的行为提取出来单独组成一个用例。

当其他用例使用该用例时,用例之间便形成了包含关系包含关系用带关键字<<include>>的虚线来表示,虚线指向被包含的用例注册新用户(2)扩展关系在用例的执行过程中,可能会出现异常行为,也可能在不同的流程分支中选择执行,这时可将异常行为或可选分支抽象成一个单独的扩展用例,它与主用例之间形成扩展关系扩展关系用带关键字<<extend>>的虚线表示,箭头指向被扩展的用例注册(3)泛化关系与参与者之间的泛化关系一样,用例之间的泛化关系是描述用例之间一般与特殊关系的,不同的子用例代表了父用例的不同实现方法。

密码找回2.类图类图描述系统的静态结构,表示系统中的类、类与类之间的关系以及类的属性和操作类用一个矩形方框表示,方框被分成3部分,最上面显示类名,中间部分显示类的属性,最下面显示类的操作类之间的关系包括关联、聚合、泛化、依赖等类型关联(Association)是一种结构定义,表达模型元素间的一种语义联系,它是对具有共同的结构特性、行为特性、关系和语义链的描述,使用一条连接在两个类之间的实线表示,关系的每一端用数字表示关系的重数。

UML通信图的绘制方法分析

UML通信图的绘制方法分析

UML通信图的绘制方法分析UML(Unified Modeling Language)通信图是一种用于描述系统中对象之间交互关系的图表工具。

它可以清晰地展示对象之间的消息传递和协作方式,帮助开发人员更好地理解系统的结构和行为。

在软件开发过程中,正确地绘制UML通信图对于设计和实现高质量的软件系统至关重要。

本文将分析UML通信图的绘制方法,以帮助读者更好地掌握这一技巧。

1. 选择适当的场景和参与者在绘制UML通信图之前,首先需要明确要描述的场景和参与者。

场景是指系统中发生的特定事件或操作,参与者是指与该场景相关的对象或角色。

选择适当的场景和参与者对于绘制准确的通信图至关重要。

例如,如果要描述一个电子商务系统中的购物流程,场景可以是用户浏览商品,参与者可以是用户、商品和购物车等。

2. 确定对象和消息确定参与者后,需要进一步确定参与者之间的交互方式。

在UML通信图中,对象表示参与者,消息表示参与者之间的交互。

对象可以是具体的类或实例,消息可以是方法调用或事件触发等。

确定对象和消息是绘制通信图的关键步骤,需要仔细分析系统的需求和设计,确保图表准确地反映系统的交互关系。

3. 绘制对象和消息一般来说,UML通信图是从左到右进行绘制的。

可以使用矩形表示对象,将对象的名称放在矩形内部。

每个对象之间使用实线箭头表示消息的传递方向。

箭头的起点表示消息的发送者,箭头的终点表示消息的接收者。

可以在箭头上方或下方标注消息的名称和参数等信息。

通过适当地调整对象和消息的位置,可以使通信图更加清晰易懂。

4. 添加细节和注释为了增加通信图的可读性和理解性,可以添加一些细节和注释。

例如,可以在对象旁边添加对象的属性和方法,以便更好地理解对象的行为。

可以使用注释框标注一些关键信息,如条件、循环和异常处理等。

通过添加细节和注释,可以使通信图更加完整和详细,帮助读者更好地理解系统的交互过程。

5. 不断迭代和优化绘制UML通信图是一个迭代的过程,需要不断地优化和改进。

uml交互图(顺序图通信图鲁棒图定时图)

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。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

示例

通信图示例:
通信图的组成
① ② ③
通信图包含了3个元素: 对象(Object) 链(Link) 消息(Message)
通信图的组成
对象 通信图与顺序图中的对象的概念是一样, 只不过在通信图中,无法表示对象的创建 和撤销,所以对于对象在图中的位置没有 限制。

通信图的组成
链 通信图中链的符号和对象图中链所用的符 号是一样的,即一条连接两个类角色的实 线。 对于链接还可以加上“角色”与“约束”, 在链角色上附加的约束有global(全局), local(局部),parameter(参数),self(自 身),broadcast(广播)。
通信图组成
监护条件:
通常是用来表示分支的,也就是表示“如果条件为 true,才发送消息”
通信图组成
多重对象
多个对象的集合,往往是同类的对象;
如果消息同时发给多个对象,则用多重对象表示; 在顺序图中仍然显示为单对象一样的图标;
通信图组成
活动对象
拥有控制线程的对象,能够发起控制活动;
某种意义下,代表线程;
: Loan
: Item
4. 系统管理员删除书籍的通信 图
1: remove item( ) : Maintenance Window : Administrator 2: find(String) 3: update( ) : Item
: Title
5. 借阅者预留书籍的通信图
: Title 2: find(String)
通信图
课程内容
概念 通信图组成元素-
对象、链和消息 顺序图与通信图的比较 顺序图与通信图的互换 通信图建模技术 实例——图书馆管理系统的通信图
概念
通信图描述的是和对象结构相关的信息。 通信图的用途是表示一个类操作的实现。 通信图对交互中有意义的对象和对象之间 的链建模。 在UML中,通信图用几何排列来表示交互 作用中的对象和链,附在链的箭头代表消 息,消息的发生顺序用消息箭头处的编号 来说明。
顺序图与通信图的比较
通信图与顺序图很相似,两者语义等价, 两种图表达的是同一种信息,可以将顺序 图转换为等价的通信图。 区别: 顺序图强调是交互的时间顺序。 通信图强调的是交互的语境和参与交互的 对象的整体组织。

顺序图与通信图的互换




顺序图与通信图都表示对象之间的交互 作用,只是它们的侧重点有所不同: 顺序图描述了交互过程中的时间顺序, 但没有明确地表达对象之间的关系。 通信图描述了对象之间的关系,但时间 顺序必须从顺序号获得。 两种图的语义是等价的,可以从一种形 式的图转换成另一种形式的图,而不丢 失任何信息。
: Reservation
: Loan
3. 图书管理员处理还书的通信 图
1: find borrower( ) : Return Window : Librarian 3: return_back( ) : Title
5: return_back( )
2: find(String)
4: update( )
: Title
2. 图书管理员处理借书的通信 图
: Item 2: find reservation( ) 5: update( ) 1: identify borrower( ) : Lend Window : Administrator 6: borrow( ) 7: check_if_max( ) 3: find(Borrower, Title) 4: borrow( ) : Title

通信图的组成
消息
通信图中的消息类型与顺序图中的相同, 只不过为了说明交互过程中消息的时间顺 序,需要给消息添加顺序号。 顺序号是消息的一个数字前缀,是一个整 数,由1开始递增,每个消息都必须由唯一 的顺序号。可以通过点表示法代表控制的 嵌套关系。 嵌套可以具有任意深度。与顺序图相比, 通信图可以显示更为复杂的分支。
实例——图书馆管理系统的 通信图

图书馆管理系统的通信图
图书馆管理系统的通信图
1. 2. 3. 4. 5.

系统管理员添加书籍的通信图 图书管理员处理借书的通信图 图书管理员处理还书的通信图 系统管理员删除书籍的通信图 借阅者预留书籍的通信图
1. 系统管理员添加书籍的通信 图
1: add item( ) : Maintenance Window : Administrator 2: find(String) 3: update( ) : Item
1: identify borrower( ) 3: reserve title( ) : Borrower : Reservation Window
4: reserve( ) : Item
5: create(Title, Borrower)
: Reservation

顺序图与通信图的互换
顺序图与通信图的互换
通信图建模技术
① ② ③

⑤ ⑥

设置交互的语境。 通过识别对象在交互中扮演的角色,设置交互 的场景。 对每个对象设置初始特性。 描述对象之间可能有信息沿着它传递的链。 从引起交互的消息开始,适当地设置其顺序号, 然后将随后的每个消息附到适当的链上。 如果需要说明时间或空间约束,可以用时间标 记修饰这个消息,并附上合适的时间和空间约 束。 如果需要更形式化地说明这个控制流,可以为 每个消息附上前置和后置条件。

通信图的组成
消息






消息类型有返回消息,同步消息和异步消息三种。 消息定义的格式如下: 消息类型 标号 控制信息:返回值:=消息名 参 数表 标号有3种: 顺序执行:按整数大小执行。1,2… 嵌套执行:标号中带小数点。1.1,1.2, 1.3,… 并行执行:标号中带小写字母。1.1.1a, 1.1.1b,…
相关文档
最新文档