当前位置: 首页 > news >正文

如何使用StartUML绘制类图,用例图,时序图入门

1. 软件设置

1.1 属性编辑窗口

用于编辑类或者方法的的属性置,比如权限控制符,类名,是否为抽象类

如果你的软件没有该窗口,可以点开导航栏中的 View,然后找到它勾上即可

1.2 风格设置

如果你想要改变,框框填充或者边框的颜色,可以点击【File】-> 【Preferences】-> 【General】->【Fill Color/ Line Color】

2. 类图

用于描述类的内部结构和类与类之间的关系,StartUML 一进来默认时类图,我们可以先将他们删去,然后右键【Model】从下面的弹框中选择性添加

2.1 子模块/视图创建方法介绍

2.1.1 视图创建

2.1.2 子模块创建

我们观察下面还有一个【Add】,当你的系统特别大的时候,内部细分出很多子模块,这个就是用来添加子模块或者子系统的

2.1.3 效果展示

先创建子模块然后在子模块下创建视图

2.2 类的内部结构

类的成员变量,方法,方法参数,方法返回值等等

2.2.1 操作步骤

  • 在左下角选择类或者接口,然后点击白板,创建类或者接口

对于接口的形状也可以更改成和类一样,【右键】- 【Format】- 【*** display】- 【Label】

  • 点击右上角对应视图,然后在右下角会出现对应修改项,然后更改类名,访问修饰,是否为抽象类

  • 右键右上角对应视图,然后点击 Add,就可以为类添加方法或者属性

填加方法和属性流程一样,不一样的是,方法有返回值和参数需要修改

  • 属性

  • 方法


在这里插入图片描述

2.3 类与类之间的关系

2.3.1 常用关系

2.3.1 使用

选的一个关系,然后从一个类联向另一个即可

2.3.2 效果展示

3. 用例图

从不同的系统角色(Actor)角度展示了系统的功能需求

3.1 常用关系

  • include:从包含用例指向被包含用例,表示执行包含用例之前必须先执行被包含用例,比如执行新增用户之前必须执行登录
  • extend: 从扩展用例指向被扩展用例,被扩展用例实在扩展用例满足一定条件下触发的。如超时交罚金扩展子归还书籍用例

3.2 简单使用

  • 右键 Model,添加用例视图,然后在左下角 ToolBox 有选择栏,选择放置在面板上

4. 时序图

用于描述对象之间的消息发送(比如UserController 对象调用 UserService 的 add 方法)的时间顺序,不同的消息按纵向排列,以展示对象之间的协作关系。我这里用登录来展示一个简单的绘制流程。

4.1 创建视图

右键模块点击【AddDiagram】- 【Sequence Diagram】即可创建

4.2 解释左下角组件用途

4.3 根据代码编写视图

4.3.1 代码

4.3.2 绘图

其实很简单,某个类干了什么事按时间顺序记录下来即可

4.3.3 介绍逻辑判断框怎么绘制

  • 创建逻辑判断框

  • 修改逻辑判断框属性

  • 编写逻辑判断

4.4 完整视图展示

http://www.dtcms.com/a/263903.html

相关文章:

  • 转录组分析流程(二):差异分析
  • MySQL MVCC 详解
  • ChatGPT使用限额记录与插件统计
  • 杭州来未来科技 Java 实习面经
  • [C#] WPF - 自定义样式(Slider篇)
  • 【Hive SQL优化完全指南:从0.x到4.x的性能进化之路】
  • c# IO密集型与CPU密集型任务详解,以及在异步编程中的使用示例
  • [2025CVPR]DE-GANs:一种高效的生成对抗网络
  • 微分几何、旋量理论、李群李代数、黎曼度量、微分流形、SE(3)、SO(3)
  • java微服务-linux单机CPU接近100%优化
  • Jenkins × 容器技术:构建未来DevOps生态的超级引擎
  • 插入排序解析
  • C++ dll lib 以及编译链接加载的底层机制
  • 【从历史数据分析英特尔该如何摆脱困境】
  • 跨境证券交易系统合规升级白皮书:全链路微秒风控+开源替代,护航7月程序化交易新规落地
  • 手工部署与自动化部署场景模拟及参考项目
  • 数据结构与算法 第二章 线性表
  • Disruptor架构哲学
  • 【算法 day13】LeetCode 110.平衡二叉树 | 257. 二叉树的所有路径| 404.左叶子之和 |222.完全二叉树的节点个数
  • 【Python】字典get方法介绍
  • C++中的虚函数与纯虚函数
  • 【PaddleOCR】快速集成 PP-OCRv5 的 Python 实战秘籍--- PaddleOCR实例化 OCR 对象的参数介绍
  • css函数写个loading动画 | css预编译scss使用
  • YOLOv11性能评估全解析:从理论到实战的指标指南
  • GitHub已破4.5w star,从“零样本”到“少样本”TTS,5秒克隆声音,冲击传统录音棚!
  • 智能客服的进化论:当服务遇见 AI 的化学反应
  • 数据结构:递归:斐波那契数列(Fibonacci Sequence)
  • Android布局管理器实战指南:从LinearLayout到ConstraintLayout的优化之旅
  • 计算机网络第十章——网络层
  • 基于Netty-WebSocket构建高性能实时通信服务