UML 常用九种图

UML(UnifiedModelingLanguage),统一建模语言,是面向对象软件的标准化建模语言。由于面向对象开发需要经过OOA(面向对象分析),OOD(面向对象设计),OOP(面向对象编程)三个阶段,每个阶段都需要统一的符号设计描述和交流,而UML 就是在这种统一的符号表示。

如下图所示,UML图分为用例视图、设计视图、进程视图、实现视图和拓扑视图,又可以静动分为静态视图和动态视图。

静态图分为:用例图,类图,对象图,包图,构件图,部署图。

动态图分为:状态图,活动图,协作图,序列图。

在这里插入图片描述

1. 用例图(UseCase Diagrams):

[概念]描述用户需求,从用户的角度描述系统的功能,展现了一组用例、参与者以及他们之间的关系。用例图从用户的角度描述系统的静态使用情况,用于建立需求模型。参与者是角色而不是具体的人,参与者作为外部用户(而不是内部)与系统发生交互作用。
[描述方式] 椭圆表示某个用例,人形符号表示角色。
[简单理解] 用例图主要回答了两个问题:1 是谁用软件,2 软件的功能。从用户的 角度描述了用户的功能,并指出各个功能的执行者,强调用户的使用者,系统为执行者完成哪些功能。
在这里插入图片描述

2. 类图(Class Diagrams)

[概念]:显示系统的静态结构,表示不同的实体是如何关联的
[描述方式]:三个矩形
[简单理解]:用户根据用例图抽象成类,描述类的内部结构和类与类之间的关系,是一种静态结构图。
在UML类图中,常见的有以下几种关系:泛化(Generalization), 实现(Realization),关联(Association),聚合(Aggregation),组合(Composition),依赖(Dependency)。

各种关系的强弱顺序: 泛化 = 实现 > 组合 > 聚合 > 关联 > 依赖。

2.1 泛化
泛化关系是一种继承关系,表示一般与特殊的关系,它制定了子类如何继承父类的所有特征和行为。例如,老虎是动物的一种,既有老虎的特征也有动物的特征。

在这里插入图片描述
2.2 实现
实现关系是一种类与接口的关系,表示类是接口所有特征和行为的实现

在这里插入图片描述
2.3 关联
关联关系是一种拥有的关系,它使一个类知道另一个类的属性和方法。如:老师与学生,丈夫与妻子关联可以是双向的也可以是单向的。双向的关联可以有两个箭头或者没有箭头,单向的关联有一个箭头。

在这里插入图片描述
2.4 共享聚合
聚合关系是整体与部分的存在,且部分可以离开整体而单独存在。如车和轮胎是在整体和部分的关系,轮胎里开车仍然可以存在。

聚合关系是关联关系的一种,是强的关联关系;关联和聚合在语法上无法区分,必须考察具体的逻辑关系。

在这里插入图片描述
2.5 组合集合
[组合关系]是整体与部分的关系,但是部分不能离开整体而单独存在,如公司和部门是整体和部分的关系,没有公司就不存在部门。

组合关系是关联关系的一种,是比聚合关系还要强的关系,它要求普通的聚合关系中代表整体的对象负责部分的对象的生命周期。
[代码体现]:成员变量
[箭头及指向]:带实心菱形的实现,菱形指向整体。

在这里插入图片描述

2.6 依赖
[依赖关系]是一种使用的关系,即一个类的实现需要另一类的协助,所以尽量不使用双向的依赖。
[代码表现]:局部变量、方法的参数或者对静态方法的调用
[箭头及指向]:带箭头的虚线,指向被使用者

在这里插入图片描述

3 对象图 (Object Diagrams)

[概念]:类图的一个实例,描述系统在具体时间点上所包含的对象以及各个对象之间的关系。
[简单理解]:描述的是参与交互的各个对象在交互过程中某一时刻的状态,对象图可以看作是类图在某一时刻的实例。

在这里插入图片描述

4 状态图(Statechart Diagrams)

[概念]:描述一个特定的对象所有可能的状态,以及由于各种事件的发生而引起状态之间的转移和变化。
[描述方式]:u 起始点:实心圆
u 状态之间的转换:使用开箭头的线段
u 状态:圆角矩形
u 判断点:空心圆
u 一个或多个终止点:内部包含实心圆的圆
[简单理解]:是一种由状态、变迁、事件和活动组成的状态机,用来描述类的对象所有可能的状态以及事件发生时状态的转移条件。

5 活动图

【概念】用于描述系统的工作流程和并发行为。活动图被设计用于简化描述一个过程或操作的工作步骤
【描述方式】
起始点:实心圆
活动:圆角矩形
终止点:内部包含实心圆的圆
泳道:实际执行活动的对象
【简单理解】是状态图的一种特殊情况,这些状态大都处于活动状态。本质是一种流程图,它描述了活动到活动的控制流。

交互图强调的是对象到对象的控制流,而活动图则强调的是从活动到活动的控制流。

活动图是一种表述过程基理、业务过程以及工作流的技术。它可以用来对业务过程、工作流建模,也可以对用例实现甚至是程序实现来建模。

在这里插入图片描述

6 序列图 时序图

【概念】也叫时序图,描述对象之间的交互顺序,着重体现对象间消息传递的时间顺序
【描述方式】横跨图的顶部,每个框表示每个类的实例或对象;类实例名称和类名称使用冒号分开。
【简单理解】交互图的一种,描述了对象之间消息发送的先后顺序,强调时间顺序。

序列图的主要用途是把用例表达的需求,转化为进一步、更加正式层次的精细表达。用例常常被细化为一个或者更多的序列图。同时序列图更有效地描述如何分配各个类的职责以及各类具有相应职责的原因。
在这里插入图片描述

7 协作图

【概念】描述对象之间的合作关系,侧重对象之间的消息传递 ,强调的是发送和接收消息的对象之间的组织结构。也叫通讯图(Communication Diagram)。
【简单理解】: 交互图的一种,描述了收发消息的对象的组织关系,强调对象之间的合作关系。时序图按照时间顺序布图,而写作图按照空间结构布图

在这里插入图片描述

8 构建图

【概念】描述代码构件的物理结构以及各构件之间的依赖关系
【描述方式】构件
【简单理解】构件图是用来表示系统中构件与构件之间,类或接口与构件之间的关系图。其中,构建图之间的关系表现为依赖关系,定义的类或接口与类之间的关系表现为依赖关系或实现关系。

在这里插入图片描述

9 部署图

【概念】系统中硬件的物理体系结构
【描述方式】 三维立方体表示部件 ,节点名称位于立方体上部
【简单理解】 描述了系统运行时进行处理的结点以及在结点上活动的构件的配置。强调了物理设备以及之间的连接关系。

在这里插入图片描述
部署模型的目的:

描述一个具体应用的主要部署结构,通过对各种硬件,在硬件中的软件以及各种连接协议的显示,可以很好的描述系统是如何部署的;平衡系统运行时的计算资源分布;可以通过连接描述组织的硬件网络结构或者是嵌入式系统等具有多种硬件和软件相关的系统运行模型。

此篇是学习笔记,不做商业用途,内容和图片均从https://zhuanlan.zhihu.com/p/44518805有摘抄。

  • 2
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值