1271|3

291

帖子

5

TA的资源

纯净的硅(中级)

楼主
 

UML简介与类图详解 [复制链接]

在进行嵌入式软件开发时,对于比较复杂的项目,在编写代码之前,一般会先进行需求分析与软件功能设计,比较常用的方式使用UML建模来实现。

本篇起,来介绍在嵌入式开发中,比较常用的一些UML图的知识点与画法实例。

本篇先介绍UML中的类图。

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类图

 

此帖出自编程基础论坛

最新回复

感谢分享!   详情 回复 发表于 2023-6-15 14:21
点赞(1) 关注(1)
 

回复
举报

6807

帖子

0

TA的资源

五彩晶圆(高级)

沙发
 

这UML图的知识点与画法的基础知识确实需要普及一下了

此帖出自编程基础论坛

点评

是的,UML对程序设计还是比较实用的,专门讲这些知识的好像不多  详情 回复 发表于 2023-6-12 22:07
 
 
 

回复

291

帖子

5

TA的资源

纯净的硅(中级)

板凳
 
Jacktang 发表于 2023-6-12 07:26 这UML图的知识点与画法的基础知识确实需要普及一下了

是的,UML对程序设计还是比较实用的,专门讲这些知识的好像不多

此帖出自编程基础论坛
 
 
 

回复

6105

帖子

4

TA的资源

版主

4
 

感谢分享!

此帖出自编程基础论坛
 
 
 

回复
您需要登录后才可以回帖 登录 | 注册

查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/8 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表