UML设计:类图说明及一步一步制作UML类图

逻辑浮尘
• 阅读 7906

什么是类图

UML类图是用来描述一个系统的静态结构。它既可以用于一般概念建模也可以用于细节建模。类包含了数据和行为,是面向对象的重要组成部分,它是具有相同属性、操作、关系的对象集合的总称。

UML类图也可以用于数据建模。它可以用来描述应用程序内部或和其他用户之间的对象和信息结构。在UML中问题域终要被逐步转化,通过类来建模,通过编程语言构建这些类。类加上他们之间的关系就构成了类图,类图中还可以包含接口、包等元素,也可以包括对象、链等实例。

类图中的符号

class

类通过一个矩形表示,被两条直线分隔成3个部分,如图所示:

UML设计:类图说明及一步一步制作UML类图

Attribute(属性)

类的属性部分在单独的一行中列出了该类的每个属性。属性部分是可选的,但是当使用时,它包含以列表格式显示的类的每个属性。每一行使用格式:名称:属性类型(例如名字:字符型)。

操作(Operation)

操作记录在类图矩形的底部区域,这也是可选的。像属性一样,类的操作以列表格式显示,每个操作都在自己的行上。使用以下符号记录操作:名称(参数列表):返回值的类型

(例如设置名称(名称参数) :void)。

关系(relationship)

关联

关联指定了两个类之间的"整体/部分”关系。在关联关系中,整个类的对象将部分类的对象作为实例数据。在类图中,关联关系呈现为有向实线。

单向关联:

在单向关联中,两个类是相关的,但是只有一个类知道这种关系存在。 单向关联被绘制为实线,带有指向已知类的开放箭头。

UML设计:类图说明及一步一步制作UML类图

双向(标准)关联

是两个类之间的链接。关联总是被认为是双向的;这意味着两个类都知道彼此和它们的关系,除非您将关联定义为其他类型。
两个类之间的实线表示双向关联。

UML设计:类图说明及一步一步制作UML类图

多样性

将多重符号放在关联的末尾。这些符号表示一个类与另一个类的一个实例链接的实例数量。

UML设计:类图说明及一步一步制作UML类图

例如,一家公司将有一名或多名员工,但每个员工只为一家公司工作。

关系有如下几种:

关系 说明 图形
1 1对1
0..1 0个或者1个
  • | 多个

0..* | 0个或者多个
1..* | 1个或者多个

可见性

用于表示谁可以访问由+、-、#和~表示的类中包含的信息,如图所示:

UML设计:类图说明及一步一步制作UML类图

超类

超类和更具体的事物(称为子类)之间的关系。
泛化有时被称为“是一种”关系,是通过继承过程建立起来的。
在类图中,一般化关系呈现为带有指向父类的大开放箭头的实线。

UML设计:类图说明及一步一步制作UML类图

抽象类和方法

在继承层次结构中,子类实现特定的细节,而父类定义其子类的框架。父类还为将由其子类实现的常用方法提供模板。

UML设计:类图说明及一步一步制作UML类图

抽象类的名称通常用斜体显示;或者,可以使用文本注释显示抽象类,也称为模板{abstract},位于它的名称之后或之下。
抽象方法是一种没有实现的方法。为了创建一个抽象方法,创建一个操作并使其倾斜。

实现

实现是两件事之间的关系,其中一件事(接口)指定一个契约,另一件事(类)通过实现该契约中指定的操作来保证执行该契约。
在类图中,实现关系呈现为虚线,带有指向接口的开放箭头。

UML设计:类图说明及一步一步制作UML类图

依赖

依赖性表示两个类之间的“使用”关系。
在类图中,依赖关系呈现为虚线。
如果 A类 “使用” B类,则下列一项或多项陈述通常成立:

  • 在类A的一个或多个方法中,类B被用作局部变量的类型
  • B类用作A类一个或多个方法的参数类型
  • 类B用作 类A 的一个或多个方法的返回类型
  • 一个或多个A类方法调用一个或多个B类方法

UML设计:类图说明及一步一步制作UML类图

类图图的制作

创建类图方式有很多,若选择在线绘制类图图,可以使用visio 或者 使用在线制图网站: freedgo Design。 freedgo Design 其访问地址为: https://www.freedgo.com 。freedgo design 在线制图网站是一款多类型的图形图表设计软件,软件内容自带丰富的几何图形模板,UML 用例图、状态图、类图、活动图、序列图、协作图等等。

在具体的类图图中需要把业务逻辑分解成更小、更具体的步骤。 然后,考虑类图中任何可能的异常,如果是,为备选路径添加决策节点。
继续重复这个过程,直到你达到了每个人都能完全理解的简单步骤。

现在,一起开看如何使用Freedgo Design制好看的类图。

步骤一:

访问 https://www.freedgo.com ,先注册一个用户,注册成功后,登录到 首页

步骤二:

访问 https://www.freedgo.com/draw_... ,进入制图页面,或者从 首页 页面 顶部菜单点击开始制作

进入制图页面后 点击 文件 -> 从类型中新建 -> 软件设计 -> 类图

UML设计:类图说明及一步一步制作UML类图

或者点击图例,在图例中找到 软件设计 -> 类图,选择一个类似的图例进行改动

UML设计:类图说明及一步一步制作UML类图

UML设计:类图说明及一步一步制作UML类图

步骤三:

从左侧符号栏拖拽合适的几何图形至画布,松手后,图形就被固定画布上,双击几何图形,还可输入文字。当鼠标放置在图形上时,
图形四周会显示“小三角形”,是为了方便用户点击后能够快速生成新的图形。

UML设计:类图说明及一步一步制作UML类图

步骤四:

软件提供多种连接样式,在该类图中,可以选择关联连接线。在连接线上,还可以输入文字做进一步的说明。

UML设计:类图说明及一步一步制作UML类图

步骤五:

类图图制作工具拥有一套功能丰富的样式,用户可以对封闭图形进行单色填充、渐变填充、文本大小位置颜色调整。经过图案填充的类图图,颜值提升了不少。
UML设计:类图说明及一步一步制作UML类图

步骤六:

按照绘图要求,一步一步的地完成类图绘制。最终完成了整幅的绘制任务。

更多基本类图的例子 请参考 [图例] (https://www.freedgo.com/showc... 或者直接访问 : https://www.freedgo.com/showc...

点赞
收藏
评论区
推荐文章
雷厉风行 雷厉风行
2年前
StarUML for Mac:如何实现各种UML图的创建和编辑
StarUMLmac版是Macos上一款UML软件建模器,starumlmac下载,不仅能够用于类图、用例图、序列图、活动图以及通信图等强大的绘制操作
Wesley13 Wesley13
3年前
UML图类的构造方法怎么画
初用UML图有些人会跟我一样想,类的构造方法没有返回值怎么画,百度不到答案让人感到无语,那只能自己动手了。!(https://oscimg.oschina.net/oscnet/6b2e0f78a3b5d44fc8767f68bd7447f3e98.png)如图所示,这是由Eclipse的AmaterasUML自动生成UMl类图的结果。构
可莉 可莉
3年前
10. Scala数据结构(上)
10.1数据结构特点   10.1.1Scala集合基本介绍       uml统一建模语言      1)Scala同时支持不可变集合和可变集合,不可变集合可以安全的并发访问      两个主要的包      不可变集合:scala.collection.immutable      
Wesley13 Wesley13
3年前
UML类图简单介绍
先上一张图:!大话设计模式UML类图(http://uploadimages.jianshu.io/upload_images/1628444e65597459714a228.png?imageMogr2/autoorient/strip%7CimageView2/2/w/1240)概述类图(ClassDiagram)是面向对象
Wesley13 Wesley13
3年前
EA&UML日拱一卒
点击上方【面向对象思考】可快速关注本公众号!行为状态机概念以下内容摘自UML2,今天的内容是说明状态机具有上下文类目的情况。行为状态机可以用于定义下面的场景(不限于)主动类的类目行为一个行为化类目的除了类目行为以外的拥有行为。如果状态机有某种行为类目
Wesley13 Wesley13
3年前
Stella981 Stella981
3年前
Executor, ExecutorService 和 Executors 间的区别与联系
UML简要类图关系:!(https://oscimg.oschina.net/oscnet/add0342201daad6a6336aacc220bbffa7fa.png)下面详细看一下三者的区别:ExecutorvsExecutorServicevsExecutors
Wesley13 Wesley13
3年前
Java面向对象之多态(来源于身边的案例)
2019年1月3日 星期四Java面向对象之多态(来源于身边的案例)1\.为什么要用多态?1.1 多态是面向对象的三大特性之一1.2 多态是基于接口设计的模型1.3 多态具有横向扩展特性1.4 可以非常标准匹配“依赖倒置原则”,降低前端与后端间的耦合2.不一样的多态案例2.1 UML静态模型图!
绣鸾 绣鸾
1年前
OmniGraffle Pro for mac(图表绘制软件) v7.22.3
是一款专业的绘图软件,具有多种功能,包括:绘制图表:OmniGrafflePro可以创建各种类型的图表,包括流程图、组织图、UML图、网络图等等。它还支持导入和导出多种文件格式,如PDF、SVG、Visio、PNG、JPG等。绘图工具:OmniGraffl
燕青 燕青
1年前
OmniGraffle 注册码激活 附 详细图文安装教程 支持M1
是一款专业的图形设计软件,适用于制作各种图形和图表,如流程图、组织图、UML图、网络图等等。它具有直观的界面和丰富的功能,可以帮助用户快速创建高质量的图形和图表。OmniGraffle的主要特点包括:丰富的模板和预设:OmniGraffle提供了大量的模板
绣鸾 绣鸾
1年前
OmniGraffle Pro 7 for mac(制图软件)
是一款专业的绘图软件,具有多种功能,包括:绘制图表:OmniGrafflePro可以创建各种类型的图表,包括流程图、组织图、UML图、网络图等等。它还支持导入和导出多种文件格式,如PDF、SVG、Visio、PNG、JPG等。绘图工具:OmniGraffl