UML简述

382 阅读4分钟

前言

前一段时间开始,因为工作性质变化的原因,除了日常的coding外,还承担了一些项目的技术预案、立项、等文档的编写等相关工作,需要画大量的技术架构相关的一些图。涉及到了比较多的UML图。 借此机会,我也重新复习一下各类UML吧。

什么是UML

UML即Unified Model Language,是一种建模语言,它以图形的方式来描述软件的概念,也是标准建模语言。在软件开发中,当系统规模比较复杂时,需要用图形抽象地来表达复杂的概念,让整个软件设计更具有可读性,可理解性,以便尽早发现软件设计时存在的潜在问题,从而降低开发风险。同时,也极大地方便了业务人员与开发人员之间的交流。

UML分类

UML 是一个总称,共包含共10 种图:

其中包含静态图也称结构视图 6种:用例图类图包图对象图部署图

动态图也称为行为视图4种: 顺序协作状态活动图

img

其中常用的有:

常用的静态图:用例图、类图、包图、对象图、部署图

常用的动态图:顺序图,协作图(也称为通信图),状态机图,活动图

简要介绍

用例图

用例图是参与者从系统外部能观察到的系统功能的模型图。用例是系统中的一个功能单元,可以描述为参与者与系统之间的一次交互。用例图即是描述出系统的参与者以及参与者可以执行的系统用例。

最简单的用例图

类图

用于描述系统中所包含的类以及它们之间的相互关系。

类图的两个重要元素:类,以及类之间的关系。

类的关系 (6种)依赖关系、继承/泛化关系、实线关系、关联关系、聚合关系、组合关系

_images/uml_class_struct.jpg

对象图

包图

包图通常用于描述系统的逻辑架构——层、子系统、包等。层可以建模为UML包。UML包用一大一小两个矩形组合而成。如果内部显示了其成员,则包名称标在上面的小矩形内,否则可以标在包内。

img

包拥有的元素 :类、接口、组件、节点、协作、用例、图以及其他包。 包的可见性用来控制包外界的元素对包内元素的可访问权限。这种可见性它分为3种,即公有访问、保护访问和私有访问。

包之间可以有两种关系:依赖、泛化

组件图

UML 组件图(Component Diagram)又称为构件图,他描述的是在软件系统中遵从并实现一组接口的物理的、可替换的软件模块。

组件图 = 构件(Component)+接口(Interface)+关系(Relationship)+端口(Port)+连接器(Connector)

UML 组件图给提供了将要建立的系统的高层次的架构视图,这将帮助开发者开始建立实现的路标,并决定关于任务分配及(或)增进需求技能。

img

部署图

部署图是用来显示系统中软件和硬件的物理架构。使用部署图不仅可以显示运行时系统的结构,还能够传达构成应用程序的硬件和软件元素的配置和部署方式。

部署图的组成元素:结点、构件(因此部署图也经常和构件图一起使用)、接口、连接

1049196244-0

状态图

UML 状态图是图表本身的名称,主要用于描述对象具有的各种状态、状态之间的转换过程以及触发状态转换的各种事件和条件。

UML 状态图描述了一个状态机,可以被定义为一台机器,它定义了一个对象,这些状态控制外部或内部事件的不同状态。

活动图

活动图是一种用于描述系统行为的模型视图,它可以用来描述系统的工作流程和并发行为,用于展现参与系统某一行为的类进行的各种活动的顺序关系。

活动图类似于流程图,可以描述过程逻辑、业务流程和工作流,但活动图支持并发行为。

img

时序图

序列图(Sequence Diagram),又称顺序图或时序图,它是描述对象行为的一种交互视图。

img

协作图

通信图描述的是对象和对象之间的调用关系,体现的是一种组织关系。

通信图组成元素:对象、链接、消息

通信图和时序图有点类似。但时序图着重于时间顺序,而通信图则关注的是对象之间的组织关系,通信图中的时间顺序可以从消息序号中获得。在语义上这两个图是等价的可以互相转换而不会丢失信息。

最后

后续会对几个重点的UML图进行更详细的分析

部分数据来源于:亿图数据 www.edrawsoft.cn/uml-diagram…