有关UML图的深入研究学习

有关UML图的深入研究学习

文章目录


1.定义及概述
2.图的种类
3.学习总结

一、定义及概述
Unified Modeling Language是统一建模语言,又称标准建模语言。是用来对软件密集系统进行可视化建模的一种语言。UML的定义包括UML语义和UML表示法两个元素。UML是为面向对象开发系统的产品进行说明、可视化、和编制文档的一种标准语言。
二、图的种类
如下图所示,截止UML1.5一共有9种图形,但再UML2.0时又新增添了4种。故截止UML2.0一共有13种图形,分别为:用例图、类图、对象图、状态图、活动图、顺序图、协作图、构件图、部署图9种,包图、组合结构图、交互概览图3种。
在这里插入图片描述
图2.1 UML1.5分类
按图的模型来讲,从功能方面,即从用户角度展示系统的功能主要为用例图;而采用对象、属性、操作、关联等概念展示系统的结构和基础的类别为类图、对象图、包图;除此之外,从动态模型而言,序列图、活动图、状态图展示系统的内部行为。
UML的模型中可分为两种:动态模型和静态模型。用例图、类图和对象图都是UML中的静态结构模型。而在UML系统动态模型的其中一种就是交互视图,它描述了执行系统功能的各个角色之间相互传递消息的顺序关系。
1.用例图
用例图从用户角度描述了系统功能。如图2.2,用例图是指由参与者、用例,边界以及它们之间的关系构成的用于描述系统功能的视图。用例图是外部用户(参与者)所能观察到的系统功能的模型图。用例图是系统的蓝图。用例图呈现了一些参与者,一些用例,以及它们之间的关系,主要用于对系统、子系统或类的功能行为进行建模。
图2.2	用例图
图2.2 用例图
2.类图
类图是描述系统中的类,以及各个类之间的关系的静态视图,如图2.3。能够让我们在正确编写代码以前对系统有一个全面的认识。类图是一种模型类型,确切的说,是一种静态模型类型。类图是最常用的UML图,显示出类、接口以及它们之间的静态结构和关系;它用于描述系统的结构化设计。类图最基本的元素是类或者接口。
在这里插入图片描述
图2.3 类图
类:
类一般包含3个组成部分。第一个是类名;第二个是属性;第三个是该类提供的方法。
包:
包是一种常规用途的组合机制。UML中的一个包直接对应于Java中的一个包。在Java中,一个包可能含有其他包、类或者同时含有这两者。进行建模时,通常使用逻辑性的包,用于对模型进行组织;使用物理性的包,用于转换成系统中的Java包。每个包的名称对这个包进行了惟一性的标识。
接口:
接口是一系列操作的集合,它指定了一个类所提供的服务。它直接对应于Java中的一个接口类型。接口的表示有大概两种方式。
关系:
常见关系有:继承,关联关系,聚合关系,复合关系,依赖关系,实现关系。而聚合关系与符合关系属于关联关系。
1).一般化关系:表示为类与类之间的继承关系,接口与接口之间的继承,类对接口的实现关系。
表示方法: 用一个空心箭头+实线,箭头指向父类。或空心箭头+虚线,如果父类是接口。
2).关联关系:类与类之间的联接,它使一个类知道另一个类的属性和方法。
表示方法:用 实线+箭头, 箭头指向被使用的类。
3).聚合关系:是关联关系的一种,是强的关联关系。聚合关系是整体和个体的关系。关联关系的两 个类处于同一层次上,而聚合关系两个类处于不同的层次,一个是整体,一个是部分。
表示方法:空心菱形+实线+箭头,箭头指向个体。
4).合成关系:是关联关系的一种,是比聚合关系强的关系。它要求普通的聚合关系中代表整体的对 象负责代表部分的对象的生命周期,合成关系不能共享。
表示方法:实心菱形+实线+箭头,
5).依赖关系:是类与类之间的连接,表示一个类依赖于另一个类的定义。例如如果A依赖于B,则B 体现为局部变量,方法的参数、或静态方法的调用。
表示方法:虚线+箭头 箭头指向被依赖的一方,也就是指向局部变量。

3.对象图
如图2.4,对象图描述的是参与交互的各个对象在交互过程中某一时刻的状态。对象图可以被看作是类图在某一时刻的实例。对象图是显示了一组对象和他们之间的关系。使用对象图来说明数据结构,类图中的类或组件等的实例的静态快照。
在这里插入图片描述
图2.4 对象图

4.包图
包图是在 UML 中用类似于文件夹的符号表示的模型元素的组合,如图2.5所示。系统中的每个元素都只能为一个包所有,一个包可嵌套在另一个包中。使用包图可以将相关元素归入一个系统。一个包中可包含附属包、图表或单个元素。
在这里插入图片描述
图2.5 包图
5.活动图
是状态图的一种特殊情况,这些状态大都处于活动状态。本质是一种流程图,它描述了活动到活动的控制流。交互图强调的是对象到对象的控制流,而活动图则强调的是从活动到活动的控制流。活动图是一种表述过程基理、业务过程以及工作流的技术。它可以用来对业务过程、工作流建模,也可以对用例实现甚至是程序实现来建模。
6.状态图
如图2.6,状态图用于显示状态机(它指定对象所在的状态序列)、使对象达到这些状态的事件和条件、以及达到这些状态时所发生的操作。是描述一个实体基于事件反应的动态行为,显示了该实体如何根据当前所处的状态对不同的事件做出反应。
在这里插入图片描述
图2.6 状态图

7.序列图
序列图就是交互视图的一种形式。序列图主要用于按照交互发生的一系列顺序,显示对象之间的这些交互。描述了对象之间消息发送的先后顺序,强调时间顺序。序列图的主要用途是把用例表达的需求,转化为进一步、更加正式层次的精细表达。用例常常被细化为一个或者更多的序列图。同时序列图更有效地描述如何分配各个类的职责以及各类具有相应职责的原因。
图2.7	序列图
图2.7 序列图
8.协作图
协作图,又作“通信图”。而“协作”作为一个结构事物用于表达静态结构和动态行为的概念组合,表达不同事物相互协作完成一个复杂功能。故UML 2.0以后通信图不再是协作图,没有专门的”协作图“,只有”协作“。

9.构件图
构件图又叫组件图。描述代码构件的物理结构以及各种构建之间的依赖关系。用来建模软件的组件及其相互之间的关系,这些图由构件标记符和构件之间的关系构成。在组件图中,构件是软件单个组成部分,它可以是一个文件,产品、可执行文件和脚本等。

10.部署图
部署图又叫配置图,是用来建模系统的物理部署。例如计算机和设备,以及它们之间是如何连接的。部署图的使用者是开发人员、系统集成人员和测试人员。部署图用于表示一组物理结点的集合及结点间的相互关系,从而建立了系统物理层面的模型。
11.组合结构图:表示类或者构建内部结构的图
12.交互概览图:用活动图来表示多个交互之间的控制关系的图

三、学习总结
经过课堂上对UML图的触及,产生了对它的兴趣,故查阅了大量资料从而加深对它的理解已经深入了解,争取将他化为自己拥有的知识,在日后的学习或者工作上能将其应用出来,转化为自己的能力。
通过对UML图的深入了解,由于UML图最常用的是建立软件系统的模型,在我以后的学习生活中可能还会再次甚至多次接触,并且由于在计算机科学系,今后可能最UML图的使用次数不在少数,因此我将通过本次对UML图的学习借此深入学习,不仅是了解其基本概念,更要深入了解UML图各种类别不同的用法,从而在以后软件开发的工作中更顺心如意,提高自己的工作能力以及工作效率。

四、参考文献
1.UML图(百度百科),https://baike.baidu.com/item/UML图/6963758?fr=aladdin
2.UML图(CSDN),https://blog.csdn.net/zy12306/article/details/92787041

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值