UML(续)
活动图
活动图定义
活动图描述了在一个过程中,顺序的/并行的活动及其之间的关系
应用于商业过程、工作流(业务过程)、复杂算法的建模
活动图是顶点和弧的集合
- 活动节点
- 动作
- 流
- 对象值
- 注解和约束等
建模元素说明:
开始、结束

两根直线,划分了三个泳道
活动节点
- 一个活动是一个过程中进行的非原子的执行单元
- 活动的执行最终延伸为一些独立动作(Action)的执行
弧,迁移线
- 分岔表示把一个单独的控制流分成两个或
多个并发的控制流 - 汇合表示两个或多个并发控制流的同步发
生,一个汇合可以有两个或多个进入转移
和一个输出转移 - 在 中,用同步棒来说明并行控制流的
分岔和汇合 - 同步棒是一条水平或垂直的粗线条
- 分岔表示把一个单独的控制流分成两个或
对象
同步棒:合并、分岔
分支:条件判断
一个分支可以有一个进入流和多个离去流
在每个离去流上必须设置一个监护条件
条件放在方括号里
条件不能重叠,以免二义性
- 可以有 [else] 分支
两个控制路径可以重新合并,无需监护条件
泳道
- 将一个活动图中的活动分组,每一组表示一个特定的类别人或部门,他们负责完成组内的活动
- 每个组被称为一个泳道
- 用一条垂直的实线把它们分开
- 每个活动严格地属于一个泳道
- 转移可以跨越泳道
- 同步棒可以跨越泳道

泳道是包的一种
小结
- 描述一项任务执行过程中所完成的工作(动作)
- 描述对象内部的工作
- 显示如何执行一组相关的动作,以及这些动作如何影响它们周围的对象
- 显示用例的实例如何执行动作以及如何改变对象状态
- 说明一次业务流程中的人(参与者)和对象是如何工作的
活动图与用例模型互为补充,主要用于需求分析阶段
活动图中的基本要素包括
活动(动作)、转移、分支、分叉和汇合、泳道、对象流等
类图
类图定义
- 具有相同属性、操作、方法、关系或者行为的一组对象的描述符
- 类是真实世界事物的抽象
- 问题领域的类:在对系统建模时,将会涉及到如何识别业务系统中的事物,这些事物构成了整个业务系统。在UML中,把所有的这些事物都建模为类 (class)
对象object的定义
- 当这些事物存在于真实世界中时,它们是类的实例,并被称为对象
- 同一个类的各对象具有
- 相同的属性,但属性的取值可以不
把类相关的元素画在一起,即为类图
类之间的关系
依赖关系

关联关系

- 关联的修饰
- 名称
- 角色
- 多重性
- 聚类/组合
- 关联类
- 连接(Link)
- 关联的修饰
继承|泛化关系

- 一般与具体
实现

- 类与接口
类的图形表示
用四部分来表示,它是分为三个分隔区(compartment)的长方形

类元素命名
参考Java学习过程中基本命名方式
命名不做硬性要求,不做过多细述记录
关联关系的修饰
名称及其方向

角色

多重性
聚合/组合

类图小结
- 是面向对象分析设计的核心概念,也是难点
- 如何用UML工具来表示类及其相关概念,很重要
- 如何用面向对象的思维方式去思考,去发现类、定义类、定义类之间的关系、定义每个类应该承担的职责!
顺序图
有关概念
- 交互
- 对象之间为实现某一功能而必须实施的协作过程、动态行为,称为交互
- 消息
- 对象间的协作与交流表现为一个对象以某种方式启动另一个对象的活动,这种交流在UML里被定义为消息
- 顺序图的建模元素
- 对象或角色( role )
- 参与者
- 消息
- 交互图
- 交互的过程表现出来,就是交互图
- 顺序图、通信图,都是交互图
顺序图: 交互图的一种
基本建模元素:
对象
生命期
控制焦点
消息==方法调用
消息序号(可选)

顺序图中的结构化控制,又称:Frame, Fragment
类型
- 可选执行(标签: opt)
- 条件执行(标签:alt)
- 并行执行(标签:par)
- 循环(迭代)执行(标签:loop)
关于操作(Operations)
The behavior of a class is represented by its operations 一个类的行为/服务,是通过操作来表示的
Operations may be found by examining interaction diagrams 在交互图里面可以看到对象在执行这些操作
先在类中定义操作,然后在顺序图中为对象选择操作!
顺序图小结
- 顺序图可以动态验证类模型的可行性
- 顺序验证的某一功能,属于某个用例描述的功能中的一部分
- 又被称为用例实现 “usecase realization”
- 顺序图从上到下,反映了个对象相互协作的时间顺序!
UML(续)的更多相关文章
- python day 18: thinking in UML与FTP作业重写
目录 python day 18 1. thinking in UML读书小感 2. FTP作业重写 2.1 软件目录结构 2.2 FTPClient端脚本 2.3 FTPServer端脚本 pyth ...
- UML建模语言、设计原则、设计模式
1.UML统一建模语言 定义:用于软件系统设计与分析的语言工具 目的:帮助开发人员更好的梳理逻辑.思路 学习地址:UML概述_w3cschool 官网:https://www.omg.org/spec ...
- UML课程复习重点
第一章 一.UML图示建模工具 二.UML--统一建模语言,以图形符号为基础,描述软件模型既简洁又清晰.它不是开发方法,是独立于任何开发方法之外的语言.它用于描述软件系统分析.设计和实施中的各种模型. ...
- .Net Core MVC 网站开发(Ninesky) 2.3、项目架构调整(续)-使用配置文件动态注入
上次实现了依赖注入,但是web项目必须要引用业务逻辑层和数据存储层的实现,项目解耦并不完全:另一方面,要同时注入业务逻辑层和数据访问层,注入的服务直接写在Startup中显得非常臃肿.理想的方式是,w ...
- [.NET] C# 知识回顾 - 委托 delegate (续)
C# 知识回顾 - 委托 delegate (续) [博主]反骨仔 [原文]http://www.cnblogs.com/liqingwen/p/6046171.html 序 上篇<C# 知识回 ...
- UML图中经常用到几种的关系图例
学习这个东西挺奇怪的,时间一长就容易忘记,或者记不清楚.今天看到一些UML图的关系,发现有些出入了,索性就写下来,以后再忘记的时候过来看看. 在UML的类图中,常见的有以下几种关系: 继承(Gener ...
- UML类图(下):关联、聚合、组合、依赖
前言 上一篇文章UML类图(上):类.继承.实现,讲了UML类图中类.继承.实现三种关系及其在UML类图中的画法,本文将接着上文的内容,继续讲讲对象之间的其他几种关系,主要就是关联.聚合.组合.依赖, ...
- UML类图(上):类、继承和实现
面向对象设计 对于一个程序员来说,在工作的开始阶段通常都是别人把东西设计好,你来做.伴随着个人的成长,这个过程将慢慢变成自己设计一部分功能来实现,自己实现.如果要自己设计,无论是给自己看,还是给别人看 ...
- UML
UML:1.继承关系用空心三角形+实线来表示2.实现接口用空心三角形+虚线来表示3.关联关系用实线箭头来表示4.依赖关系用虚线箭头来表示5.聚合关系用空心菱形+实线箭头来表示6.组合关系用实心菱形+实 ...
随机推荐
- Log4Net读取XML配置文件及在代码中完成添加Logger操作
解决问题: 将log4net配置文件与app.config配置文件分开 手动读取log4net配置文件 手动创建logger 可将日志输出功能封装在类库中,应用程序引用时无需添加assembly引用及 ...
- 从ISTIO熔断说起-轻舟网关熔断
最近大家经常被熔断洗脑,股市的动荡,让熔断再次出现在大家眼前.微服务中的熔断即服务提供方在一定时间内,因为访问压力太大或依赖异常等原因,而出现异常返回或慢响应,熔断即停止该服务的访问,防止发生雪崩效应 ...
- GBDT梯度提升树算法及官方案例
梯度提升树是一种决策树的集成算法.它通过反复迭代训练决策树来最小化损失函数.决策树类似,梯度提升树具有可处理类别特征.易扩展到多分类问题.不需特征缩放等性质.Spark.ml通过使用现有decisio ...
- OLED的使用-4线SPI驱动
一 .OLED屏 1.OLED屏(七针) 2.OLED电路图 3.0.96'OLED简介 该模块特点: 1.三色可选,模块有两种单色和黄蓝双色两种颜色可选,单色为纯白色和纯蓝色,双 色为黄蓝双色: 2 ...
- HTML5调用笔记本或手机摄像头
网上找了些文章测试了下,到现在为止还是很多浏览器不支持,所以也没有什么实用价值啊. 以下代码在笔记本电脑浏览器chrome25,irefox19上测试通过(FF需要在地址栏输入about:config ...
- A TensorBoard plugin for visualizing arbitrary tensors in a video as your network trains.
Beholder is a TensorBoard plugin for viewing frames of a video while your model trains. It comes wit ...
- 线程安全,syncronized 用法
1,为什么有线程安全问题? 当多个线程同时共享同一个全局变量或静态变量,做写的操作时,可能会发生数据冲突问题,也就是线程安全问题.但是做读操作是不会发生数据冲突问题. public class Tra ...
- Dome_iptest_server
一个简单的ip测试服务器 打印返回 请求头request import socket def send_data(conn, data=None, status=200): if status != ...
- 迁移桌面程序到MS Store(15)——通过注册表开启Developer Mode
没想到该系列不仅没有太监,还打算更新一个小短篇.在各种大厂小厂工作的各位想必都知道Windows域的概念.入域的机器很多的设置就由不得当前登入所使用的域账号了,Windows的更新和安全等众多的设置均 ...
- Redis系列(四):Redis的复制机制(主从复制)
本篇博客是Redis系列的第4篇,主要讲解下Redis的主从复制机制. 本系列的前3篇可以点击以下链接查看: Redis系列(一):Redis简介及环境安装 Redis系列(二):Redis的5种数据 ...