close
logologo

UML(Unified Modeling Language )是用来对软件密集系统进行可视化建模的一种语言,是在开发阶段、说明、可视化、构建和书写一个面向对象软件密集系统的制品的开放方法。

UML图分为两种类型:结构图和行为图。结构图是可视化组件如何以静态格式组织,行为图则是以动态的格式描述组件之间的交互。一般来说,在UML中只要掌握类图、用例图、时序图的使用,就可以完成大部分的工作,这三类图以及其它部分的图形在本篇文章中,将使用BoardMix博思在线协作白板为大家进行绘制,以便大家有更深入的了解。

1. 结构图

(1)UML类图

在UML的静态机制中,类图是一个重点,它不但是设计人员关心的核心,更是实现人员关注的核心。类元素表示矩形,UML类图中的标准类组件包括3个部分:

UML类图示例

UML类图示例

  • 第一部分是唯一包含类名的强制部分,位于矩形的上部。

  • 第二部分表示类所具有的属性,例如,用户的邮箱等,位于矩形的中间。

  • 第三部分表示描述类与数据交互的操作。

(2)概要图

用于描述轻量级、可扩展性机制定制UML,具有三种类型的可扩展机制:构造型、标记值和约束。

(3)对象图

通过关注特定时间的特定对象和属性进行模型表达,创建一组对象图来测试特定类图的准确性。

(4)包图

包图是在UML中用类似于文件夹的符号表示的模型元素的组合,使用包图可以将相关元素归入一个系统。一个包图中可包含附属包、图表或单个元素。

UML包图示例

UML包图示例

(5)部署图

部署图是用来显示系统中软件和硬件的物理架构。从部署图中,你可以了解到软件和硬件组件之间的物理关系以及处理节点的组件分布情况。使用部署图可以显示运行时系统的结构,同时还传达构成应用程序的硬件和软件元素的配置和部署方式。

(6)复合结构图

复合结构图用来显示类中各部分的关系,包括其与系统其他部分的交互点。

(7)组件图

组件图表示组件是如何互相组织以构建更大的组件或是软件系统的,它们被用来表示任意复杂系统的结构。例如,我们可以使用BoardMix博思在线白板来绘制一份机房收费系统的组件图如下:

机房收费系统组件图

机房收费系统组件图

2. 行为图

(1)用例图

用例图是用户与系统交互的最简表示形式,展现了用户和其他相关的用例之间的关系。通过用例图,人们可以获知系统不同种类的用户和用例。用例图也经常和其他图表配合使用。

用例图只有三个主要元素:

  • 用例:

用例元素以简单的形式显示系统功能需求。用例是系统外可见的一个功能单位,是某一个参与者在系统中做某件事从开始到结束的一系列活动的集合。

  • 参与者:

参与者是系统的用户,通过系统外部与系统发生交互来实现。

  • 关系:

参与者与用例之间的关系,主要包括关联、归纳、包含、拓展和依赖。

UML用例图模板

UML用例图模板

(2)序列图

序列图通过描述对象之间发送消息的时间顺利显示多个对象之间的动态协作。它可以表示用例的行为顺序,当执行一个用例行为时,序列图中的每条消息对应了一个类操作或状态机中引起转换的触发事件。序列图包括参与者、生命线、激活框和消息。

  • 参与这是与系统定义的工作交互的用户;

  • 生命线描述了交互中涉及的元素;

  • 激活框定义元素积极参与交互的特定时间段;

  • 消息定义了生命线之间的特定关系。

(3)活动图

活动图是UML的动态模型的一种图形,描述满足用例需求所要进行的活动以及活动间的约束关系,有利于识别并行活动。活动图是一种特殊的状态图,它对于系统的功能建模特别重要,强调对象间的特别控制流程。

UML活动图

UML活动图

(4)通信图

通信图是表现对象交互关系的图,它展现了多个对象在协同工作达成共同目标的过程中互相通信的情况,通过对象和对象之间的链、发送的消息来显示参与交互的对象。他的组成元素有对象、链和消息对象。

(5)交互概览图

交互概览图描述对象之间动态合作关系以及合作过程中的行为次序。通常用来描述一个用例的行为,显示该用例中所涉及的对象以及这些对象之间的消息传递情况,即一个用例的实现过程。

(6)时序图

时序图又名序列图、循序图,是一种UML交互图。它通过描述对象之间发送消息的时间顺序显示多个对象之间的动态协作。它可以表示用例行为时,其中的每一条消息对应一个类操作或状态机中引起转换的触发事件。

时序图组成元素有:角色、对象、生命线、控制焦点和消息。

  • 角色:系统角色,可以使人或者其他系统、子系统。

  • 对象:对象代表时序图中的对象在交互中所扮演的角色,位于时序图顶部和对象代表类角色。

  • 生命线:生命线代表时序图中的对象在一段时期内的存在。时序图中每个对象和底部中心都有一条垂直的虚线,这就是对象的生命线、对象间的消息存在于两条虚线间。

  • 控制焦点:控制焦点代表时序图中的对象执行一项操作的时期,在时序图中每条生命线上的窄的矩形代表活动期。它可以被理解成C语言语义中一对花括号“{}”中的内容。

  • 消息:消息是定义交互和协作中交换信息的类,用于对实体间的通信内容建模,信息用于在实体间传递信息。允许实体请求其他的服务,类角色通过发送和接收信息进行通信。

UML时序图

UML时序图

以上就是13种类型的UML图,本文的图例的绘制全部来源于BoardMix博思在线协作白板。这是一款功能强大的在线白板软件,不仅功能齐全而且支持实时共享、多人参与协作,同时还可以保存历史版本等等优势。

BoardMix博思在线协作白板

最重要的是,这款在线白板软件提供个人免费版,满足基本绘图需求!如果你想了解更多并且加以学习制作思维导图、UML图、流程图、概念图等多种图表的话,那么就进入BoardMix博思在线协作白板的官网来体验一下吧!