0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

UML简介与类图详解

码农爱学习 来源:码农爱学习 作者:码农爱学习 2023-05-05 09:07 次阅读

1 UML简介

1.1 UML是什么

UML,全称为Unified Model Language,即统一建模语言,是由一整套图表组成的,为面向对象系统的产品进行说明、可视化和编制文档的一种标准语言。UML 代表了一组最佳工程实践,这些实践已被证明在大型复杂系统的建模中是成功的。UML是开发面向对象软件和软件开发过程中非常重要的一部分。在嵌入式系统设计中,使用UML建模并书写文档,通常可以起到事半功倍的效果。

1.2 UML起源与发展

UML的出现,起源于三位面向对象大师对各自方法的结合与统一:

  • 由Booch创作的Booch方法
  • 由Jacobson创作的OOSE、Martin/Odell方法
  • 由Rumbaugh创造的OMT、Shlaer/Mellor方法

这些方法虽然各不相同,但共同的理念非常相似,三者结合,于1995年10月推出第一个名为“统一方法”的版本:Unified Method 0.8。

之后,又以名为“统一建模语言”的UML1.0版本提交到OMG组织(Object Management Group 对象管理组织),到1997年底OMG组织

正式采纳UML1.1作为基于面向对象技术的标准建模语言,UML1.1和UML 2.0(2005年发布)是UML历史上两个具有里程碑意义的版本。

1.3 UML中的各种图

UML具有许多不同类型的图表,包括:

  • 静态图:用例图、类图、包图
  • 动态图:活动图、状态图、时序图、协作图

这些不同的图,可以提供从不同的角度来描述系统,因为大型的软件开发流程中除了程序员外,还有产品、设计、测试等人员,这些人都对系统的不同方面有不同关注,因此在建模时需要考虑不同的细节层次。

本篇文章,先来介绍UML类图的基础知识。

2 UML类图实例

2.1 visio设计UML类图

新建一个visio文件,打开后会自动提示选择创建某种类型的图,这里选择"软件和数据库 ->UML类图"

点击确定之后,会进入UML类图的编辑界面,左侧可以看到用于UML类图编辑的基本元素:

将这些元素拖拽到右侧的编解面板中,可以看到这些元素的基本结构形式:

2.2 一个UML类图实例

下面是一个UML类图的实例:

  • 动物是一个抽象类,该类的一个子类是鸟类,鸟类又可以分出大雁、鸭、企鹅这些类,鸭类的一个子类是唐老鸭,这些属于继承关系
  • 动物类依赖氧气和水,属于依赖关系
  • 翅膀是鸟的一部分,且翅膀不可独立存在,属于合成(或组合)关系
  • 多只大雁聚集在一起形成雁群,属于聚合关系
  • 大雁可以飞翔,属于接口(或实现)关系
  • 企鹅'了解'气候规律,属于关联关系

3 UML类图元素介绍

下面具体介绍下UML类图中的各个元素。

3.1 图

UML类图中的图主要包括****类图接口图

3.1.1 类图

**类图是UML类图中的主要元素,类图的结构包括3行: **

  • 第1行:是类的名称
  • 第1行:是类的属性,即类的各种成员变量
  • 第1行:是类的方法,即类的各种成员函数

主:若类的名称是斜体,表示这是个抽象类,比如这里的动物

对于属性和方法前面的符号:

  • +号:共有类型,public
  • -号:私有类型,private
  • #号:保护类型,protect

3.1.2 接口图

与类图比较相似的是接口图,与类图最大的区别是顶端标注有“<<接口>>”表示这是个接口图,接口图的接口只有两行:

  • 第1行:是接口的名称
  • 第1行:是接口的方法,即函数实现

注:接口图还要另外一种“棒棒糖”表示法,圆圈的旁边为接口名称,接口方法的实现在类中实现

3.2 关系

图之间的连接,通过各种关系线来连接,包括: 接口关系、依赖关系、继承关系、合成关系、聚合关系、关联关系

3.2.1 接口关系(实现关系)

接口关系,也称实现关系,用带****三角箭头+虚线 ,箭头指向接口的形式,表示类是接口所有特征和行为的实现

3.2.2 依赖关系

依赖关系,描述的是一种使用关系,即一个类的实现需要另一个类的协助,用带****普通箭头+虚线 ,普通箭头指向被使用者的形式表示

3.2.3 继承关系(泛化关系)

继承关系,也称泛化关系,用带****三角箭头+实线 ,箭头指向父类的形式,表示子类继承父类的所有特征和行为

3.2.4 合成关系(组合关系)

合成关系,也称组合关系,描述的是一种整体与部分的关系,且部分不能离开整体而单独存在,用带****实心菱形+实线 ,实心菱形指向整体的形式表示

3.2.5 聚合关系

聚合关系,描述的是整体与部分的关系,用带****空心菱形+实线 ,空心菱形指向整体的形式表示

3.2.6 关联关系

关联关系,描述的是不同类的对象之间的结构关系,用带****普通箭头+实线 ,箭头指向被关联者的形式表示。

双向的关联可以有两个箭头,或者没有箭头。单向的关联有一个箭头。

4 总结

本篇介绍了UML类图的基础知识,包括2种和6种关系,并通过visio软件,演示如何画出一个UML类图


审核编辑:汤梓红

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 嵌入式系统
    +关注

    关注

    40

    文章

    3436

    浏览量

    128234
  • UML
    UML
    +关注

    关注

    0

    文章

    122

    浏览量

    30753
  • 图表
    +关注

    关注

    0

    文章

    24

    浏览量

    8819
收藏 人收藏

    评论

    相关推荐

    UML详解

    UML
    电子学习
    发布于 :2023年01月14日 10:12:47

    UML状态和Petri网络在测试用例生成的应用

    【作者】:陈志德;曾凡平;【来源】:《小型微型计算机系统》2010年03期【摘要】:分析和研究UML状态、扩展状态机和Petri网在测试用例生成的特点,提出结合三者优势的测试用例
    发表于 04-24 09:52

    STM32设计USB资料详解

    `协议简介协议特性系统和架构设备和供电传输类型USB OTG协议STM32互联型产品 OTG_FS 控制器控制器特性控制器不同模式的连接STM32设计USB资料详解[hide][/
    发表于 11-30 14:21

    请问UML用例的创建方法是什么?

    UML用例的创建方法及其用例的描述
    发表于 11-06 07:10

    请问如何使用UML来设计嵌入式系统?

    UML引入到嵌入式系统中的可行性一种改进的通用嵌入式系统UML方案如何使用UML来设计嵌入式系统?
    发表于 04-23 06:12

    GOOP怎么操作能顺利将UML生成代码

    我是用GOOP内的UML编辑器编辑了一个UML,然后希望生成对应代码,然后呢,GOOP让我选择一个项目,我选择后工具就崩溃了,有没有大神对这方面了解的,或者有没有相关的使用说明,中英文都可以。非常感谢~
    发表于 10-26 09:23

    编写电视TV,UML和说明

    编写电视TV,UML和说明如下:注意:(1)电视只有在打开的状态下才可以调音量和设置新频道;(2)设置音量和频道时,应该在规定的范围,如音量值为1-7。解题要求:编写测试
    发表于 10-29 06:09

    UML在车载GPS终端设计中的应用是什么?

    统一建模语言UML的特点是什么?UML在车载GPS终端设计中的应用是什么?
    发表于 12-27 06:28

    UML教程设计核心技术

    UML教程设计核心技术:UML的产生和成长,什么是UMLUML与面向对象的软件分析与设计,UML的应用领域。Component-Based
    发表于 02-08 17:42 0次下载

    什么是UML

    什么是UML UML是一种标准的图形化建模语言,它是面向对象分析与设计的一种标准表示。它:不是一种可视化的程序设计语言而是一种
    发表于 02-08 17:47 3250次阅读
    什么是<b class='flag-5'>UML</b>

    详解Oracle中XMI开发UML图表技术

    如果没有自动以XMI格式存储UML图表的工具,那么可以使用XSLT生成XMI文档。由示例部署描述符创建的XMI文档显示一个UML类图表;该图表将表现部署描述符EJB的分析视图。
    发表于 10-19 16:38 2918次阅读
    <b class='flag-5'>详解</b>Oracle中XMI开发<b class='flag-5'>UML</b>图表技术

    什么是UML图?常见的UML图工具有哪些?

    UML图是统一建模语言,又称标准建模语言。是对软件设计开发过程可视化建模的一种语言。多应用在一些软件系统工程上,有时在应用在机械系统和业务流程上有所应用。这种模型通常以图表方式呈现。 UML状态图
    的头像 发表于 06-22 14:10 4039次阅读
    什么是<b class='flag-5'>UML</b>图?常见的<b class='flag-5'>UML</b>图工具有哪些?

    UML统一建模语言

    UML-Unified Modeling Language 统一建模语言,又称标准建模语言。是用来对软件密集系统进行可视化建模的一种语言。UML的定义包括UML语义和UML表示法两个元
    的头像 发表于 05-05 10:15 604次阅读
    <b class='flag-5'>UML</b>统一建模语言

    UML状态图详解

    本篇介绍了UML状态图的基础知识,并通过visio绘制一个全自动洗衣机的UML状态图实例,来介绍UML状态图的画法与所表达的含义。
    的头像 发表于 05-09 09:00 1979次阅读
    <b class='flag-5'>UML</b>状态图<b class='flag-5'>详解</b>

    UML时序图详解

    本篇介绍了UML时序图的基础知识,并通过visio绘制一个物联网设备WIFI配网的UML时序图实例,来介绍UML时序图的画法与所表达的含义。
    的头像 发表于 05-16 09:09 1350次阅读
    <b class='flag-5'>UML</b>时序图<b class='flag-5'>详解</b>