当前位置:主页 > 平面设计 > UML时序图

UML时序图

如何使用visio 2016 绘制画UML时序图(Sequence Diagram)
什么是时序图?
如何使用visio 2016 绘制画UML时序图(Sequence Diagram) 什么是时序图?

时序图(Sequence Diagram),又名序列图、循序图,是一种UML交互图。它通过描述对象之间发送消息的时间顺序显示多个对象之间的动态协作。让我们来看一看Visio2016对时序图的的解释。我们在画时序图时会涉及到7种元素,这7种元素如下: 其中前6种是比较常用和重要的元素,剩余的最后一种组合片段元素不是很常用,因为比较复杂。所以在此,我只介绍前6种元素,如果后面碰到需要用到组合片段元素的情况,再单独介绍组合片段元素。系统角色,可以是人或者其他系统,子系统。以一个小人图标表示。对象位于时序图的顶部,代表时序图中的对象在交互中所扮演的角色,以一个矩形表示。时序图中每个对象和底部中心都有一条垂直的虚线,这就是对象的生命线(对象的时间线)。以一条垂直的虚线表示。对象与生命线结合在一起成为对象的生命线,对象的生命线包含矩形的对象图标以及图标下面的生命线。控制焦点代表时序图中在对象时间线上某段时期执行的操作。以一个很窄的矩形表示。代表对象之间发送的信息。消息分为三种类型。表示方法的自身调用或者一个对象内的一个方法调用另外一个方法。以一个半闭合的长方形+下方实心剪头表示。时序图创建有如下步骤:下面我们来使用Visio2016来画一个用户打开微信扫描二维码支付流程时序图,通过这个时序图来认识刚刚介绍的6种时序图元素。

2563 次浏览
如何轻松实现用visio画UML类图
如何轻松实现用visio画UML类图

和大家一起学习一下用Visio画UML类图的方法,主要有四个步骤,这里和大家分享一下,相信通过本节的学习,你对Visio画UML类图的步骤一定会有所了解。 用Visio画UML类图 对于画类图的工具很多,曾经学过用starUML画类图,但这个是用于Java语言的,对于用vs编程C++语言,个人感觉用visio会好一点。以下用以前面的俄罗斯方块游戏中的一个Block类为例来讲述。1.首先创建一个类图。接下来我们要做一下准备工作,因为我们这里用了PSDK中的POINT类型,在种数据类型在visio数据类型中找不到,所以我们先得追加这个数据类型。为了便于管理我们会先创建PSDK数据类型包.创建数据包:菜单->UML->包.打开[UML包]对话框.点击[新建]按钮,在[包]列中输入[PSDK数据类型],并确定2.追加POINT数据类型:这时我们可以看到模型资源管理器(若左边窗口没有,可以在从菜单->UML->视图->模型资源管理器调出)中选中刚建的PSDK数据类型,再右击->新建->数据类型,打开UML数据类型属性对话框。选择[数据类型]项目,在名称项目中填写[POINT],选择[确定]结束.注意:在PSDK中POINT是一个结构体,但是由于我们并不关心POINT的细节,所以把POINT作为简单数据类型来处理。类:Visio画UML类图时添加一个类很简单,从形状窗口中[UML静态结构]分类中拖动对象就可以了。

522 次浏览
UML时序图(Squence diagram)的设计介绍
UML时序图(Squence diagram)的设计介绍

一、概念UML时序图,也叫顺序图,是一种详细表示对象之间以及对象与参与者实例之间交互的图,它由一组协作的对象(或参与者实例)以及它们之间可发送的消息组成,它强调消息之间的顺序。它详细而直观地表现了一组相互协作的对象在执行一个(或少量几个)用例时的行为依赖关系,以及操作和消息的时序关系。类图是反映类、对象、接口等事物之间的依赖、继承、实现关系等,主要是静态关系,对对象之间的消息(交互情况)表达不够详细;;而顺序图既详细又直观的表达了消息传递,一张时序图能表示跟该行为相关的少数几个对象之间的交互。 二、时序图的结构序列图(Sequence Diagram)是由对象(Object)、生命线(Lifeline)、激活(Activation)、消息(Messages)、分支与从属流、组合片段(Combined Fragment)等元素构成的。1、对象(Object)对象就是指类的实例。我认为在序列图中对象有三种状态:激活、运行(存在)和销毁。

548 次浏览
如何使用visio画UML时序图
1、时序图作用
如何使用visio画UML时序图 1、时序图作用

 时序图是强调消息时间顺序的交互图,描述了对象之间传递消息的时间顺序,用来表示用例中德行为顺序。纵轴是时间轴,时间沿竖线向下延伸,横轴代表了协作各独立的对象。1)对象(Object)2)生命线(Lifeline)纵轴3)消息(Message)4)激活(Activation)如何调整大小的 Visio 绘图中的页面 

1295 次浏览
Visio绘制时序图
Visio绘制时序图

当编码的时候,知道有的用例的业务逻辑按照比较确定的时间先后顺序进行展开。这时候,我们就需要知道我们设计的系统中的不同类之间传递消息(可以认为是不同对象函数间的调用)要按照怎么样的顺序、传递什么消息、返回什么消息。这时候用时序图是最好不过的了。          时序图是描述消息时间顺序的交互图。在图形上,时序图是一张表,其中显示的对象沿横轴排列,从左到右分布在图的顶部;而消息则沿纵轴按时间顺序排序。创建时序图时,以能够使图尽量简洁为依据布局。  新建→软件和数据库→UML模型图  1、对象:表示系统的参与者或者任何有效的系统对象。   2、生命线:相当于一个时间线,表示对象在一段时间内的存在时间,而且从时序图的顶部一直延伸至底部,长度取决于交互的时间。   3、消息:是用来表示一个对象向其他一个或者多个对象发送信号,或者由一个对象调用另外一个对象的操作。   4、激活:表示的是一个对象直接或者通过从属操作而完成操作的过程。在时序图中一般激活符号的顶端与激活时间对齐,低端与完成时间对齐,被执行的操作则用文字进行标识。     5、注释:是用来对UML实体进行文字描述的。   6、约束:表示的是当为对象交互建模时,有时候必须满足一个条件,消息才会传递给对象。   7、用户:即系统角色,可以是人、其他系统或者子系统。   8、链接到自己:显示对象可以调用自己的属性。   9、通信:表示创建对象之间的通信路径。   10、包:在UML中,一个包直接对应的是一个Java中的包,是一种常规用途的组合机制。  1、确定交互过程的上下文;   2、识别参与过程的交互对象;   3、为每个对象设置生命线;   4、从初始消息开始,依次画出随后消息;   5、考虑消息的嵌套,标示消息发生时的时间点,则采用FOC(focus of control);   6、说明时间约束的地点。

615 次浏览
如何使用 visio 画UML类图之使用实现接口图标
如何使用 visio 画UML类图之使用实现接口图标

如果你新建的不是UML模型图,添加类图后双击有可能出现以下提示:此UML形状所在的绘图页不是UML模型图的一部分。该开关设计用于利用UML模型模板创建的绘图。所以要新建一个UML模型图,新建方法有以下两种:1.2.     有两种接口的实现,但没有虚线的箭头拖一个接口出来

781 次浏览
visio 框图多输入的实现教程
visio 框图多输入的实现教程

 最近在使用Visio绘制流程图的时候遇到一个问题:每个框只能有一个输入,只能连接一个输入箭头和一个输出箭头,那么像下面这样的图就无能为力:因为有两个输入!解决办法如下图所示:搞定!

801 次浏览
Visio中UML类图符号说明及使用简介
Visio中UML类图符号说明及使用简介

 最近做详细设计,选了Visio来画UML图,主要是因为Visio用得多,习惯了。但用来画类图时,顿时就觉得不好用,一则是因为大部分元素高度不能调整,如包、类等,如何解除锁定也是没用,导致设计类时,如果参数多,则类图很不整洁,二则是因为Visio中类图符号要比规范集少。三则是对类图符号还不是很熟,无法流畅地表达出自己的设计概念,思想,当然可能也是自己还没有想清楚,通过UML类图体现出来了,画UML类图的过程中,也会逐渐使设计思路清晰,各个类间的继承、多态、聚合关系理清,二者是一个相互作用的过程。下面介绍来源于一篇UML类图符号文章。文章讲得言浅意明,非常适合初画UML类图的人,但是有些重复,因此摘录独立关键点,本人针对Visio实际情况做了补充。1.继承(extends):用空心三角形+实线来表示。2.实现接口(implements):用空心三角形+虚线来表示。(Visio中小圆形加实线)3.关联(Association):用实线箭头来表示。(Visio中实线,二元关联和关联类)4.聚合(Aggregation):用空心的菱形+实线箭头来表示。5.组合(Composition):用实心的菱形+实线箭头来表示。(Visio中没有)6.依赖(Dependency):用虚线箭头来表示。(Visio中有调用、导入、实例化等7种依赖关系)。7.基数:连线两端的数字表明这一端的类可以有几个实例,比如:一个鸟应该有两只翅膀。如果一个类可能有无数个实例,则就用‘n’来表示。关联、聚合、组合是有基数的。此外Visio中还包括链接、约束、跟踪、精化、用法关系,包括信号、异常等符号。

685 次浏览
visio UML类图中的关系
visio UML类图中的关系

1.一般化关系(Generalization),所谓一般化通常指的就是继承关系,这里会有一般化(Generalization)及具体化(Specialization)      一般化的UML图例如下:        2.关联关系(Association),关联关系可以是单向或双向,但一般情况下大部份为单向,关联关系可进一步划分为聚合及合成关系,如果确实无办法区分,就先以关联关系表示,留意一下在关联关系中有个基数的概念(Multiplicity),就是类似关系型数据库一对一,一对多那个概念;       关联关系的类图如下:         3.关联关系演化为聚合关系(Aggregation),聚合关系是整体与部分的关系,但整体不会干涉部分的生命周期,简单来说,部分是可以独立存在的,例如:计算机由硬盘,CPU,内存组成,但硬盘,CPU、内存却可以独立存在;    聚合关系的类图如下:       4.关联关系演化为合成关系(Composition),合成关系比聚合关系更强,它要求整体的对象负责部分对象的生命周期,言下之意,如果整体消失了,部分也就消失了,而且部分不存在与其它类共享,例如:我们的心脏,脑袋,就与自己是合成关系;     合成关系的类图如下:        5.依赖关系(Dependency),依赖关系相对就比较弱了,而且它总是单向的,在java中,可以是局部变量,方法的参数或者是调用其它类的静态方法,例如:订单中添加商品,商品是订单中的一个参数,所以,我们可以说,订单依赖于商品。    依赖关系的类图如下:    指的是一个类(称为子类、子接口)继承另外的一个类(称为父类、父接口)的功能,并可以增加它自己的新功能的能力,继承是类与类或者接口与接口之间最常见的关系;在Java中此类关系通过关键字extends明确标识,在设计时一般没有争议性; 指的是一个class类实现interface接口(可以是多个)的功能;实现是类与接口之间最常见的关系;在Java中此类关系通过关键字implements明确标识,在设计时一般没有争议性; 可以简单的理解,就是一个类A使用到了另一个类B,而这种使用关系是具有偶然性的、、临时性的、非常弱的,但是B类的变化会影响到A;比如某人要过河,需要借用一条船,此时人与船之间的关系就是依赖;表现在代码层面,为类B作为参数被类A在某个method方法中使用; 他体现的是两个类、或者类与接口之间语义级别的一种强依赖关系,比如我和我的朋友;这种关系比依赖更强、不存在依赖关系的偶然性、关系也不是临时性的,一般是长期性的,而且双方的关系一般是平等的、关联可以是单向、双向的;表现在代码层面,为被关联类B以类属性的形式出现在关联类A中,也可能是关联类A引用了一个类型为被关联类B的全局变量; 聚合是关联关系的一种特例,他体现的是整体与部分、拥有的关系,即has-a的关系,此时整体与部分之间是可分离的,他们可以具有各自的生命周期,部分可以属于多个整体对象,也可以为多个整体对象共享;比如计算机与CPU、公司与员工的关系等;表现在代码层面,和关联关系是一致的,只能从语义级别来区分; 组合也是关联关系的一种特例,他体现的是一种contains-a的关系,这种关系比聚合更强,也称为强聚合;他同样体现整体与部分间的关系,但此时整体与部分是不可分的,整体的生命周期结束也就意味着部分的生命周期结束;比如你和你的大脑;表现在代码层面,和关联关系是一致的,只能从语义级别来区分; 对于继承、实现这两种关系没多少疑问,他们体现的是一种类与类、或者类与接口间的纵向关系;其他的四者关系则体现的是类与类、或者类与接口间的引用、横向关系,是比较难区分的,有很多事物间的关系要想准备定位是很难的,前面也提到,这几种关系都是语义级别的,所以从代码层面并不能完全区分各种关系;

835 次浏览