StarUML的介绍与使用

news/2024/7/24 11:52:53 标签: java, 开发语言, uml

文章目录

  • 简介
  • 视图
  • StarUML创建视图
    • 类图
    • 用例图
    • 时序图

简介

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

视图

常见视图的概念可参考:UML常见的几种视图
包括:用例图、顺序图、状态图、类图、包图、协作图

StarUML创建视图

在右侧边框中鼠标右键单单击上面的工件,选择Add->Model(或使用左上角的
工具栏单击Model->Add->Model)创建模块
再右键单击模块,选择Add Diagram即可创建多种视图
(也可以直接跳过模块创建,直接在上方工具栏处Model->Add Diagram)
在这里插入图片描述

类图

选择Add Diagram中的Class Diagram

Tool Box中包含如下内容:
在这里插入图片描述
使用比较多的放在第一个Classes(Basic)

想为类或接口创建属性或方法,只需要在在右侧选中某一类单击右键,选择Add加入AttributeOperation对应属性和方法
同样的操作能为方法增加参数Parameter,并且参数属性中可以调整是出参还是入参,调整其direction属性即可(return表示该参数为返回值)
请添加图片描述
后续需要右键目标,然后调整Format其中的Surpass AttributesSurpass 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即可实现时序了
在这里插入图片描述


http://www.niftyadmin.cn/n/5100265.html

相关文章

Jmeter(四):请求默认值元件应用,正则表达式提取器元件讲解

Jmeter请求默认值元件应用 HTTP请求默认值 在公司内部进行测试的时候,一般测试环境访问的接口地址(服务器名称 或IP)、端口、协议一般都是不变的,但http请求取样器每个请求都要求写一遍 这些信息,在实际HTTP请求取样…

Mysql 约束,基本查询,复合查询与函数

文章目录 约束空属性约束默认值约束zerofill主键约束自增长约束唯一键约束外键约束 查询select的执行顺序单表查询排序 updatedelete整张表的拷贝复合语句group by分组查询 函数日期函数字符串函数数学函数其他函数 复合查询合并查询union 约束 空属性约束 两个值&#xff1a…

杭电oj--平方和与立方和

Problem Description 给定一段连续的整数,求出他们中所有偶数的平方和以及所有奇数的立方和。 Input 输入数据包含多组测试实例,每组测试实例包含一行,由两个整数m和n组成。 Output 对于每组输入数据,输出一行,应包…

django建站过程(1)

django建站过程(1) 使用pycharm创建过程运行项目创建数据库创建超级用户登录生成的后台:界面本地化 准备以django,bootstrap来做一个过程记录,文章主要阐述过程的细节。 使用pycharm创建过程 创建项目“schoolapps”,…

黑马JVM总结(三十七)

(1)synchronized-轻量级锁-无竞争 (2)synchronized-轻量级锁-锁膨胀 重量级锁就是我们前面介绍过的Monitor enter (3)synchronized-重量级锁-自旋 (4)synchronized-偏向锁 轻量级锁…

如何提升货代专业性

要提升货代专业性,可以从以下几个方面入手: 学习相关知识:货代人需要了解国际贸易、海外市场发展动态、货物进出口流程、海关法规等方面的知识。可以通过参加培训班、自学资料、与同行交流等方式进行学习。 掌握软件操作技能:货代…

WhatsApp 私域营销指南

当涉及到WhatsApp私域营销时,企业正逐渐意识到这个强大工具的潜力,为建立与用户之间更紧密的关系、提供个性化的服务和推广,以及增加用户忠诚度, WhatsApp已成为一个不可或缺的营销渠道。在如今竞争激烈的市场中,私域营…

2023年整理的自动化测试面试题及答案

selenium中如何判断元素是否存在? 没有提供原生的方法判断元素是否存在,一般我们可以通过定位元素异常捕获的方式判断selenium中hidden或者是display = none的元素是否可以定位到?不可以,想点击的话,可以用…