UML详解
创始人
2025-05-28 03:36:01

基本图形

开发过程与UML关系

用例图

  • 用例图,从用户角度描述系统行为功能(行为),并指出各功能的操作者

参与者(actor)

  •     一个人
  •     一个系统
  •     又称“主角”

用例(use case)

  •     参与者使用用例

系统(system)

  •     硬件和软件的结合体
  •     业务问题的解决方案
  • 基本图形

  • 关系

泛化: 继承关系,子用例将继承基用例的所有行为,关系和通信关系,也就是说在任何使用基用例的地方都可以用子用例来代替

include: 包含关系,当两个或多个用例中共用一组相同的动作,这时可以将这组相同的动作抽出来作为一个独立的子用例,供多个基用例所共享

extend: extend关系是对基用例的扩展,基用例是一个完整的用例,即使没有子用例的参与,也可以完成一个完整的功能

行为图

  • 描述系统的动态模型和组成对象间的交互关系

活动图 : 描述满足用例要求所要进行的活动以及活动间的约束关系,有利于识别并行活动

  • 用例行为
  • 对象行为

状态图 : 描述类的对象所有可能的状态以及事件发生时状态的转移条件

  • 活动图

显示工作步骤(活动)、判断点和分支
活动

  • 起点、终点

活动转移
判定

  • 直接、判定符号
  • 条件

并发
信号

  • 输出事件
  • 输入事件

泳道:明确角色职责
对象节点:明确输入和输出;钉
处理异常

  • 异常句柄

活动析构
时间流失、流程结束节点
约束符号
交互概览图

  • 活动图和交互图的组合
  • 每个活动都是一个独立的交互图
  • 发送和接收事件

  • 状态图

对象改变了自身的状态以响应事件和时间的流失
UML状态图就能捕捉这些状态变化
焦点是一个对象的状态变化
状态
    起点、终点
    状态名
    活动列表
        入口动作(entry)
        出口动作(exit)
        动作(do)
状态转移:触发器事件、无触发器转移
组成状态:历史状态(记住子状态、深H*、浅H)
子状态:顺序子状态、并发子状态
连接点:进入一个状态或退出一个状态的位置

  • 案例,pc状态转移

静态图

类图
    描述系统中类的静态结构(模仿现实世界、客户术语)
    属性、操作、责任
对象图
    是类图的实例,对象图只能在系统某一时间段存在 
    对象名:类名、 :类名
包图
    由包或类组成,表示包与包之间的关系
    包图用来对一个图的元素进行分组,描述系统的分层结构
    全限定名:包名::包元素名
        路径名:包::类
    关系:泛化、依赖和细化

  • 类图

交互图

  • 交互图(Interactive diagram),描述对象间的交互关系

顺序图:显示对象之间的动态协作关系,它强调对象之间消息发送的顺序,同时显示对象之间的交互
    消息:发送对象对接收对象的一个请求,要求接收对象完成一个操作
    时间从上到下延续
协作图:描述对象间的协作关系,协作图跟顺序图相似,显示对象间的动态协作关系
    时间顺序用消息前的序号表示

  • 顺序图

  • 案例

  • 协作图

实现图

构件图

部署图

RUP业务建模过程

需求与UML

相关内容

热门资讯

Java发起同步和异步HTTP... 同步与异步概念辨析 同步(synchronous)和异步(...
Kubernetes安装与集群... 一、环境准备 1、机器环境前置条件 当前演示准备3台虚拟机环境,或者是3台阿里云服务器...
simscape仿真总结2-机... 最近用simscape进行机器人的仿真,记录和总结一下学习心得和踩过的坑。 参照B站...
Redis(一):数据结构-底... 前言 从本文开始,我将分享一下近期自学 Redis 的学习笔记,其中大部...
flask教程5:abort函... 文章目录一、abort()函数的使用1.传递状态码信息2.传递响应体消息二、自定义错误处理 app....
【玩转Jetson TX2 N... 1 VMware14 Workstation Pro安装 如果没有Ubuntu系统电脑,...
2023还有人不知道kuber... 文章目录Kubernetes(K8s)一、Openstack&VM1、**认识虚拟化****1.1*...
NOI2019模拟赛 T1牛油... 题目描述 牛油果是一种神秘的水果,其具有一个坚固程度x≥0x\geq 0x≥0...
嵌入式软件开发之Linux下C... 目录 前沿 Hello World! 编写代码 编译代码 GCC编译器  gcc 命...
云原生|Rancher与Ope... 目录一、Rancher(一)介绍(二)优点&...
如何突破卫星影像建模难点?重建... 日前,由重建大师生成的首个“珞珈三号01星”卫星影像三维模型一经发出,引...
L1-085 试试手气 L1... 我们知道一个骰子有 6 个面,分别刻了 1 到 6 个点。下面给你 6 个骰子的初始状...
SpringSecurity客... 概述 FilterChainProxy是spring-security的入口,包含默认...
数据结构--二叉树 目录1.树概念及结构1.1数的概念1.2数的表示2.二叉树概念及结构2.1二叉树的概念2.2数据结构...
Qt之QUrl和QUrlQue... QUrlQUrl 类提供了一个方便的接口使用 URLs。最常见的使用QUrl 的方式是通过构造函数来...
函数指针二三事 1 什么是函数指针? ​ 函数指针,顾名思义,它是一个指向...
[ 红队知识库 ] Windo... 🍬 博主介绍 👨‍🎓 博主介绍:大家好...
【PowerBI】PowerB... 目的: 陈述PowerBI连接Mysql数据库的坑。 方法1:直接使用【...
BI数据可视化|可自动刷新的可... BI数据可视化大屏和其他的BI报表一样,都是可用于日常的决策中,因此除了...
Linux 练习十二 (Lin... 文章目录1 计算机网络基础知识1.1 OSI参考模型和TCP/IP参考模型1.2 TCP 协议1.2...
SQL语言基础教学 | Mys... SQL语言基础教学SQL(Structured Query Languageÿ...
pandas数据分析(三) 书接pandas数据分析(二) 文章目录DataFrame数据处理与分...
DC-DC升压模块隔离高压稳压... 特点● 效率高达 80%● 2*2英寸标准封装● 单双电压输出● 价格低● 大于600V高压,稳压输...
Java【多线程基础2】 Th... 文章目录前言一、Thread类1, 构造方法2, 常用成员属性3, 常用成员方法3.1, start...
TDK| 电源——反激变压器设... 电源参数根据功率、输入输出的情况,我们选择反激电源拓扑。反激式变压器的优点有:1、 电...
Python:判断语句 目录一、布尔类型1.1定义1.2获取二、逻辑运算符2.1and运算符2.2or运算符2.2not运算...
协程池加disruptor加e... 先说一下disrutor和协程的实现。然后介绍服务器具体分析,以及迭代过程,项目困难,学到东西,压测...
selenium(2)----... 操作界面上的元素: 先选中元素再进行调用下面的方法 1)click(),点击对象 2)...
第九章:C语言数据结构与算法初... 系列文章目录 文章目录系列文章目录前言一、堆的定义二、堆的实现三、堆的接口函数1、初始化2、销毁3...
< Linux > 多线程(单... 目录 1、单例模式         饿汉方式实现单例模式         懒汉方式实现单例模式   ...