UML动态模型图简单介绍
UML动态模型图描述了系统动态行为的各个方面,包括用例图、序列图、协作图、活动图和状态图。下面就每种图做一个简单介绍:
用例图
用例图描述系统外部的执行者与系统提供的用例之间的某种联系。所谓用例是指对系统提供的功能的一种描述。执行者是使用用例的人或外部系统,二者之间的联系描述了“谁使用哪个用例”。用例图着重于从系统外部执行者的角度来描述系统需要提供哪些功能,并指明该执行者是谁。在用例图中,椭圆表示用例,小人表示执行者。下图所示为一个普通用户进入某系统的用例图,该图描述了当普通用户进入系统时,“普通用户”为执行者,其具有密码修改、资料修改、订单查询、产品搜索等4个用例。

序列图
序列图又被称为时序图、顺序图,用于描述几个对象之间的动态协作关系。序列图由一组对象构成,每个对象分别带有一条竖线,代表时间轴,称为生命线。从一个对象的生命线指向另一个对象的生命线的水平箭头表示消息。序列图就是描述这些对象随着时间的推移互相之间交换消息的过程。下图示为一个模拟银行间资金转账的序列图,通过中心间联发起转账,描述了银行A、中心、银行B的交互过程,通过该模型图,可以比较清晰的了解整个交互过程及交互顺序。

协作图
与序列图相同,协作图也是用来描述系统中对象之间的动态协作关系。协作图侧重于描述各对象之间存在的消息收发关系,而不专门突出这些消息发送的时间顺序。下图是与上面序列图对应的协作图,对象之间的消息箭头表示它们之间的消息流向,消息上的标号说明这些消息发送的时序。

状态图
状态图是对类描述的补充,用于展示此类对象所具有可能的状态以及某些事件发生时其状态的转移情况。下图示一部电梯的状态图,圆角矩形表示状态,箭头表示状态的转移,而转移旁标出的是所发生的事件。如:当电梯处于上升状态时发生了“到达”的事件,则电梯转为空闲状态。

活动图
活动图是一种特殊的状态图,活动图描述一个操作中要进行的各项活动的执行流程。同时,也常被用来描述一个用例的处理流程或者某种交互流程。下图所示是一台打印服务器的活动图。通过该模型图的描述,可以了解执行打印功能时需要涉及哪些活动及其活动顺序。图中的圆角矩形表示活动,活动图就是由一些活动组成的。当一个活动执行完毕之后,控制将沿箭头转向下一个活动直至结束。

UML动态模型图简单介绍的更多相关文章
- 服务器端IO模型的简单介绍及实现
https://mp.weixin.qq.com/s?src=3×tamp=1541726441&ver=1&signature=xPSye3v7miF7aVeLHb ...
- 服务器端IO模型的简单介绍及实现 阻塞 / 非阻塞 VS 同步 / 异步 内核实现的拷贝效率
小结: 1.在多线程的基础上,可以考虑使用"线程池"或"连接池","线程池"旨在减少创建和销毁线程的频率,其维持一定合理数量的线程,并让空闲 ...
- UML动态模型(顺序图、协作图、状态图)
顺序图:用来表示用例中的行为顺序,当执行一个用例行为时,顺序图中的每条信息 对应了一个类操作或状态机中引起转换的事件.顺序图展示对象之间的交互,这些交互是指在场景或用例的时间六中发生的,顺序图属于动态 ...
- 设计模式-UML图简单介绍
直接上法宝: 1.类(Class) 类图分三层: 第一层显示类的名称,如果是抽象类,则就用斜体显示. 第二层是类的特性,通常就是字段和属性. 第三层是类的操作,通常是方 ...
- UML类图简单介绍
先上一张图: 概述 类图(Class Diagram)是面向对象系统建模中最常用和最重要的图,是定义其它图的基础.类图主要是用来显示系统中的类.接口以及它们之间的静态结构和关系的一种静态模型. 类图组 ...
- 几种服务器端IO模型的简单介绍及实现
一些概念: 同步和异步 同步和异步是针对应用程序和内核的交互而言的,同步指的是用户进程触发I/O操作并等待或者轮询的去查看I/O操作是否就绪,而异步是指用户进程触发I/O操作以后便开始做自己的事情,而 ...
- 微软BI 之SSAS 系列 - 在 SQL Server 2012 下查看 SSAS 分析服务的模型以及几个模型的简单介绍
在SSDT中部署一个 SSAS 项目到本地服务器上出现错误. You cannot deploy the model because the localhost deployment server i ...
- Python的自定义属性访问跟描述器以及ORM模型的简单介绍
一 . 自定义属性访问 1.__getattr__ 作用:当我们访问属性的时候,如果属性不存在(出现AttrError),该方法会被触发. 2.__getattribute__ 作用:访问属性的时候, ...
- 计算机协议、标准以及OSI模型的简单介绍
由概念启发学习,引导学习.本篇文章中包含了一些最基本的概念和底层知识.虽然零碎,但是这是基础. 一.协议和标准 协议指的是一组控制数据通信的规则.协议有三要素:语法(syntax),语义(semant ...
随机推荐
- BPTT算法推导
随时间反向传播 (BackPropagation Through Time,BPTT) 符号注解: \(K\):词汇表的大小 \(T\):句子的长度 \(H\):隐藏层单元数 \(E_t\):第t个时 ...
- net TreeView 递归
1.显示效果 2.数据insert脚本 insert into CITY(id,text,pid) values('1','城市',null)insert into CITY(id,text,pid ...
- My安卓知识6--关于把项目从androidstudio工程转成eclipse工程并导成jar包
是这样,我在我的android项目中想实现zxing也就是二维码的一些功能,但是需要的一个源码工程是androidstudio工程,想把这个工程转成eclipse工程并导成jar包在我的项目中使用. ...
- Linux内核完全注释阅读笔记1:O(1)时间复杂度查找timeout定时器
前言 一直有Linux kernel情节,之前也一直在看Linux kernel相关的书和代码,但是每次到最后又由于兴趣转变而荒废了.这次终于静下心来想把Linux内核相关的代码好好看看,算是对自己的 ...
- 遍历指定目录下指定类型文件的函数(fatkun Fix版)
// ================================================================ // 遍历某个文件夹及子文件夹下某种文件, // 使用说明 // ...
- Oracle 11g 导库导不出空表问题
Oracle11g 会遇到这样的问题,用exp整库导出的时候,会遇到这样的问题,库里的空表没办法导出 select * from all_all_tables aa where aa.owner='U ...
- Android多线程机制和Handler的使用
参考教程:iMooc关于Handler,http://www.imooc.com/learn/267 参考资料:Google提供Android文档Communicating with the UI T ...
- RTABMAP-ROS RGB-D的建图原理
CoreNode.cpp: new CoreWrapper -- CoreWrapper.cpp: process() -- mapsManager_.updateMapCaches MapsMana ...
- linux c++循环缓冲区模板类
一:概述 实际学习和工作中,我们经常会遇到读写大量数据的情况,这个时候我们可能就用到了循环缓冲区. 循环缓冲区在处理大量数据的时候有很大的优点,循环缓冲区在一些竞争问题上提供了一种免锁的机制,免锁的前 ...
- VMware Workstation虚拟机中的Linux通过NAT模式共享上网配置教程
VMware Workstation虚拟机中的Linux通过NAT模式共享上网配置教程 在VMware Workstation虚拟机下面,Linux虚机要上网,一般是桥接模式,但我自己的电脑上网的环境 ...