全面剖析UML(上)

电子说

1.3w人已加入

描述

前言

每次评审技术方案设计的时候,常常会以为自己画图不够专业而心虚。我常因为画图不够专业,而感到和你们格格不入。归根结底还是我对这些系统建模语言不够熟悉。写本篇文章的目的是想帮助大家也是自己快速理解 UML ,找到系统设计的抓手。本文约2千字左右并插入了大量例图,通读大约需要20-30分钟左右,本文可以收藏便于下次查阅。

个人想法:想快速系统掌握一门知识,虽然从互联网上可以搜索到很多相关内容,但都是碎片化 的,有些甚至还会出错误导自己的思路,从而浪费时间。总结:求知还是要买一本书或一份资料系统的学习才高效并节约成本的方式。

正文

UML是什么

统一建模语言(Unified Modeling LanguageUML)是一种为面向对象系统的产品进行说明、可视化和编制文档的一种标准语言,是非专利的第三代建模和规约语言。UML是面向对象设计的建模工具,独立于任何具体程序设计语言。

UML的分类

UML 有很多种,但大体分为两类:结构型的UML 和 行为型的UML

类型 UML 用途
结构型的图(Structure Diagram 类图(Class Diagram 分析业务概念
结构型的图(Structure Diagram 对象图(Object Diagram 基本不用
结构型的图(Structure Diagram 包图(Packet Diagram 很少使用
结构型的图(Structure Diagram 构件图(Component Diagram 分析 IT 基础架构、软件架构等方面的需求
结构型的图(Structure Diagram 部署图(Deployment Diagram 分析 IT 基础架构、软件架构等方面的需求
行为型的图(Behavior Diagram 用例图(Use Case Diagram 描述系统的行为
行为型的图(Behavior Diagram 活动图(Activity Diagram 分析业务流程(最常用)
行为型的图(Behavior Diagram 顺序图(时序图)(Sequence Diagram 分析业务流程(最常用)
行为型的图(Behavior Diagram 状态机图(State Machine Diagram 分析业务流程(最常用)
行为型的图(Behavior Diagram 通信图(Communication Diagram) 基本不用
行为型的图(Behavior Diagram 时间图(Timing Diagram) 基本不用

从实用的角度和常用的角度出发一一介绍UML

1 类图

1.1 什么是类图?

类图是业务结构建模的重要工具,可以表达类、接口以及类之间的静态结构和关系。

1.2 类之间的关系

类之间的关联关系

面向对象

类之间的包含关系

面向对象

类之间的继承关系

面向对象

类之间的依赖关系

面向对象

1.3 类之间的递归关系

面向对象

1.4 类之间的“三角”关系

面向对象

2 对象图

2.1 什么是对象图?

类(class)的实例(instance)就是对象。

2.2 类和对象的对比

面向对象

类图和对象图的对比

面向对象

3 活动图

3.1 什么是活动图?

活动图本质上也是一种流程图,可以描述系统的工作流程和并发行为。

3.2 活动图的基本语法
图形符号 释义
开始
结束
活动
判断、合并
3.3 基本活动图

面向对象

3.4 活动图中关于判断的三种处理方法
  1. 在判断菱形旁边写下判断的句子。

面向对象

  1. 不需要写判断的内容,直接通过监护来表示这个判断(如3.3)。
  2. 在判断菱形之前增加一个活动,表明判断的动作,而判断菱形不需要写判断的句子。
3.5 活动图多层分支的表达方式

面向对象

3.6 活动图泳道分区

面向对象

3.7 并行的活动
  1. 并行的图形符号
  2. 并行活动图示例

面向对象

3.8 连接件

有时候活动图很大,一张纸画不下,那么就需要另外一张纸继续画下去。

左边的符号箭头指向A,表示活动图到这里要转到另外一张图,右边的符号由A开始指出一个箭头表示继续活动图

4 状态机图

4.1 什么是状态机图?

很多资料中叫“状态图”其实标准语法是“状态机图”。用于描述一个对象的所有状态和状态之间的转换。

4.2 “活动图”和“状态机图”圆角框的区别

面向对象

4.3 用实例说明流程图和状态机图的区别
  1. 请假流程活动图

面向对象

  1. 请假活动状态机图

面向对象

4.4 多级审批的状态机图案例

面向对象

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分