UML顺序图介绍
- 格式:pdf
- 大小:158.05 KB
- 文档页数:5
UML的流程图UML是一种面向对象的统一建模语言,用于快速地描述软件系统的结构、行为和交互。
而流程图是UML中的一种图形语言,用于对系统中的流程进行描述和设计。
本文将为大家介绍UML流程图的概念、种类、结构和使用方法。
概念UML流程图,也称UML活动图,是一种图形化的表示算法、流程和业务过程的工具,它可以直观地表达系统中的任务、动作、决策和控制流程。
UML流程图常用于软件开发过程中的需求分析、业务流程设计、系统架构设计等领域。
种类UML流程图包含四种基本类型:1.基本活动图基本活动图可以用来表示操作的顺序或并行方式,其中每个操作都是基本动作,例如读取、写入、计算等。
基本活动图通常用于领域建模和系统流程的初步设计。
2.流程状态图流程状态图是对系统中复杂操作的一种表示,可以用来展示操作的状态和转换方式。
流程状态图主要包括状态、转换和起始状态,它通常用于描述系统中的复杂业务流程。
3.并发活动图并发活动图可以用来表达系统中多个处理程序的并发执行过程,它通常使用平行线表示并发执行的多个处理程序。
4.条件活动图条件活动图是一种用于表示系统中动态交互的活动图,其中条件是关键的组成部分。
条件活动图通常用于强制执行程序在满足一定条件的情况下才能执行,例如软件开发中经常用到的循环结构和分支结构等。
结构UML流程图的结构由一系列基本元素组成:1.开始节点开始节点,在UML流程图中表示整个活动图的起点。
一般情况下,开始节点在活动图的左侧上方,使用一个表示圆圈中心的空心点表示。
2.结束节点结束节点,在UML流程图中表示整个活动的结束点。
一般情况下,结束节点位于活动图的右侧下方,使用一个表示实心点的圆圈表示。
3.动作节点动作节点是一种执行操作的元素,可以进行计算、赋值、IO操作等。
动作节点在UML流程图中通常用长方形表示。
4.决策节点决策节点用于表示一个条件分支,并根据条件的结果选择一个或多个分支行动。
在UML流程图中,它通常使用菱形表示。
UML九种建模图--顺序图概述顺序图是⼀种交互图(interaction diagram).交互图展现了⼀种交互,它由⼀组对象或参与者以及它们之间可能发送的消息构成。
交互图专注于系统的动态视图。
顺序图是强调消息的时间次序的交互图。
组成顺序图主要有4个标记符:对象、⽣命线、消息和激活。
对象三种表⽰⽅法1.包括对象名和类名,2、只有类名3.只有对象名⽣命线⽣命线⽤于描述对象的存在周期,对象下⽅的虚线就是该对象的⽣命线。
激活控制焦点是指活动者或对象处于执⾏状态的时间段消息消息⽤于描述对象间交互的⽅式及内容。
消息分为四种:同步消息、异步消息、返回消息、⾃关联消息1.同步消息:⼀个对象向另⼀个对象发出同步消息后,将处于阻塞状态,⼀直等到另⼀个对象的回应表⽰⽅式:2.异步消息:⼀个对象向另⼀个对象发出异步消息后,这个对象可以进⾏其他的操作,不需要等到另⼀个对象的响应表⽰⽅式:3.返回消息:同步消息的返回消息表⽰⽅式:4.⾃关联消息:⽤来描述对象内部函数的互相调⽤表⽰⽅式:还有顺序图中对于流程控制的模块:复合⽚段复合⽚段有多种,在此主要介绍⼀下⼏种:条件判断、可选、循环、同步1.条件判断:⽤于描述代码中if…else…这种结构标记为“alt”例如:2.可选:是⼀种特殊的“条件判断”,它只是⼀个if,没有else if或else 可选的标记为:opt3.循环:是指代码中的for、while之类的语句块循环的标记为:loop例如:下图中[m,n]是指⾄少执⾏m次,最多执⾏n次4.同步:⽤于描述多线程的情况同步的标记是:par画顺序图的步骤:1. 确定交互的范围2. 确定参与交互的活动者与对象3. 确定活动者、对象的⽣存周期4. 确定交互中产⽣的消息5. 细化消息的内容。
用例图
1.远程网络教学系统
2图书管理系统
类图
1、创建一个类图。
下面给出创建类图所需的信息。
学生可以是在校生或者毕业生。
助教只能是在校生。
一名助教指导一名学生。
教师和教授属于不同级别的教员。
一名教师助理可以协助一名教师和一名教授,一名教师只能有一名教师助理,一名教授可
以有5名教师助理。
教师助理是毕业生。
顺序图
使用电话的场景描述,创建一个状态机图和顺序图(1)顺序图
使用电话顺序图
●1、根据开门的情况,分泳道绘制活动图。
回家开门的主要环节如下:取出钥匙,插入门锁,旋转钥匙打开门,退出钥匙进入房间,请绘制开门的活动图。
要求表明哪些活动由哪些对象进行的,并标明关键动作的Actions。
●根据网上提交订单的情况,分泳道绘制活动图。
登陆窗口活动图
用户
Main
For循环
用户注册。
UML中的顺序图和协作图的区别与实际应用案例解析UML(Unified Modeling Language)是一种用于软件系统建模的标准语言,被广泛应用于软件开发过程中。
在UML中,顺序图和协作图是两种常用的建模工具,用于描述系统中对象之间的交互关系。
本文将探讨顺序图和协作图的区别,并通过实际应用案例解析它们的使用。
顺序图是一种时序图,用于展示对象之间的交互顺序。
它通过显示对象之间的消息传递和时间顺序来描述系统的动态行为。
顺序图以垂直方向表示时间轴,从上到下按照时间顺序排列对象和消息。
每个对象用一个矩形表示,对象之间的消息通过箭头表示。
顺序图强调对象之间的交互和消息的顺序,能够清晰地展示系统中的动态行为。
协作图是一种静态图,用于描述对象之间的合作关系。
它通过展示对象之间的连接和消息传递来描述系统的结构和交互。
协作图以水平方向表示对象之间的连接关系,每个对象用一个矩形表示,对象之间的连接通过实线和虚线表示。
协作图强调对象之间的连接和合作关系,能够清晰地展示系统中的结构和交互。
为了更好地理解顺序图和协作图的区别,我们可以通过一个实际应用案例来解析它们的使用。
假设我们正在开发一个在线购物系统,其中包含用户、购物车和商品三个对象。
首先,我们可以使用顺序图来描述用户购买商品的过程。
顺序图可以展示用户选择商品、将商品添加到购物车、结算支付等交互过程。
通过顺序图,我们可以清晰地了解用户与系统之间的交互顺序和消息传递。
接下来,我们可以使用协作图来描述购物车和商品之间的合作关系。
协作图可以展示购物车和商品之间的连接关系,以及它们之间的消息传递。
通过协作图,我们可以清晰地了解购物车和商品之间的合作关系,从而更好地设计系统的结构和交互。
通过以上案例,我们可以看到顺序图和协作图在描述系统中的对象交互和合作方面有着不同的应用场景。
顺序图适用于描述对象之间的交互顺序和消息传递,而协作图适用于描述对象之间的连接关系和合作关系。
UML图学习序列图(顺序图)和协作图分类:UML 2012-11-30 16:42 2528人阅读评论(19) 收藏举报在面向对象动态建模,用于建立行为的实体间行为交互的四种图:状态图(Stage Diagram),序列图(Sequence Diagram),协作图(Communication Diagram),活动图(Activity Diagram) ,其中,“顺序图”与“协作图”表述的是相似的消息。
序列图(Sequence Diagram)强调的消息时间顺序的交互图,描述类系统中类与类之间的交互,它将这些交互建模成消息互换,换句话说,顺序图描述了类与类之间之间相互交换以完成期望行为的消息。
顺序图的特点是清晰,一个设计很好地顺序图从左到右、从上到下可以很好地表示出系统数据的流向,为接下来的系统设计做好铺垫。
协作图(Collaboration Diagram /Communication Diagram,也叫合作图)是一种交互图(interaction diagram),强调的是发送和接收消息的对象之间的组织结构。
一个协作图显示了一系列的对象和在这些对象之间的联系以及对象间发送和接收的消息。
对象通常是命名或匿名的类的实例,也可以代表其他事物的实例,例如协作、组件和节点。
使用协作图来说明系统的动态情况。
1、序列图(顺序图)的知识点概要:点此看大图2、协作图知识点概要:点此看大图3:顺序图(1)先从图书馆借/还书角度了解顺序图从顺序图的流程中,清晰到了解程序的过程,十分清晰明了(2)从地铁购票的活动中来看顺序图根据机房收费系统来画的部分顺序图(3):一般用户角度查询信息。
(4):操作员注册新的学生账号(5)管理员的基本系统数据的的设定4、协作图(1)结合刚才的图书馆借/还书的过程。
根据序号可以发生的先后顺序(2)从地铁购票的角度来学习协作图(3)结合机房收费系统角度画的协作图一般用户查询信息:(4)操作员注册卡(5)管理员修改基本数据5、协作图与顺序图的区别和联系协作图和顺序图都表示出了对象间的交互作用,但是它们侧重点不同顺序图清楚地表示了交互作用中的时间顺序(强调时间),但没有明确表示对象间的关系。
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-如何画顺序图?1、⽣命线框图和⽣命线⽣命线:可以为虚线(源于UML1),也可以是实线2、消息1)、创始消息,实⼼圆开头2)、同步消息,实⼼箭头3、执⾏规格条和控制期控制期:阻塞调⽤4、返回值5、⾃⾝消息6、创建实例7、销毁对象8、图框为了显⽰循环、并⾏执⾏等操作的图框1)、循环(loop)2)、有条件消息(opt)也可以如下图,但只⽀持uml1⽆法⽀持uml23)、互斥的有条件消息(alt)4)、对集合的迭代对应的java代码:或者采⽤下图:5)、图框可以嵌套9、如何关联交互图?10、调⽤类或静态⽅法对应的java代码:public class Foo {public void doX() {//调⽤Calendar类的静态⽅法Locale[] locales=Calendar.getAvailableLocales();//...}}11、多态消息12、同步消息和异步消息public class ClockStarter {public void startClock() {Thread t = new Thread(new Clock());t.start();//异步调⽤Clock上的run⽅法System.runFinalization();//后续消息的⽰例 }}//实现产⽣新线程的Runnable接⼝public class Clock implements Runnable { public void run() {while(true) {//在该线程中永远循环//...}}}。
软件工程 UML顺序图
一、引言
二、背景信息
在软件开发过程中,系统的不同组件之间需要进行交互以实现特定的功能。
为了更好地理解和描述这些交互行为,我们使用UML顺序图。
1、概述
本节介绍了UML顺序图的概念和用途。
它包括顺序图的定义、目的和在软件工程中的作用。
2、顺序图元素
本节详细讲解了顺序图中的各种元素,包括角色、对象、生命线、消息、激活等。
每个元素都有其特定的作用和用法,读者可以根据需要灵活运用。
三、创建顺序图的步骤
本节提供了创建顺序图的详细步骤,包括以下几个阶段:
1、确定系统的目标和需求
2、确定所涉及的角色和对象
3、绘制生命线和消息
4、添加激活和返回消息
5、优化和调整顺序图
四、顺序图示例
本节给出了一个示例顺序图,以帮助读者更好地理解顺序图的创建和解释过程。
该示例展示了一个简单的系统交互场景,并详细说明了每个元素的作用和相互关系。
五、常见问题解答
本节提供了一些常见问题的解答,以帮助读者更好地理解和应用顺序图。
包括如何处理异常情况、如何表示并发操作等问题的解决方法。
六、附件
本文档涉及的附件包括示例代码、详细设计文档等,可供读者参考和。
七、法律名词及注释
在本文档中涉及的法律名词和术语说明,以确保读者对相关法律问题有正确的理解。
八、结论。
介绍
顺序图也称序列图,主要用来系统中的某个流程的详细步骤。
顺序图能够给出流程中一系列对象的交互顺序。
通过顺序图可以让我们更好的了解如何实现某个用例
的方法。
我们知道用例图用来描述系统的功能需求。
而顺序图清晰的描述了某个用例也就是系统功能的的实现方法。
详解
在顺序图中包含的元素:
对象:用来标识流程中的详细步骤中的对象。
活动条:用来标识当前对象是活动的,如果想表示某个对象是活动的,那么必须使用一个虚线+活动图的形式来构建。
例如我们现在要标示一个简单的做公交车的刷卡流程:
IC卡刷卡
操作。
相关解释说明:
公交卡,首先放在刷卡终端上,终端读取卡中的余额信息,然后刷卡终端与终端中的扣款程序对象交互,扣款程序根据读取的余额信息,与刷卡终端中的固定刷卡
金额对比,如果当前IC卡的余额大雨刷卡终端的固定金额则,扣除金额,并且返回一个消息,提示刷卡成功的操作。
途中的实线表示调用被调用对象的方法,虚线表示当被调用对象执行成功后,返回的虚线上表示返回值的逻辑名称,这样可以提高了可读性。
在公交卡与活动条之间,应有一个虚线链接。
在上图中我们使用了活动条,活动条作为生命线的一部分。
我们并没有定义对象的创建和销毁,因此我们来看UML建模语言提供的描述对象的创建与销毁实例。
上图中的X符号的图标代表的时候对象的销毁。
创建对象通过new来创建,上图中,我用中文描述“创建对象”来完成对象的创建,那么在生命线下的的X符号代
表销毁对象,从内存中移除对象。
当然这个对象的销毁对不同的开发语言有这不同的处理方式。
C++中的销毁对象,必须调用析构函数来销毁对象。
C#与JAVA
语言中
则只是说明当前需要销毁的对象没有被其他的对象引用,那么这类语言编译器提供垃圾回收器来完成回收。
注意:当某个对象引用了另外一个对象,该对象有责任销毁被引用对象并且必须显示销毁该被引用对象时,那么必须要显示的发送被引用对象销毁的通知消息。
白
话文来说就是显示的调用被引用对象的销毁方法。
顺序途中的同步与异步。
顺序图中的同步与异步与我们平时书写代码中的同步与异步的解释意思差不多。
这里不过多解释,通过图例说明:
客户去餐厅吃饭,首先要点餐,必须等待点餐完了才能上菜。
意思就是可以这样简单描述。
A简单调用B方
法,必须等待,等到B方法执行完毕后,继续执行。
函数A调用函数B,如果B需要的时间特别长,那么此时A可以去继续执行做其他的事情比如做和函
数C交互,等B函数执行完了,只需要回调通知A,B函数执行完了即可。
在函数调用中的术语就是回调。
UML建模语言中同步与异步消息的标识格式:
UML提供了一些顺序图的高级功能:例如可以通过顺序图实现流程的控制。
具体的实现工具是通过UML提出的交互框来实现流程条件的控制。
交互框其实就是定义了流程控制图中的控制逻辑,基于交互框定义流程执行的条件。
如果满足这个条件,那么则执行交互框中已定义好的顺序步骤。
否则不做任何
操作。
交互框中除了定义流程控制的条件外,还有一些自己特殊的操作符,具体的操作符及其作用,如下列表:
每个关键字代表的含义都有相应的描述。
大家应该都可以看明白,上述的所有含义都是针对交互框来说的。
总结
如果在系统功能中有特殊需求,那么顺序图中的交互框是可以支持嵌套的。
嵌套交互框的话,会提高顺序图的复杂度,降低可读性。
因此我们设计时的原则尽量把复
杂的流程拆分成几个简单的,分别绘制顺序图来完成相应步骤。