UML动态建模中的UML顺序图实现示例
杨教授大学堂 精心创作的优秀程序员 职业提升必读系列资料
1.1 UML动态建模中的UML顺序图实现示例
1、UML动态建模概述
(1)动态建模
, 在系统静态模型的基础上建立相应的动态模型
在建好系统静态模型的基础上,接下来需要
分析
定性数据统计分析pdf销售业绩分析模板建筑结构震害分析销售进度分析表京东商城竞争战略分析
和设计系统的动态结构,并且建立相应的动态模型。
动态模型描述了系统随时间变化的行为,这些行为是用从静态视图中抽取的系统瞬间值的变化来描述的。
, 动态模型的主要内容
动态模型包括顺序图、协作图、状态图、活动图,这些图便于分析系统的行为、印证和修改系统的静态结构,满足用户的需求,达到系统的功能目标。
(2)交互图----可以对共同工作的对象群体的行为建模
, 交互图-----协作图+顺序图
用于定义系统如何实现功能的;一步一步地显示用例的
流程
快递问题件怎么处理流程河南自建厂房流程下载关于规范招聘需求审批流程制作流程表下载邮件下载流程设计
;包括:流中需要什么对象,对象相互发送什么消息,什么角色启动流;消息按什么时序发送。
, 交互图中的交互含义
描述了一个交互,由一组对象和他们之间的关系组成。包括在对象间传递的信息。 (3)顺序图和协作图的不同点
, 时序图(顺序图)
时序图:强调消息时间顺序的交互图,描述类系统中类和类之间的交互,将交互建模成消息交换。
, 协作图
和时序图一样,协作图也显示用例中特定情形的流程。时序图按时间排序,而协作图则着重于对象之间的关系。
下面为一个系统中的用户注册的顺序图
杨教授大学堂,版权所有,盗版必究。 1/15页
杨教授大学堂 精心创作的优秀程序员 职业提升必读系列资料
而下面则为与前面的用户注册的顺序图相对应的协作图。
可以看出,协作图与时序图中的信息相同,但协作图显示了不同的流视图,在这个框图中,更容易看出对象之间的关系,但对象顺序信息则不够明显。为此,可以对一个情景同时创建时序图和协作图。尽管他们的作用相同,包含相同的信息,但视图有所不同。 1.1.1 对象间的交互---消息
1、对象间的交互
(1)消息
由一个对象发送并由另一个对象接收的已命名的对象,在UML的四个动态模型中均用到消息这个概念。
杨教授大学堂,版权所有,盗版必究。 2/15页
杨教授大学堂 精心创作的优秀程序员 职业提升必读系列资料
(2)消息传递
1) 在面向对象技术中,对象间的交互是通过对象间消息的传递来完成的。
2) 通常,当一个对象调用另一个对象中的操作时,即完成了一次消息传递。当操作执
行后,控制便返回到调用者。
(3)通过消息进行合作
对象通过相互间的通信(消息传递)进行合作,并在其生命周期中根据通信的结果不断
改变自身的状态。
2、消息的UML图形
表
关于同志近三年现实表现材料材料类招标技术评分表图表与交易pdf视力表打印pdf用图表说话 pdf
示
(1)在UML中,消息的图形表示是用带有箭头的线段将消息的发送者和接收者联系起来,箭头的类型表示消息的类型、方向为从源对象指向目标对象,其上标有内容标签。 (2)同步消息用带三角箭头的实箭线表示,异步消息用带半叉箭头的实箭线表示。如图: 3、消息的类型
(1)简单消息(Simple Message)
消息在单个控制线程中运行。用于描述控制如何在对象间进行传递,而不考虑通信的细节。
杨教授大学堂,版权所有,盗版必究。 3/15页
杨教授大学堂 精心创作的优秀程序员 职业提升必读系列资料
(2)同步消息(Synchronous Message)
调用者发出消息后必须等待消息返回,只有当处理消息的操作执行完毕后,调用者才可继续执行自己的操作。
(3)异步消息(Asynchronous Message)
当调用者发出消息后不用等待消息的返回即可继续执行自己的操作。异步消息主要用于描述实时系统中的并发行为。
杨教授大学堂,版权所有,盗版必究。 4/15页
杨教授大学堂 精心创作的优秀程序员 职业提升必读系列资料
1.1.2 UML动态建模中的顺序图及实现示例
1、顺序图(序列图)
(1)含义
1) 作为交互图中的一种,序列图显示参与交互作用的参与者或对象,以及它们生成的
按时间排序的事件。通常,序列图显示特定用例实例产生的事件并且侧重描述消息
在对象之间如何传送。
2) 按时间顺序对控制流建模,主要用于对用例中的控制流的建模。它显示出随着时间
的变化对象之间是如何通信的。
(2)主要的作用
1) 按时间顺序对控制流建模,主要用于对用例中的控制流的建模---体现用例的实现过
杨教授大学堂,版权所有,盗版必究。 5/15页
杨教授大学堂 精心创作的优秀程序员 职业提升必读系列资料
程。
2) 它显示出随着时间的变化对象之间是如何通信的。
3) 同时也清楚地表示在实现某个用例时所涉及的各个类
(3)顺序图中的各个坐标的含义
1) 序列图中的纵向维代表时间,按时间先后依次向下排序。
2) 横向维代表不同的主角或对象。
(4)顺序图中的组成
序列图包含如下的模型元素:对象、消息、生命线、激活期(点)。 (5)顺序图面向不同的人员所起的作用
1) 用户---用户从中可以看到业务实现过程的细节(因为每个用例则通过顺序图中的一
个或者多个场景来精确描述)
2) 分析人员---分析人员从中看到处理流程,因为序列图着重体现对象间消息传递的时
间顺序。
3) 开发人员---开发人员看到需要开发的对象和它们的操作,因为对象间的通信通过在
对象的生命线间画消息来表示
4) 测试人员---测试人员看到过程细节,并根据这个过程开发测试案例 (6)顺序图的组成
顺序图中的生命线、激活点是序列图所特有的图形元素,用于表现交互与消息的时间
顺序。
(7)某个项目中的学生课程请求的顺序图示例
杨教授大学堂,版权所有,盗版必究。 6/15页
杨教授大学堂 精心创作的优秀程序员 职业提升必读系列资料
注意:
1) 浏览序列图的的方法是:从上到下查看对象之间交换的消息;
2) 顺序图注重的是消息的顺序而不是对象间的关系。
3) 通过顺序图可以捕获用参与者在完成某一功能时所可能会发生的各个事件,以及各
个事件之间的前后关系
2、顺序图中的各个组成的部件及作用
(1)对象类角色
1)对象类角色代表参与交互的对象。其UML的表示方法为一个矩形框并且写有对象的名称(它的后面可以跟冒号“:”及类名,对象名可以匿名-----“:类名”的形式)同时加下划线。
杨教授大学堂,版权所有,盗版必究。 7/15页
杨教授大学堂 精心创作的优秀程序员 职业提升必读系列资料
2)UML 中的对象类命名
标准
excel标准偏差excel标准偏差函数exl标准差函数国标检验抽样标准表免费下载红头文件格式标准下载
按照如下格式:
实体名:类名
3)对象类角色的位置一般位于顺序图顶部。
(2)生命线
1)UML中的表示法
, 生命线画作一个方格,一条虚线从上而下,通过底部边界的中心并且生命线所
代表的对象名字放置在方格里。
, 时间从上到下,生命线显示了消息的顺序。在生命线上的消息比在其下的消息
先发生。
2)如图所示
3、消息的类型及UML的表示法
(1)顺序图中的消息表示
1) 生命线之间的箭头表示正在对象间传递的消息,为了可读性,序列图的第一个消息
总是从顶端开始,并且一般位于图的左边。然后继发的消息加入图中,稍微比前面
的消息低些。
杨教授大学堂,版权所有,盗版必究。 8/15页
杨教授大学堂 精心创作的优秀程序员 职业提升必读系列资料
2) 顺序图中的消息可以是信号(Signal)、操作调用或类似于C++中的RPC(RemoteProce
dure Calls)和Java中的RMI(Remote Method Invocation)方法名称。
3) 当收到消息时,接收对象立即开始执行活动----即对象被激活了。通过在对象生命
线上显示一个细长矩形框来表示激活。
4) 消息可以用消息名及参数来
标识
采样口标识规范化 下载危险废物标识 下载医疗器械外包装标识图下载科目一标识图大全免费下载产品包装标识下载
。
(2)调用消息和返回消息
1) 调用的消息表示是从左生命线向右生命线传递------是指前一个对象对后一个对象
的调用,箭头上方的文字是被调用对象(箭头指向的一方)的操作。
2) 一个返回消息画作一个带开放箭头的虚线,向后指向来源的生命线,在这条虚线上
面,可以放置操作的返回值(请见下面的说明)
3)给对象自身传递一个消息(对象调用自己的方法)
为了要画一个调用本身的方法的对象消息(即不是连接它到另外的一个对象,而是把消息连接回对象本身),即给对象自身发送消息------此时,消息符号从该对象引出,最后又返回到该对象。
杨教授大学堂,版权所有,盗版必究。 9/15页
杨教授大学堂 精心创作的优秀程序员 职业提升必读系列资料
4)有条件的消息
在消息上面给出条件表达式
4、顺序图中的激活期
(1)激活期的含义
激活期表示对象执行一个动作的期间,即对象激活的时间段-----当收到消息时,接收对象立即开始执行活动,即对象被激活了。
(2)在UML中的表示法
通过在对象生命线上显示一个细长矩形框来表示激活。
(3)应用要点
1) 当一个对象在激活期时,该对象处于激活状态,能够响应或发送消息,执行动作、
活动。
2) 当一个对象不在激活期时,该对象处于休眠状态,什么事都不做,但它仍然存在,
等待新的消息来激活它。
5、创建和删除对象
(1)对象的创建
在顺序图中可以描述如何创建和删除对象,并把它作为描述情节的一部分。一个对象可以通过一条消息(一般为同步消息)来创建另一个对象,采用被一个终止于对象框的箭头所标示。
如下面的示例中的“货品”对象
杨教授大学堂,版权所有,盗版必究。 10/15页
杨教授大学堂 精心创作的优秀程序员 职业提升必读系列资料
注意:此时在Rose中应该将对象拖到下面来。
(2)删除对象
被创建的对象的对象符号放在创建它的地方(在纵座标的时间轴上),当一个对象被删除后,用一个大“X”来标记(此时,对象的生命线只需要划到对象被删除时为止)。
杨教授大学堂,版权所有,盗版必究。 11/15页
杨教授大学堂 精心创作的优秀程序员 职业提升必读系列资料
表示该对象已
经被删除
6、顺序图应用
(1)便于分析交互的时序
顺序图表示了时间序列,便于分析交互的时序,但没有表示静态对象关系。它可以有效地帮助人们观察系统的顺序行为。
(2)主要的应用
因此,顺序图非常适用于表示面向对象应用程序中消息流的交互
7、用顺序图对控制流建模
(1)一般的建模步骤如下
1) 确定交互上下文(设置交互的语境,这些语境可以是系统、子系统、操作、类、用
例和协作的一个脚本)。
2) 找出参与交互的类角色(通过识别对象在交互中扮演的角色),将其横向排列在顺
序图顶部(根据对象的重要性,将其从左向右的方向放在时序图中)。
3) 对每一个对象设置一条垂直向下的生命线(一般情况下,对象存在于交互的整个过
程,但它也可以在交互过程中创建和撤销)。
4) 从初始化交互的消息开始,自顶向下在对象的生命线之间安置消息。
5) 在生命线上绘制出对象的激活期,以及对象创建或销毁的构造型和标记。
6) 根据消息之间的关系,确定循环结构及其循环参数和出口条件(给某控制流的每个
消息附上前置或后置条件,这可以更详细化的说明这个控制流)。 (2)绘制顺序图的应用要点
1) 尽力保持消息的顺序从左到右排列。
2) 用和用例图中一致的名称命名参与者(在Rose中可以直接从用例图中拖动参与
者),同时也应该用和类图中一致的类名称来命名顺序图中的各个类(在Rose中可
以直接从Logical View图中拖动所需要的各个类)。
杨教授大学堂,版权所有,盗版必究。 12/15页
杨教授大学堂 精心创作的优秀程序员 职业提升必读系列资料
3)在图的最左边放置初始的角色或者在图的最左边放置人和组织角色,而在图的最右
边放置系统角色。
4)把消息名放在箭头旁边,同时为涉及人和组织角色的消息使用叙述性文字。尽力保
持消息的顺序是从左到右排列的。一个顺序图的消息流开始于左上方,消息乙的位置
比消息甲低,这意味着消息乙的顺序比消息乙要迟。
8、某个银行项目中用户取钱的顺序图示例
9、某个项目中的顺序图示例
(1)用户登录的顺序图示例
杨教授大学堂,版权所有,盗版必究。 13/15页
杨教授大学堂 精心创作的优秀程序员 职业提升必读系列资料
(2)用户注册的顺序图示例
10、某个项目中的图书销售顺序图示例
杨教授大学堂,版权所有,盗版必究。 14/15页
杨教授大学堂 精心创作的优秀程序员 职业提升必读系列资料
顺序图反映了参与者与系统之间的交互,以销售为例,参与者为收银员,场景中对象有登录界面以验证权限、库存查询接口,用以判断库存中是否有数据、销售处理接口,其结果是从库存中减掉对应数量的图书。如图:
杨教授大学堂,版权所有,盗版必究。 15/15页