UML建模与软件开发设计(三)——UML常用开发工具
4.4.UML常用开发工具
常用的UML设计工具有微软Office自带的Visio、Rational Rose、PowerDesign以及StarUML。在本文档中,我们使用StarUML来作为类图和时序图的设计工具。
4.4.1.StarUML开发工具的下载与破解
4.4.1.StarUML下载地址
(1)普通版本(免费):StarUML免费版_StarUML免费版官方下载[最新版]-下载之家
(2)V2.7.0_标准版本(推荐):https://www.duote.com/soft/15371.html
4.4.2. V2.7.0_标准版本StarUML的破解
V2.7.0_标准版本比普通版本的StarUML功能更符合,V2.7.0_标准版本StarUML的破解步骤如下所示。
(1)找到并打开安装目录下LicenseManagerDomain.js文件;
(2)在LicenseManagerDomain.js文件的try前面加上如下代码:
return { name:"0xcb", product:"StartUML", licenseType:"vip", quantity:"hello word", licenseKey:"later equals never" }; |
例如:
(3)打开StarUML,Help->Enter License输入license(许可)信息:
Name: StarUML Licence Key: 8888-000-8888 |
点击确认即可。例如:
如果提示下面的信息,则表示license(许可)注册ok,V2.7.0版本的StarUML破解成功:
4.4.2.StarUML开发工具的基本使用
4.4.2.1.创建UML项目
(1)创建UML项目
4.4.2.1-1项目的创建
(2)维护项目的名称
4.4.2.1-2项目的命名
(3)创建项目的模块。在新建的模块中,可以用来存储各种图(Diagram),例如类图(Class Diagram)、时序图(Sequence Diagram)等。
4.4.2.1-3项目模块的创建
(4)UML图的创建
右击“模块”->Add Diagram(图),在弹出的模态框中选择并创建相应的图:
4.4.2.1-4图的创建
注意:一个项目对应多个模块,一个模块可以创建多个相同或多种不同的图。
4.4.2.2.类图的基本操作
类图设计是一种结构模型设计,具体内容如下所示。
4.4.2.2.1.StarUML类图的基本组件
在类图中,常用设计组件如下所示:
(1)普通版本的类图组件
V_4.4.2.2.1-1普通版本的类图组件
(2)标准版本的类图组件及基本操作
单击选择Class,至工作区域内单机左键,即可创建一个类图。创建类图后,选中类图的某个区域,会显示一堆功能按钮,如下是各个功能按钮的作用:
1. 用来标识Class的可见性(默认为public);
2. 用来添加注释或说明;
3. 增加类的属性;
4. 增加类的操作方法;
5. 增加Reception(接收器,通常是一个方法,可以用来接受一个参数);
6. 增加子类;
7. 增加父类;
8. 添加已有的接口;
9. 添加需要的接口;
10. 添加关联关系类;
11. 添加聚合关系类;
12. 添加组合关系类;
13. 添加端口;
14. 添加部件。
注意:有向关联组件用来表示单向关联、自关联和多重性关联。
4.4.2.2.2.类的UML图示
在UML中,使用包含类名、属性和操作且带有分割线的长方形来表示类图。例如定义一个Student类,它包含属性id、name和方法getId()、setId()、getName()及setName(),对应的UML类图如下所示:
图4.4.2.2.2-1
对应的Java代码如下所示。
public class Student { private Long id; private String name; public Long getId() { return id; } public void setId(Long id) { this.id = id; } public String getName() { return name; } public void setName(String name) { this.name = name; } } |
4.4.2.2.3.接口组件
通过StarUML的接口组件设计接口时,默认情况下是一种棒糖型接口,如下图所示:
但通常我们希望显示为下图所示的类状接口:
并且默认情况下,为接口新增方法后,接口组件无法显示方法名称,如果希望修改接口的样式并显示方法名称,那么可以按照如下步骤进行:
修改后的效果如下所示:
4.4.2.2.4.添加类图的属性
(1)添加属性
UML规定属性的表示方式如下所示:
[访问修饰符]名称:类型[=默认值] |
可以在StarUML中通过如下步骤来完成属性的添加:
图4.4.2.2.4-1
(2)设置属性类型
根据第(1)步操作为类图添加属性后,这时在右侧的“Model Explorer”会显示添加的属性,然后选中该属性->“Properties”->“Type”,手动维护属性的类型:
图4.4.2.2.4-2
(3)设置属性的访问修饰符
设置属性的访问修饰符是有必要的,在Java中,访问修饰符包括private(私有)、default(缺省)、protected(受保护的)和public(公共),在UML中分别用符号“-”、“~”(或“*”)、“#”和“+”来表示。但为了体现数据封装的完整性,通常会将属性设置为私有访问修饰符。StarUML设置访问修饰符有以下两种方式:
4.4.2.2.5.添加类图的方法
(1)添加方法
UML规定方法的表示方式如下所示:
[访问修饰符]名称([参数1:类型,参数2:类型…])[:返回类型] |
可以在StarUML中通过如下步骤来完成方法的添加:
图4.4.2.2.5-1
(2)添加方法的入参
Model Explorer->选中方法->单击Properties的Parameters的右侧->在对话框中增加方法的参数:
选中新增的参数->保持“Visibility”为“public”,并通过“Type”来设置参数类型->修改“DirectionKind”为“IN”:
(3)添加方法的返回类型
Model Explorer->选中方法->单击Properties的Parameters的右侧->在对话框中增加方法的参数,点击确认后,再将参数名设置为空, 设置“DirectionKind”为“RETURN”,并通过“Type”来设置返回值类型。
(4)显示方法签名
默认情况下,新增的参数、参数类型等参数列表信息无法显示,需要设置方法的签名为“显示”状态:
(5)设置方法的访问修饰符
4.4.2.2.6.生成Java文件
默认情况下,生成Java文件时会提示如下错误信息:
原因在于没有设置UML工程所需的Java profile,profile配置决定了工程所使用的规则和约定,可以通过如下步骤来配置profile:
设置好Java profile后,就可以生成类图对应的Java文件了:
4.4.2.2.6.逆向工程
StarUML还可以从现有的Java代码创建一个类图,这被称为“reverse engineering”。当你想从现有的代码生成图表,或者你修改了SU生成的代码,并且想在图表中反应出来的时候,逆向工程功能就非常有用了。在StarUML中可通过如下步骤从Java代码逆向生成类图:
4.4.2.2.8.V2.7.0版StarUML的生成Java文件与逆向工程
默认情况下,V2.7.0版StarUML没有自带生成Java文件和逆向工程的功能,需要手动安装相应的Java插件,可通过“Tools”->“Extension Manager”->搜索“Java”在线下载并安装插件:
单击“Tools”,这时我们就可以看到安装好的Java插件了,单击“Java”来使用相关功能:
4.4.2.3.时序图的基本操作
时序如图设计是一种行为模型设计(交互设计),具体内容如下所示。
4.4.2.3.1.创建时序图
通过“Model”-> “Add Diagram”->“Sequence Diagram”完成时序图的创建。
4.4.2.3.2.StarUML时序图的基本组件
4.4.2.3.3.StarUML时序图基本组件的使用
时序图中包括如下元素:角色,对象,生命线,激活期和消息。下面分别介绍如果在StarUML中创建时序图的元素。
4.4.2.3.3.1.新增角色
我们注意到,StartUML的时序图设计界面没有执行者角色组件,那么怎么添加角色呢?可按如下步骤进行:
效果如下所示:
4.4.2.3.3.2.新增对象/生命线
4.4.2.3.3.3.快捷增加时序图的元素
选中时序图的某个元素,元素进入快捷编辑状态,可以很方便地增加时序图的其他元素:
4.4.2.4.删除组件
选中需要删除的组件->Edit->Delete(假删除)或Delete From Model(真删除):
4.4.2.5.修改图形的字体和背景颜色
选中图形->Format->Font\Fill Color\Line Color来修改图形的字体、背景颜色等:
对于V_2.7.0.而言,默认情况下图形是没有背景颜色的,因此就可能需要设置图形的背景颜色,而按照上述方法设置图形的背景颜色的话,每创建一个图形,都需要手动设置样式,这是在费劲,那么有没有一种永久性的样式设置方案呢?实际上,我们可以参考如下步骤来修改图形的背景颜色:
(1)File->Preferences:
(2)General->Fill Color和Line Color:
将Fill Color设置为:#fefed2;将Line Color设置为:#a00000;再次绘图,效果如下所示。
UML建模与软件开发设计(三)——UML常用开发工具相关推荐
- UML建模与软件开发设计(七)——时序图设计
在前面我们学习了类图相关知识,类图是一种静态结构模型视图,它是设计类及类间关系(即数据结构)的重要依据,但它无法刻画类的对象间的交互/通信行为,也就是说,类图无法描述类和类之间是如何通信.交互的,通俗 ...
- UML建模与软件开发过程模型
UML建模与软件开发过程模型 现在谈到软件开发过程,大家可能也不会陌生,学过软件工程的人都能随口说上几个软件过程模型,现在要把这两种不同的模型拿到一起来讨论,一方面是软件开发的实际需要,另一方面也是U ...
- 电商生鲜网站开发(三)——后台开发:商品分类模块-Redis/Swagger/统一身份校验/IDEA技巧
电商生鲜网站开发(三)--后台开发:商品分类模块-Redis/Swagger/统一身份校验/IDEA技巧 分类层级 在商品分类上需要继续做归类操作 分类设置成三级 层级太深的弊端:对用户不友好,不利于 ...
- Auto CAD:CAD软件之设计中心、右栏工具选项板使用方法简介之详细攻略
Auto CAD:CAD软件之设计中心.右栏工具选项板使用方法简介之详细攻略 目录 CAD软件之设计中心 CAD软件之右栏工具选项板 (1).利用工具选项板填充图案
- UI设计三个常用配色法
UI设计三个常用配色法 废话不多说,马上介绍: 首先打开你的PS,调出前景色窗口,选择"B" 第一种配色法:水平取色(水平取的是色相即平常说的不同的颜色如红橙黄绿蓝) 例子: 第二 ...
- PC设计开发过程中常用大小工具汇总
PC设计开发过程中常用大小工具汇总 浏览器:Firefox Developer Edition / Google Chrome / 通讯:TIM(office QQ)/ 微信电脑版 / Foxmail ...
- UML建模与软件开发设计(二)——UML概述
1.UML的定义 UML的全称为Unified Modeling Language,即统一建模语言或标准建模语言,是始于1997年一个OMG标准,它是一个支持模型化和软件系统开发的图形化语言,为软件开 ...
- UML建模与软件开发设计(四)——包图设计
包图清晰地表达了包间关系.对于大型项目而言,良好的代码组织,对软件的可维护性至关重要.软件的架构设计,思路遵循由大到小,因此大型项目的结构往往从子系统.模块,包开始进行设计.与类图(Class Dia ...
- [提高工作开发效率]程序员常用的工具软件推荐
前言 现如今,技术发展十分迅猛,开发者只有通过不断的学习才能跟得上时代的步伐.而为了便于学习和工作(减少996),涌现了很多优秀的开发工具用以帮助开发者提高工作效率.现在我把我工作多年来收集实用的开发 ...
- php三种web开发技术,三种WEB开发主流技术ASP-PHP-JSP的评价
三种Web开发主流技术ASP-PHP-JSP的评价 [摘要]本文从程序开发者的角度,对现今社会盛行的WEB开发技术进行了分析,旨在让WEB 开发人员.使用者.准备学习的人对WEB开发技术有更加深入的了 ...
最新文章
- 职场不需要中年,但中年需要职场
- Django model层 mysql_Django模型层(models.py)之模型创建
- ngx_http_redis_module配置使用
- 搭建eclipse版的ssm+maven+tk.mybatis+redis及mybatis+spring多数据源配置集成的demo
- 【数据结构-查找】1.通俗易懂讲解 —— 顺序-折半-分块查找
- vijos p1347(最大乘积(整数划分?))(25—100分)
- centos7 致命错误:curl/curl.h:没有那个文件或目录 #include curl/curl.h
- VS2010解决闪退的方法
- usaco-2.1-frac1-pass
- SpringBoot整合mybatis一直失败差不到数据,解决方案
- 在Xcode8中使用Swift2.3
- mac苹果电脑有什么免费的系统清理软件?
- 未曾读过刘备的人,不足以谈人生
- 史上最长的介绍BI(商业智能)的干货
- stable diffusion制作韩国版AI女友关键词
- 〖2023·新星计划·第四季〗开启,Python赛道火爆预热中~ 欢迎小伙伴们报名~
- BasicDBObject 和Query 查询mongodb不同使用方式
- html渐变轮播,html简单的渐变轮播插件
- winrar40天试用完了
- html精灵图坐标如何确定,CSS实现精灵图与字体图标
热门文章
- spark编程基础python版 pdf_《Spark编程基础(Scala版)》.PDF
- 误差函数erf matlab,matlab求解erf误差函数方法(有详细注释 )
- harmonyos2.0刷机包,鸿蒙harmony os 2.0刷机包|鸿蒙harmony os 2.0系统刷机包 v1.021-520下载站...
- 开源音乐下载神器XMusicDownloader更新,支持歌单一键下载,支持无损音乐
- ffmpeg视频格式转换for windows and linux
- 输出100以内奇数和、偶数和(for和while两种)
- UFW、firewall、iptables防火墙配置
- matlab安卓官方下载,手机matlab软件下载-MATLAB Mobile手机版下载v5.1.0 安卓官方版-单机手游网...
- cssie兼容性配置
- java 继承 ppt_Java的继承机制详解.ppt