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

StartUML入门级使用教程——画Class类图

一、破解安装StartUML

StarUML建模工具最新版破解安装详细教程https://blog.csdn.net/m0_74146638/article/details/148709643?spm=1001.2014.3001.5502

二、类图实战

1.主界面

默认打开starUML后,会默认进入类图模式,各模块区域功能如下:

1.主菜单: 主要是新建工程、打开工程等各种功能,此处不一一介绍;

2.已创建图形列表:左上方列表显示已经创建的图,比如类图,用例图等;

3.工具箱:左下方工具箱,显示当前类型的图可以使用的工具,主要是各种连线或者图形,是最常用的区域;

4.绘图区域:中间白色格子区域,就是绘图区域;

5.工程区:右上方区域是工程区,显示工程,model包和各种已经绘出的图形元素;

6.属性设置区域:当画出来一个图形或者一根线时,这个区域会显示这个图形的各种属性,可以修改;

2.添加类图

右键点击项目Untitled,鼠标悬停放在Add,然后选择点击Model进行包创建。

创建完成后点击Model,将名字改为类图。

右键点击Model,鼠标悬停放在Add Diagram,然后选择点击Use Case Diagram(用例图)进行创建。

3.创建完成界面

属性说明:

  1. Class(类):是对现实世界中实体或概念的抽象,包含属性(成员变量,描述对象状态 )和操作(成员方法,描述对象行为 ),用于建模系统中的具体事物及其特征、功能。
  2. Interface(接口):定义一组操作规范,只声明方法签名(返回类型、方法名、参数列表 ),不实现方法逻辑,类可通过实现接口,承诺提供接口规定的行为,实现多态和解耦 。
  3. Association(关联):表示类之间的结构关系,体现对象实例之间的连接,可带 multiplicity(多重性,说明参与关联的对象数量,如 1 对 1、1 对多等 )、角色(关联两端类在关系中扮演的角色 ) 。
  4. Directed Association(有向关联 ):关联的一种,强调关联的方向,表明关系是单向的,箭头指向被关联的类,体现依赖或交互的方向 。
  5. Aggregation(聚合 ):是关联的特殊形式,体现 “整体 - 部分” 关系,且部分对象可独立于整体存在,整体包含部分,部分可属于多个整体(弱拥有关系 )。
  6. Composition(组合 ):也是 “整体 - 部分” 关系,比聚合更强,部分对象完全属于整体,生命周期与整体绑定,整体创建时部分创建,整体销毁时部分也销毁,部分不能被多个整体共享(强拥有关系 )。
  7. Dependency(依赖 ):表示一个类(客户端)使用另一个类(服务端)的部分功能,服务端变化会影响客户端,是较弱的关系,体现临时、短期的使用。
  8. Generalization(泛化 ):即继承关系,子类(派生类)继承父类(基类)的属性和操作,还可添加新内容或重写父类操作,体现 “is - a”(是一种 )关系。
  9. Interface Realization(接口实现 ):描述类与接口的关系,类实现接口声明的所有操作,表明类承诺提供接口规定的行为能力,一个类可实现多个接口,实现多态。

4.类图示例(以学生选课系统为例)

1.画出Student(学生)类和Course(选课)类

点击选中Class,然后在绘图区域合适位置点击左键即可,创建后双击对象可以修改对象名。

2.添加类的属性

右键点击Student类,按照下图步骤添加类的属性。

添加属性如下图

3.添加类的方法

右键点击Student类,按照下图步骤添加类的方法。

添加方法如下图

本文只介绍类图,大家看到这里基本就入门了,后边会持续更新UML剩余图形,大家多多关注~

5.其他图形教程(持续更新)

StartUML入门级使用教程——画Use Case用例图https://blog.csdn.net/m0_74146638/article/details/148739234?spm=1001.2014.3001.5501

StartUML入门级使用教程——画Sequence顺序图(时序图、序列图)https://blog.csdn.net/m0_74146638/article/details/148759439?spm=1001.2014.3001.5501

http://www.lryc.cn/news/571903.html

相关文章:

  • 系统思考与核心竞争力
  • vb逆向常用函数
  • Github的仓库使用方法的小白教程
  • 分布式顺序数据发生器
  • 国产服务器【银河麒麟v10】【CPU鲲鹏920】部署Nacos
  • 嵌入式自学第四十二天
  • 介绍下分布式ID的技术实现及应用场景
  • 轻量化分布式AGI架构:基于区块链构建终端神经元节点的互联网智脑
  • 【AI Study】第三天,NumPy(3)- 基础知识
  • 英一真题阅读单词笔记 13年
  • 从0开始学习R语言--Day27--空间自相关
  • 爬虫技术:数据挖掘的深度探索与实践应用
  • 榕壹云外卖跑腿系统:基于Spring Boot的开源生活服务平台技术解析
  • python打卡day54@浙大疏锦行
  • 如何高效实现公司文件管理
  • 精通现代开发栈:Python、Git与Docker实战指南
  • 警惕GO的重复初始化
  • RabbitMQ七种工作模式
  • Redission实现的分布式锁的可重入性
  • Web安全性测试--超详细用例CASE整理总结
  • leetcode-3405 统计恰好有k个相等相邻数组的个数
  • C2远控篇CC++InlineHook挂钩动态API调用突破内存加密导入表检测
  • JSX 详解:React 的核心语法
  • Meta V-JEPA 2:革命性的视频联合的世界模型
  • OpenStack体验
  • 深入理解 MySQL 事务:保障数据操作的原子性与一致性
  • MySQL 库操作和表操作
  • 【51单片机】8. 矩阵LED显示自定义图案、动画
  • Mac m1 通过docker镜像安装kafka
  • 【GateWay】和权限验证