系统架构设计专业技能 · 软件工程之UML建模设计

news2025/1/21 7:19:05

现在的一切都是为将来的梦想编织翅膀,让梦想在现实中展翅高飞。
Now everything is for the future of dream weaving wings, let the dream fly in reality.

点击进入系列文章目录

系统架构设计高级技能 · 软件工程之UML建模设计

  • 一、需求分析 - UML图
  • 二、用例图
    • 2.1 用例图相关关系(包含、扩展、泛化)
    • 2.2 用例图
  • 三、类图与对象图
    • 3.1 类图与对象图相关关系(依赖、泛化、关联(聚合/组合)、实现)
    • 3.2 类图与对象图
  • 四、顺序图(序列图)
  • 五、通信图(协作图)
  • 六、状态图
  • 七、活动图
  • 八、定时图
  • 九、构建图与包图
  • 十、部署图

在这里插入图片描述

一、需求分析 - UML图

在这里插入图片描述

二、用例图

2.1 用例图相关关系(包含、扩展、泛化)

在这里插入图片描述

包含关系(必然的): 其中这个提取出来的公共用例称为抽象用例,而把原始用例称为基本用例或基础用例。当可以从两个或两个以上的用例中提取公共行为时,应该使用包含关系来表示它们。
在这里插入图片描述

扩展关系(可选的): 如果一个用例明显地混合了两种或两种以上的不同场景,即根据情况可能发生多种分支,则可以将这个用例分为一个基本用例和一个或多个扩展用例,这样使描述可能更加清晰。
在这里插入图片描述

泛化关系(父子): 当多个用例共同拥有一种类似的结构和行为的时候,可以将它们的共性抽象成为父用例,其他的用例作为泛化关系中的子用例。在用例的泛化关系中,子用例是父用例的一种特殊形式,子用例继承了父用例所有的结构、行为和关系。
在这里插入图片描述

2.2 用例图

  • 用例图描述一组用例、参与者及它们之间的关系。
  • 用户角度描述系统功能;
  • 参与者是外部触发因素;
    (包括用户、组织、外部系统,时间)
  • 用例是功能单元。

关系包括:包含关系、扩展关系、泛化关系

用例建模的流程:
识别参与者(必须)
合并需求获得用例(必须)
细化用例描述(必须)
调整用例模型(可选)
在这里插入图片描述

三、类图与对象图

3.1 类图与对象图相关关系(依赖、泛化、关联(聚合/组合)、实现)

在这里插入图片描述
在这里插入图片描述

3.2 类图与对象图

类图(class diagram) : 类图描述一组类、接口、协作和它们之间的关系。

对象图(object diagram) : 对象图描述一组对象及它们之间的关系。对象图描述了在类图中所建立的事物实例的静态快照。

类名,方法名,属性名
多重度(对应关系数1、0…*)
关系

在这里插入图片描述

四、顺序图(序列图)

顺序图(sequence diagram, 序列图) 。顺序图是一种交互图(interaction diagram)它强调对象之间消息发送的顺序,同时显示对象之间的交互。
在这里插入图片描述

五、通信图(协作图)

通信图(communication diagram) 。通信图也是一种交互图, 它强调对象之间存在的消息收发关系,而不专门突出这些消息发送的时间顺序。
在这里插入图片描述

六、状态图

状态图(state diagram) 是对类描述的补充。用于展现此类对象所具有的可能状态,以及某些事件发生时其状态转移情况。

在这里插入图片描述

在订单处理的过程中,会员可以点击“取消订单”取消该订单。如果 支付失败 ,该订单将被标记为 挂起状态 ,可后续重新支付,如果挂起超时30分钟未支付,系统将自动取消该订单。订单支付成功后,系统判断订单类型:
(1)对于常规订单,标记为 备货状态 ,订单信息发送到货运部,完成打包后 交付快递 发货;
(2)对于定制订单,会自动进入 定制状态 ,定制完成后 交付快递 发货。会员在系统中点击“ 收货 ”按钮变为 收货状态 ,结束整个订单的处理流程。
在这里插入图片描述

七、活动图

活动图(activity diagram) 是一种特殊的状态图。活动图描述一个操作中要进行的各项活动的执行流程。同时,也常被用来描述一个用例的处理流程或者某种交互流程。活动图将进程或其他计算结构展示为计算内部一步步的控制流和数据流。它强调对象间的控制流程。
活动图与流程图的区别是可以并行。
在这里插入图片描述
在这里插入图片描述

八、定时图

定时图 也叫计时图,也是一种交互图,用于展示交互过程中的真实时间信息,具体描述对象状态变化的时间点以及维持特定状态的时间段。
在这里插入图片描述

九、构建图与包图

构件图(component diagram) 。构件图描述一个封装的类和它的接口、端口, 以及由内嵌的构件和连接件构成的内部结构。构件图用于表示系统的静态设计实现视图。对于由小的部件构建大的系统来说,构件图是很重要的。构件图是类图的变体。
在这里插入图片描述
包图 ,包的图标像是一个带标签的文件夹,包的基本思想是把共同工作的元素放到一个文件夹中。例:多个类或构件组成了一个子系统,就可以将它们放到一个包中。

十、部署图

部署图(deployment diagram) 。部署图描述对运行时的处理节点及在其中生存的构件的配置。部署图给出了架构的静态部署视图,通常一个节点包含一个或多个部署图。

在这里插入图片描述
点击进入系列文章目录

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1007346.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

黑马JVM总结(六)

(1)常量池 方法区的组成中都由一个叫做运行时常量池的部分,内部包含一个叫做StringTable的东西 反编译二进制字节码: 类的基本信息: 常量池: 方法定义: 构造方法 main方法 :方法中…

NS6326 4-30V 输入 5V/3A 输出同步降压稳压器芯片

NS6326 4-30V 输入 5V/3A 输出同步降压稳压器芯片 1 特性  宽输入电压范围:4V-30V  效率可高达 92%以上  超高恒流精度:5%  恒压精度:5%  无需外部补偿  开关频率:130kHz  输入欠压/过压、输出短路和过热保护  SO…

驱动开发--自动创建设备节点udev机制的实现过程

一、udev的认识 udev:自动创建设备节点的机制&#xff0c;创建设备节点的逻辑在用户空间 二、udev机制创建设备节点的过程分析 三、目录信息创建和删除类函数 #include<linux/device.h> 1.向上提交目录信息 struct class * class_create(struct module *owner,const c…

牛客:小美的01串翻转

小美的01串翻转 #include<iostream> #include<cstring> #include<string> #include<vector>using namespace std; typedef long long ll; const int N 1100; string s; ll res 0;int main() {cin>>s;int n s.size();vector<vector<in…

spice VDAgent简介

vdagent分为linux和windows&#xff0c;其中Linux分为vdagent守护进程和vdagent客户端进程&#xff0c;而windows主要为vdagent服务。 在windows中&#xff0c;通过服务方式自启动&#xff0c;并控制windows显示等。 在linux中&#xff0c; 守护进程通过 Sys-V initscript 或 s…

ChatGPT追祖寻宗:GPT-2论文要点解读

论文地址&#xff1a;Language Models are Unsupervised Multitask Learners 上篇&#xff1a;GPT-1论文要点解读 在上篇&#xff1a;GPT-1论文要点解读中我们介绍了GPT1论文中的相关要点内容&#xff0c;其实自GPT模型诞生以来&#xff0c;其核心模型架构基本没有太大的改变&a…

线程安全问题(3)--- wait(),notify()

前言 在多线程的环境下&#xff0c;我们常常要协调多个线程之间的执行顺序&#xff0c;而为了实现这一点&#xff0c;Java提供了一些方法来帮助我们完成这一点。 一&#xff0c;wait() 作用&#xff1a; 使当前线程进入等待状态 释放当前的锁 (即该方法必须和 synchrnized 关键…

【02】Charles_Breakpoints给接口设置断点

目录 1.适用场景&#xff1a; 2.操作步骤 3.实现效果 ​编辑 1.适用场景&#xff1a; 测试工作中&#xff0c;有些接口的请求or响应数据不符合预期&#xff0c;需要mock一些数据时&#xff0c;需要修改接口的request请求参数、response响应数据。 就可以借助断点实现。 …

探访天府蜂巢成都直播基地,全成都前十的直播产业供应链都在这!

随着新一轮科技革命和产业变革深入发展&#xff0c;数字化转型已经成为大势所趋。成都直播基地作为数字经济创新发展的前沿和焦点&#xff0c;为产业转型升级和数字经济发展提供核心驱动力。 “直播”新业态新模式的兴起&#xff0c;显示出强大的潜力和活力&#xff0c;树莓集团…

《动手学深度学习 Pytorch版》 4.8 数值稳定性和模型初始化

4.8.1 梯度消失和梯度爆炸 整节理论&#xff0c;详见书本。 梯度消失 %matplotlib inline import torch from d2l import torch as d2lx torch.arange(-8.0, 8.0, 0.1, requires_gradTrue) y torch.sigmoid(x) y.backward(torch.ones_like(x))d2l.plot(x.detach().numpy()…

F. Magic Will Save the World(DP)

Problem - F - Codeforces 黑暗势力的传送门在世界边界打开了&#xff0c;现在整个世界都面临着可怕的威胁。为了关闭传送门并拯救世界&#xff0c;你需要一个接一个地击败n个从传送门中出现的怪物。 只有女巫Vika能够应对这个威胁。她有两个魔法力量——水之魔法和火之魔法。…

口袋参谋:淘宝卖家必备的淘词分析神器!

​在淘宝天猫上&#xff0c;每天都有数以亿计的商品在上面交易&#xff0c;在这个巨大的市场中&#xff0c;如何让自己的商品脱颖而出&#xff0c;成为卖家们关心的问题之一。 因此关键词的挑选就显得尤为重要&#xff0c;好的关键词&#xff0c;一天的搜索量可达上万&#xf…

模拟实现字符串函数和内存函数

模拟实现字符串函数和内存函数 函数介绍部分模拟实现strlenstrcpy,strcat,strcmpstrncpy,strncat,strncmpstrstr,strtokstrerror 字符分类函数内存函数memcpy,memmove,memset,memcmp 求字符串长度(strlen)长度不受限制的字符串函数(strcpy,strcat,strcmp)长度受限制的字符串函数…

数据结构与算法之分治法

文章目录 前言1.递归解决阶乘函数2.归并排序算法2.1 归并排序的概念2.2 分治法的三步曲2.3 归并排序的动画2.4 归并排序算法(C语言代码) 3.最大子序列和问题3.1 问题的定义3.2 分治的思路3.3 简单的分解下代码的结果3.4 算法代码3.5 测试结果 前言 分治法首先需要明白递归的概…

Ubuntu18.04遇到的nodejs的坑记录

Ubuntu18.04安装nodejs的正确姿势 问题回顾 给我的博客网站整上代码高亮插件&#xff0c;在本地运行一切完美&#xff0c;可在我的Ubuntu18.04 bionic版本服务器上运行却报了以下的错误 ERROR in ./node_modules/highlight.js/lib/languages/xml.js Module parse failed: Er…

安装最新版React devtool

1.按照官方文档执行 我这里只想在项目里安装&#xff0c;因此执行的 npm install react-devtools^4 2.安装完成后&#xff0c;在 package.json里加入启动命令 "script": {"dev": "react-devtools" }执行npm run dev会弹出一个窗口 如果是全局…

Redis从简单到高级的总结(超详细)

Redis简单 1、Redis Redis是一个基于内存的key-value结构数据库。Redis 是互联网技术领域使用最为广泛的存储中间件。**官网&#xff1a;**https://redis.io **中文网&#xff1a;**https://www.redis.net.cn/ **key-value结构存储&#xff1a;****主要特点&#xff1a;**- 基…

Vue3 监听属性-watch

文章目录 Vue3 监听属性-watch1. 概念2. 实例2.1 通过使用 watch 实现计数器2.2 千米与米之间的换算2.3 异步加载中使用 watch2.4 小计 Vue3 监听属性-watch 1. 概念 Vue3 监听属性 watch&#xff0c;可以通过 watch 来响应数据的变化。 watch 的作用&#xff1a;用于监测响应…

Navicate操作说明

Navicate介绍 源自百度百科 “Navicat”是一套可创建多个连接的数据库管理工具&#xff0c;用以方便管理 MySQL、Oracle、PostgreSQL、SQLite、SQL Server、MariaDB 和 MongoDB 等不同类型的数据库 操作文档 1.想找出某字段同时满足多个值&#xff0c;比如id值为7或8的记录 方…

pcl--第二节 深度图像RangeImage

从点云创建深度图 目前深度图像的获取方法有激光雷达深度成像法&#xff0c;计算机立体视觉成像&#xff0c;坐标测量机法&#xff0c;莫尔条纹法&#xff0c;结构光法等等&#xff0c;针对深度图像的研究重点主要集中在以下几个方面&#xff0c; 深度图像的分割技术深度图像…