一、starUML工具的安装。

1.搜索软件包并安装starUML软件包。

 (1)百度搜索starUML安装包,如下图所示:

 (2) 解压安装包,双击可执行文件StarUML Setup 3.2.2.exe进行安装,打开starUML关掉报错及购买窗口。如下图所示:

2.创建一个类简略图。

创建一个简单类图并保存
 (1)创建一个简单类图如下所示:

 (2)修改简单类图名称如下所示:

 (2)保存简单类图,通过快捷键ctrl+s即可保存,保存后的文件如下图所示:

二、类与类之间的关系。

 在使用starUML创建类图之前咱们先要搞清楚类和类之间的6种关系。

1. 继承关系(泛化关系 Generalization)

a) 语义:

i. 类和子类的关系,接口和子接口的关系;

ii. 一个类(称为子类、子接口)继承另外的一个类(称为父类、父接口)的功能,并可以增加它自己的新功能

b) 语法:extends

c) 符号:

i. 一条带空心三角箭头的实线,从子类指向父类,或者子接口指向父接口。

2. 实现关系(Realization)

a) 语义:

i. 类和接口之间的关系;

ii. 一个类可以实现多个接口,实现所有接口的功能;体现了规范和实现分离的原则

b) 语法: implements

c) 符号

i. 实现用一条带空心三角箭头的虚线表示,从类指向实现的接口

3. 依赖关系(Dependency)

a) 语义:一个类A使用到了另一个类B,但是这种使用关系是具有偶然性的、临时性的、非常弱的,但是类B的变化会影响到类A

b) 语法:类B作为类A的方法的参数(或者局部变量)存在

c) 符号:

i. 由类A指向类B的带箭头虚线表示

4. 关联关系(Association)

a) 语义:

i. 比依赖关系强,必然的,长期的,强烈的;

ii. 分为单向关联(只是班级中增加了学生)、双向关联(在学生中也添加班级属性)

iii. 分为一对一(学生和学生证)、一对多(班级和学生)、多对多关联(学生和课程)

iv. 有两个类的关联(客户和订单、订单和商品)、还有一个类和自身关联(领导也是员工)

b) 语法:类B作为成员变量形成存在于类A中

c) 符号:

i. 由类A指向类B的带箭头虚线表示;双向关联可以取消两个箭头

ii.

iii. 在关联的两端可以标注关联双方的角色和多重性标记

5. 聚合关系(Aggregation)

a) 语义:

i. 关联关系的一种特例

ii. 整体和部分的关系

iii. 整体部分可分离,整体的生命周期和部分的生命周期不同,has-a的关系

iv. 计算机与CPU、公司与员工的关系、班级和学生的关系

b) 语法:同关联关系

c) 符号:空心菱形加实线箭头

6. 组合关系(Composition)

a) 语义:

i. 关联关系的一种特例

ii. 整体和部分关系、整体部分不可分离、比聚合更强 ,contains-a的关系

iii. 整体的生命周期和部分的生命周期相同

iv. 人和四肢的关系

b) 语法:同关联关系

c) 符号:实心菱形加实线箭头

7. 总结

a) 继承和实现一般没有争议

b) 后四种关系的强弱:组合>聚合>关联>依赖。

c) 关联和依赖的区别:

i. 关联关系强、长期

ii. 关联关系是通过属性来实现;依赖关联是通过方法形参或者局部变量实现

d) 关联、组合/聚合的异同

i. 相同:都是关联,都是做类的属性

ii. 不同点:组合 /聚合表示的是整体和部分的关系,关联可以表示所有关系

e) 组合和聚合的异同

i. 相同:都是关联的特例,都是表示的整体和部分的关系

ii. 不同点:整体部分的生命周期是相同的比关联性组合更强

三、starUML创建类图示例。

以策略模式为例,创建策略模式的简单类图如下所示:

starUML工具使用简介相关推荐

  1. (转)Apache Commons工具集简介

    (转)Apache Commons工具集简介 Apache Commons包含了很多开源的工具,用于解决平时编程经常会遇到的问题,减少重复劳动.我选了一些比较常用的项目做简单介绍.文中用了很多网上现成 ...

  2. Tool之ADB:ADB工具的简介、安装、使用方法之详细攻略

    Tool之ADB:ADB工具的简介.安装.使用方法之详细攻略 目录 ADB工具的简介 ADB工具的安装 ADB工具的使用方法 1.基础用法

  3. Ubuntu之make:make命令行工具的简介、安装、使用方法之详细攻略

    Ubuntu之make:make命令行工具的简介.安装.使用方法之详细攻略 目录 make命令行工具的简介 make命令行工具的安装 make命令行工具的使用方法 make命令行工具的简介 Ubunt ...

  4. NPM:nodejs官方包管理工具的简介、安装、使用方法之详细攻略

    NPM:nodejs官方包管理工具的简介.安装.使用方法之详细攻略 目录 NPM之nodejs官方包管理工具的简介 NPM之nodejs官方包管理工具的安装 NPM之nodejs官方包管理工具的使用方 ...

  5. CV之LabelImg:图片标注工具之LabelImg(图像标注工具)的简介、安装、使用方法详细攻略

    CV之LabelImg:图片标注工具之LabelImg(图像标注工具)的简介.安装.使用方法详细攻略 目录 LabelImg的简介 常见的图片标注工具 LabelImg trainingImageLa ...

  6. java的网络工具netty简介

    2019独角兽企业重金招聘Python工程师标准>>> java的网络工具netty简介 Netty是一个NIO的客服端服务器框架,它可以简单.快速的搭建器一个协议包客服端服务器的应 ...

  7. 部分GDAL工具功能简介

    部分GDAL工具功能简介 gdalinfo.exe 显示GDAL支持的各种栅格文件的信息. gdal_translate.exe 在不同的格式间进行转换.同时,潜在的执行了一些切割.重采样和使像素比例 ...

  8. Python之pip:pip包管理工具的简介、安装、使用方法之详细攻略

    Python之pip:pip包管理工具的简介.安装.使用方法之详细攻略 目录 pip的简介 pip的安装 1.测试pip是否已安装 T1.代码查询 T2.自行查询

  9. AutoSAR系列讲解(入门篇)6.1-Vector的工具链简介

    AutoSAR系列讲解(入门篇)6.1-Vector的工具链简介 Vector的工具链简介 一.PREEvision 二.vVIRTUALtarget 三.DaVinci 四.CANoe 五.CANa ...

最新文章

  1. RocketMQ 实战(一) - 简介
  2. *args,**kwargs的使用方法
  3. CVS的几个学习小站及配置说明
  4. 起售价仅7699元!全新折叠旗舰OPPO Find N发布
  5. python运算符讲解_举例讲解Python中的算数运算符的用法
  6. 2009年IT行业最重要的十大认证
  7. apk与android系统签名
  8. Spring AOP(五)之Around增强处理
  9. 词法分析程序实验报告
  10. Lock和synchronized的区别和使用(转载)
  11. spark 机器学习一 聚类算法案例小结
  12. PAT (Basic Level) Practice 1085 PAT单位排行
  13. 泰勒教授《哈佛幸福课》提及46本书籍
  14. 【泛融顾问分享】互联网金融未来走向预测
  15. Unity UGUI Inputfield 回车submit 按下Enter回车完成
  16. 克隆虚拟机后无法连接网络的问题
  17. css 中划线,原价样式
  18. win10系统wifi能连上但不能上网怎么办
  19. 5.[STM32]动动小手,自己制作做一个自动浇花系统吧
  20. 【小家Spring】Spring AOP各个组件概述与总结【Pointcut、Advice、Advisor、Advised、TargetSource、AdvisorChainFactory...】

热门文章

  1. IP网络广播对讲终端有哪些功能?
  2. 第542题 01矩阵+第994题 腐烂的橘子
  3. 揭秘4G拨号背后的“秘密”
  4. 线性代数-Gilbert Strang(第二部分)
  5. windows上使用Gitblit搭建git服务仓库
  6. 2014互联网公司招聘应届生薪资大起底
  7. 网友亲历诈骗!安全专家详解:一个验证码如何让你倾家荡产
  8. WebUploader实例
  9. 【转】 谈谈网页设计中的字体应用 (3) 实战应用篇·上
  10. Uva 10129 单词