uml的14种图_uml有几种图

uml的14种图_uml有几种图目录什么是UML?为什么要用UML?UML图有哪些?UML图概览什么是类图?泛化(Generalization)实现(Realization)关联(Association)聚合(Aggregation)组合(Composition)依赖(Dependency)什么是组件图?什么是部署图?什么是对象图?什么是包图?什么是组合结构图?什么是轮廓图?什么是用例图?什么是活动图?什么是状态机图?什么是序列图?什么是通讯图?什

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全家桶1年46,售后保障稳定

目录

什么是UML?

为什么要用UML?

UML图有哪些?

UML图概览

什么是类图?

泛化(Generalization)

实现(Realization)

关联(Association)

聚合(Aggregation)

组合(Composition)

依赖(Dependency)

什么是组件图?

什么是部署图?

什么是对象图?

什么是包图?

什么是组合结构图?

什么是轮廓图?

什么是用例图?

什么是活动图?

什么是状态机图?

什么是序列图?

什么是通讯图?

什么是交互概览图?

什么是时序图?

总结


什么是UML?

UMLUnified Model Language的缩写,中文是统一建模语言,是由一整套图表组成的标准化建模语言。

为什么要用UML?

通过使用UML使得在软件开发之前, 对整个软件设计有更好的可读性,可理解性,从而降低开发风险。同时,也能方便各个开发人员之间的交流。

UML提供了极富表达能力的建模语言,可以让软件开发过程中的不同人员分别得到自己感兴趣的信息。

Page-Jones 在《Fundamental Object-Oriented Design in UML》 一书中总结了UML的主要目的,如下:

  1. 为用户提供现成的、有表现力的可视化建模语言,以便他们开发和交换有意义的模型。
  2. 为核心概念提供可扩展性 (Extensibility) 和特殊化 (Specialization) 机制。
  3. 独立于特定的编程语言和开发过程。
  4. 为了解建模语言提供一个正式的基础。
  5. 鼓励面向对象工具市场的发展。
  6. 支持更高层次的开发概念,如协作,框架,模式和组件。
  7. 整合最佳的工作方法 (Best Practices)。

UML图有哪些?

  • UML图分为结构图和行为图。
  • 结构图分为类图、轮廓图、组件图、组合结构图、对象图、部署图、包图。
  • 行为图又分活动图、用例图、状态机图和交互图。
  • 交互图又分为序列图、时序图、通讯图、交互概览图。

uml的14种图_uml有几种图

UML图概览

uml的14种图_uml有几种图

 

什么是类图

  • 【概念】 类图是一切面向对象方法的核心建模工具。类图描述了系统中对象的类型以及它们之间存在的各种静态关系。
  • 【目的】用来表示类、接口以及它们之间的静态结构和关系。

在类图中,常见的有以下几种关系。

泛化(Generalization)

  • 【泛化关系】是一种继承关系,表示子类继承父类的所有特征和行为。
  • 【箭头指向】带三角箭头的实线,箭头指向父类。

uml的14种图_uml有几种图

实现(Realization)

  • 【实现关系】是一种类与接口的关系,表示类是接口所有特征和行为的实现。
  • 【箭头指向】带三角箭头的虚线,箭头指向接口。

uml的14种图_uml有几种图

关联(Association)

  • 【关联关系】是一种拥有关系,它使得一个类知道另一个类的属性和方法。
  • 【代码体现】成员变量
  • 【箭头指向】带普通箭头的实线,指向被拥有者。双向的关联可以有两个箭头,或者没有箭头。单向的关联有一个箭头。

uml的14种图_uml有几种图

 自己买的车,想什么时候开就开。但是车是车,人是人,没有整体与部分的关系。

聚合(Aggregation)

  • 【聚合关系】是一种整体与部分的关系。且部分可以离开整体而单独存在。聚合关系是关联关系的一种,是强的关联关系;关联和聚合在语法上无法区分,必须考察具体的逻辑关系。
  • 【代码体现】成员变量
  • 【箭头指向】带空心菱形的实线,空心菱形指向整体。

uml的14种图_uml有几种图

 电脑有键盘才能输入信息,电脑是整体,键盘是部分,键盘也可以离开电脑,单纯的拿去敲。所以是聚合。

组合(Composition)

  • 【组合关系】是一种整体与部分的关系。但部分不能离开整体而单独存在,组合关系是关联关系的一种,是比聚合关系还要强的关系。
  • 【代码体现】成员变量
  • 【箭头指向】带实心菱形和普通箭头的实线,实心菱形指向整体。

uml的14种图_uml有几种图

鸟是整体,翅膀是部分。鸟死了,翅膀也就不能飞了。所以是组合。我们再看一下,下面的一组经典的聚合组合关系的例子。

uml的14种图_uml有几种图

一个公司拥有多个部门,公司和部门之间是组合关系,公司破产了,部门就不复存在了。部门和员工是聚合关系,部门被裁掉,员工就换下家了。

依赖(Dependency)

  • 【依赖关系】是一种使用关系,即一个类的实现需要另一个类的协助。
  • 【箭头指向】带普通箭头的虚线,普通箭头指向被使用者。

uml的14种图_uml有几种图

 老司机只管开车,车是谁的不重要,给什么车开什么车。

 

 

什么是组件图

  • 【概念】描绘了系统中组件提供的、需要的接口、端口等,以及它们之间的关系。
  • 【目的】用来展示各个组件之间的依赖关系。

uml的14种图_uml有几种图

 订单系统组件依赖于客户资源库和库存系统组件。中间的虚线箭头表示依赖关系。另外两个符号,表示组件连接器,一个提供接口,一个需要接口。

什么是部署图

  • 【概念】描述了系统内部的软件如何分布在不同的节点上。
  • 【目的】用来表示软件和硬件的映射关系。

uml的14种图_uml有几种图

 图中简单的表示,不同机器上面部署的不同软件。

什么是对象图?

  • 【概念】对象图是类图的一个实例,是系统在某个时间点的详细状态的快照。
  • 【目的】用来表示两个或者多个对象之间在某一时刻之间的关系。

uml的14种图_uml有几种图

图中就是描述的,某时间点bat这个公司有一个研发部,一个销售部,两个部门只有一个人iisheng

什么是包图?

  • 【概念】描绘了系统在包层面上的结构设计。
  • 【目的】用来表示包和包之间的依赖关系。

uml的14种图_uml有几种图

 

  • 《Use》关系表示使用依赖,Web Shopping依赖Payment
  • 《Merge》关系表示合并,Web Shopping合并了Shopping Cart就拥有了Shopping Cart的功能
  • 《Access》关系表示私有引入,比如代码中的指定包名类名
  • 《Import》关系表示公共引入,比如Java中的import之后,就可以直接使用import包中的类了。

 

什么是组合结构图?

  • 【概念】描述了一个”组合结构”的内部结构,以及他们之间的关系。这个”组合结构”可以是系统的一部分,或者一个整体。
  • 【目的】用来表示系统中逻辑上的”组合结构”。

uml的14种图_uml有几种图

 图中描述了Car是由车轴连接着的两个前面轮子、两个后面轮子,和引擎组合的。

什么是轮廓图?

  • 【概念】轮廓图提供了一种通用的扩展机制,用于为特定域和平台定制UML模型。
  • 【目的】用于在特定领域中构建UML模型。

uml的14种图_uml有几种图

 图中我们定义了一个简易的EJB的概要图。Bean是从Component扩展来的。Entity BeanSession Bean继承了BeanEJB拥有RemoteHome接口,和JAR包。

什么是用例图

  • 【概念】用例图是指由参与者、用例,边界以及它们之间的关系构成的用于描述系统功能的视图。
  • 【目的】用来描述整个系统的功能。

uml的14种图_uml有几种图

 

用例图中包含以下三种关系:

  • 包含关系使用符号《include》,想要查看订单列表,前提是需要先登录。
  • 扩展关系使用符号《extend》,基于查询订单列表的功能,可以增加一个导出数据的功能
  • 泛化关系,子用例继承父用例所有结构、行为和关系。

什么是活动图?

  • 【概念】描述了具体业务用例的实现流程。
  • 【目的】用来表示用例实现的工作流程。

uml的14种图_uml有几种图

图中简单描述了,从开始到登录到查看订单列表,或者登录失败直接结束。

什么是状态机图?

  • 【概念】状态机图对一个单独对象的行为建模,指明对象在它的整个生命周期里,响应不同事件时,执行相关事件的顺序。
  • 【目的】用来表示指定对象,在整个生命周期,响应不同事件的不同状态。

uml的14种图_uml有几种图

 

 图中描述了,门在其生命周期内所经历的状态。

什么是序列图

  • 【概念】序列图根据时间序列展示对象如何进行协作。它展示了在用例的特定场景中,对象如何与其他对象交互。
  • 【目的】通过描述对象之间发送消息的时间顺序显示多个对象之间的动态协作。

uml的14种图_uml有几种图

 图中展示的是支付宝条码支付场景的序列图。其中,loop是循环,alt是选择,序列图的其他关系这里就不介绍了。

什么是通讯图?

  • 【概念】描述了收发消息的对象的组织关系,强调对象之间的合作关系而不是时间顺序。
  • 【目的】用来显示不同对象的关系。

uml的14种图_uml有几种图

 图中展示了一个线上书店的通讯图,方框和小人表示生命线,不同生命线之间可以传递消息,消息前面的数字可以表达序列顺序。

什么是交互概览图?

  • 【概念】交互概览图与活动图类似,但是它的节点是交互图。
  • 【目的】提供了控制流的概述。

uml的14种图_uml有几种图

 图中表示一个调度系统的交互概览图,跟活动图很像。其中sd的框代表具体的交互流程,ref框代表使用交互。

什么是时序图?

  • 【概念】时序图被用来显示随时间变化,一个或多个元素的值或状态的更改。也显示时控事件之间的交互和管理它们的时间和期限约束。
  • 【目的】用来表示元素状态或者值随时间的变化而变化的视图。

uml的14种图_uml有几种图

 图中展示了老年痴呆病人随着时间的变化病情的变化。

总结

学习UML,我们没必要纠结比如像聚合关系是带箭头还是不带箭头,这样的问题。更重要的是UML图所给我们带来的画图思想,让我们画UML图或者其他图能让其他人更好的理解我们的设计思想。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/204268.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • java输出windows系统日志_闲聊Windows系统日志

    java输出windows系统日志_闲聊Windows系统日志title:”闲聊Windows系统日志”date:2021-02-22T18:59:49+08:00draft:truetags:[‘windows’]author:”dadigang”author_cn:”大地缸”personal:”http://www.real007.cn”闲聊Windows系统日志2018-07-302018-07-3017:38:54阅读4.2K0\…

    2025年8月29日
    5
  • [Linux] 非root安装Lefse软件及其数据分析「建议收藏」

    [Linux] 非root安装Lefse软件及其数据分析「建议收藏」说明Lefse软件是宏组学物种研究常用软件,一般大家用在线版本即可。但要搭建在Linux集群环境中有点烦,记录一下折腾过程。安装这个软件是python2写的,因此假设我已经安装好了较高版本的python2以及pip等工具,在此基础上来安装lefse。lefse下载地址:https://bitbucket.org/nsegata/lefse/src/default/。这个网站有丰富…

    2022年5月26日
    26
  • ssh配置config文件命令_config文件能删除吗

    ssh配置config文件命令_config文件能删除吗在使用ssh连接服务器时,经常要输入一些不同的主机地址和密码,使用config文件可以很好的解决这个问题。在配置之前我们先生成ssh密钥。#使用以下命令一路回车即可ssh-keygen-trsa#为.ssh目录设置权限chmod600~/.ssh/config文件配置十分简单,只需要按照以下格式配置即可。#config文件需要放到~/.ssh/conf

    2025年5月24日
    2
  • 案例:EVE和ENSP对接LLDP协议「建议收藏」

    案例:EVE和ENSP对接LLDP协议「建议收藏」1.EVE与ENSP使用cloud对接LLDP协议(拓扑)2.思科开启LLDP(EVE需使用2018年后的L2/L3IOU才支持LLDP功能)Switch(config)#lldprun//思科全局运行开启lldpSwitch(config)#inte0/1Switch(config-if)#lldptransmitSwitch(config-if)#lldpreceive//接口下开启lldp传送与接受华为开启LLDP[Huawei]lldpenableInfo:Glo

    2022年5月5日
    87
  • 机顶盒知识详解_罗盘的知识与技巧

    机顶盒知识详解_罗盘的知识与技巧机顶盒定义数字视频变换盒(英语:SetTopBox,简称STB),通常称作机顶盒或机上盒,是一个连接电视机与外部信号源的设备;它可以将压缩的数字信号转成电视内容,并在电视机上显示出来;信号可以来自有线电缆、卫星天线、宽带网络以及地面广播。机顶盒接收的内容除了模拟电视可以提供的图像、声音之外,更在于能够接收数据内容,包括电子节目指南、因特网网页、字幕等等;使用户能在现有电视机上观…

    2025年8月6日
    3
  • javaweb酒店管理系统源代码_java简单酒店管理系统代码

    javaweb酒店管理系统源代码_java简单酒店管理系统代码大家好,我是全微毕设团队的创始人,本团队擅长JAVA(SSM,SSH,SPRINGBOOT)、PYTHON、PHP、C#、安卓等多项技术。今天将为大家分析一个小型酒店管理系统(当前酒店管理系统已经得到了充足的发展和完善,一些大的酒店购买了功能强大、数据量处理快速、客户行为研究的软件,借此来提升酒店的核心竞争力。但是对于一些中小规模的酒店而言,昂贵的系统花费、专人的维护是不现实的,也是非常不灵活的。…

    2022年9月25日
    2

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号