StarUML的介绍与使用

文章目录

简介

UML:统一建模语言,用模型元素组成的不同视图从各个维度来描述系统

StarUML为常用系统建模工具之一

视图

常见视图的概念可参考:UML常见的几种视图

包括:用例图、顺序图、状态图、类图、包图、协作图

StarUML创建视图

在右侧边框中鼠标右键单单击上面的工件,选择Add->Model(或使用左上角的

工具栏单击Model->Add->Model)创建模块

再右键单击模块,选择Add Diagram即可创建多种视图

(也可以直接跳过模块创建,直接在上方工具栏处Model->Add Diagram)

类图

选择Add Diagram中的Class Diagram

Tool Box中包含如下内容:

使用比较多的放在第一个Classes(Basic)中

想为类或接口创建属性或方法,只需要在在右侧选中某一类单击右键,选择Add加入Attribute或Operation对应属性和方法

同样的操作能为方法增加参数Parameter,并且参数属性中可以调整是出参还是入参,调整其direction属性即可(return表示该参数为返回值)

后续需要右键目标,然后调整Format其中的Surpass Attributes和Surpass Opertions即可展现目标的这些属性的可见性

接口和类之间的连线:

使用Interface Realization表示实现,由实现类指向接口

常用的关系:

  • dependency:依赖关系,体现在代码中是:形参、局部变量
  • association:关联关系,体现在代码中是:成员变量,这种关系比较弱,如森林里面有老虎
  • aggregation:聚合关系,是关联关系的一种,体现在代码中是:成员变量,这种相关性强,如雁群与雁
  • composition:组合/复合/合成关系,是关联关系的一种,体现在代码中是:成员变量,这种相关性最强,如人与头. realization:实现,体现在代码中是:implements
  • generalization:泛化,表示继承,体现在代码中是:extends

用例图

选择Add Diagram中的Use Case Diagram

然后可以在Tool Box中看到以下内容:

  • Actor可以理解为系统角色(不只是人,也可以是其他的第三方系统等)
  • Use Case可以理解为系统中的操作
  • Association:Actor和Use Case之间可以用Association进行连接
  • Include:包含,从包含用例指向被包含用例,例A->B,表明A包含B,代表B是执行A的前提(或B是公共用例)
  • Extend:扩展,从扩展用例指向被扩展用例,例如逾期归还书籍需要扩展交罚金(扩展需要一定条件触发)

时序图

选择Add Diagram中的Sequence Diagram

然后可以在Tool Box中看到以下内容:

使用Lifeline和Message即可实现时序了

相关推荐
可乐鸡翅yeah_6 分钟前
hls.js 缓冲区参数 maxBufferLength、maxBufferSize 通俗讲解与业务调参
开发语言·javascript·ios·音视频·safari·m3u8
Wang's Blog8 分钟前
Java框架 SpringCloud 快速入门: 全局过滤器(GlobalFilter)自定义鉴权
java·开发语言·spring cloud
白山编程大哥12 分钟前
C语言篇:可变参数函数
c语言·开发语言
(Charon)14 分钟前
【C++面试】程序崩溃如何定位:从Segmentation fault到GDB、Core Dump与ASan
开发语言·c++
paopaokaka_luck18 分钟前
高校社团管理(AI辅助任务分配、协同过滤算法推荐、ECharts数据可视化、活动参与闭环、校园交流与反馈、器材借还管理)
java·前端·javascript·spring boot·数据分析·echarts
“AI国潮设计-小江”21 分钟前
《Python+SDXL实战:用ControlNet精准控制“英歌舞戚风蛋糕”质感,附批量生成脚本》
开发语言·人工智能·python·prompt·aigc
1024奇点27 分钟前
【仓颉语言入门 · 第26课】
开发语言·ide·开源
jayhgq28 分钟前
新一代Python包与项目管理工具——UV
开发语言·python·uv
xixiaoyunya29 分钟前
CPU 100% 本身不是问题,它是一个症状
开发语言·php
vx_Biye_Design32 分钟前
springboot小区管理系统68491-计算机课程设计、毕业设计
java·vue.js·spring boot·后端·spring·课程设计·express