UML建模-3-UML概述

提示:UML建模专栏持续更新中。。。。。。

文章目录

  • 1.UML简介
  • 2.UML的特点
  • 3.UML的组成
  • 4.UML模型分类
  • 5.UML2.0新特性


1.UML简介

UML(Unified Modeling Language统一建模语言),是一种能够描述问题、描述解决方案、起到沟通作用的语言。通俗的说,它是一种用文本、图形和符号的集合来描述现实生活中各类事物、活动、及其之间关系的语言。

作为一种建模语言,UML是一种标准的图形符号,它的定义包括UML语义和UML表示法两个部分。
UML语义:指UML元素符号代表的含义,UML的所有元素在语法和语义上提供了简单、一致、通用的定义和说明。使开发者能在语义上取得一致,消除了因人而异的最佳表达方式所造成的影响。此外,UML还支持元素语义的扩展。
UML表示法:对UML每个元素符号的表示方法进行了规范。开发者和开发工具在使用这些图形符号时都遵循相应的UML符号的表示准则。

2.UML的特点

UML语言的主要特点如下:

  • 统一的建模语言。UML统一了Booch、OMT和OOSE等方法中的基本概念。
  • UML语言应用于软件开发周期中的每一个阶段。OMG(Object Management Group,对象管理组织)已将该语言作为业界的标准。
  • UML作为一种模型语言,它可以使开发人员专注于建立产品的模型和结构。当模型建立之后,模型可以被UML工具转化成指定的程序语言代码。
  • 强大的表达能力。UML的可扩展机制使得UML具有强大的表达能力。

建模是管理软件开发复杂性的有效手段。使用UML给出软件的需求规格、总体设计、概要设计、详细设计等的图形表示,有助于参入软件产品开发的各方更好地交流、沟通、讨论。
通过软件建模,开发人员能够:

  • 在提交额外的资源之前创建并交流软件设计。
  • 从设计追溯到需求阶段,有助于确保构建正确的系统。
  • 进行迭代开发,在开发中,模型和其他的更高层次的抽象推动了快速而频繁的变更。

UML语言的目标是以图的方式来表示任何类型的系统,该语言应用广泛。这种语言既可以用来为软件系统建模,也可以用来对非软件领域的其他复杂系统建模。
UML主要应用在软件密集型系统。在以下领域中已经有效地应用了UML:

  • 制造业
  • 银行和金融服务
  • 军事
  • 医疗卫生
  • 国防/航天
  • 游戏

3.UML的组成

在这里插入图片描述
在这里插入图片描述

  • 事物是对模型中最有代表性的成分的抽象;
  • 关系把事物结合在一起;
  • 图聚集了相关的事物。

在这里插入图片描述

  • 结构事物:UML模型中的名词,是模型中的静态部分,如类、接口、协作、用例、活动类、组件、节点;
  • 行为事物:UML模型中的动词,是模型的动态部分,如交互、状态机;
  • 分组事物:包,用于把模型分解成“盒子”;
  • 注释事物:用来描述、说明和标注模型的任何元素。

1、构件事物
(1)类:一组具有相同属性、相同操作和相同语义的对象的抽象。
(2)接口:类或组件提供特定服务的一组操作的集合。
(3)协作:一组事物间相互作用的集合
(4)用例:描述一系列的动作,这些动作是系统对一个特定角色执行的
(5)构件:也称组件,是物理上可替换的系统部分,实现一个接口集合
(6)节点:用于描述实际的PC机、打印机、服务器等基础硬件。
2、行为事物
(1)交互:实现某功能的一组构件事物之间的消息的集合,涉及消息、动作序列、链接
(2)状态机:描述事物或交互在生命周期内响应事件所经历的状态序列
3、分组事物
分组事物是UML模型图的组织部分,描述事物的组织结构,主要由包来实现。
包:把元素编程成组的机制
4、注释事物
注释事物是UML模型的解释部分,用来对模型中的元素进行说明,解释。

在这里插入图片描述
1、依赖(Dependency)
依赖是两个模型元素间的语义关系,其中一个元素(独立事务)发生变化会影响另一个元素(依赖事务)的语义。在图形上,把依赖画成一条可能有方向的虚线,偶尔在其上还带有一个标记。
2、关联(Association)
关联指明了一个对象与另一个对象间的关系。在图形上,关联用一条实线表示,它可能有方向,偶尔在其上还有一个标记。例如,读者可以去图书馆借书和还书,图书管理员可以管理书籍也可以管理读者的信息,显然在读者、书籍、管理员之间存在着某种联系。那么在用UML设计类图的时候,就可以在读者、书籍、管理员三个类之间建立关联关系。
3、泛化(Generalization)
泛化是一种一般化——特殊化的关系,是一般事物(父类)和该事物较为特殊的种类(子类)之间的关系,子类继承父类的属性和操作,除此之外,子类还添加新的属性和操作。在图形上,把泛化关系画成带有空心箭头的实线,该实线指向父类。
4、实现(Realization)
实现是类之间的语义关系,其中的一个类指定了由另一个类必须执行的约定。在两种地方会遇到实现关系:一种是在接口和实现它们的类或构件之间;另一种是在用例和实现它们的协作之间。在图形上,把实现关系画成一条带有空心箭头的虚线,它是泛化和依赖关系两种图形的结合。

在这里插入图片描述

1、用例图
用例图是从用户角度描述系统功能,并指出各功能的操作者。用例图展示了一组用例、参与者以及它们之间的关系。如图所示。
在这里插入图片描述

2、类图
类图是UML面向对象中最常用的一种图,类图可以帮助我们更直观的了解一个系统的体系结构。通过关系和类表示的类图,可以图形化的描述一个系统的设计部分。如图所示
在这里插入图片描述

3、对象图
UML面向对象中对象图是类图的实例,几乎使用与类图完全相同的标识。它们的不同点在于对象图显示类的多个对象实例,而不是实例的类。一个对象图是类图的一个实例。由于对象存在生命周期,因此对象图只能在系统某一时间段存在。

4、状态图
描述一个实体基于事件反应的动态行为,显示了该实体如何根据当前所处的状态对不同的事件做出反应的。如图所示。
在这里插入图片描述

5、活动图
活动图由一些活动组成,图中同时包括了对这些活动的说明。当一个活动执行完毕之后,将沿着控制转移箭头转向下一个活动。活动图中还可以方便地描述控制转移的条件以及并行执行等要求。如图所示。
在这里插入图片描述

6、顺序图
顺序图由一组对象构成,每个对象分别带有一条竖线,称作对象的生命线,它代表时间轴,时间沿竖线向下延伸。如图所示。
在这里插入图片描述

7、协作图
协作图主要用于描绘对象之间消息的移动情况来反映具体的方案,显示对象及其交互关系的空间组织结构,而非交互的顺序。如图所示。
在这里插入图片描述

8、组件图
组件图,也称为构件图。组件图描述代码部件的物理结构及各部件之间的依赖关系,组件图有助于分析和理解部件之间的相互影响程度。如图所示。
在这里插入图片描述

9、部署图
部署图,也称为配置图。UML面向对象中配置图描述系统中硬件和软件的物理配置情况和系统体系结构。如图所示。
在这里插入图片描述


UML有自己的语法和语义规则,用于:

  • 命名: 为事物、关系和图起的名字
  • 范围: 使名字具有特定含义的语境
  • 可见性:这些名字如何让其他成分看见和使用
  • 完整性:事物如何正确、一致地相互联系
  • 执行: 运行或模拟动态模型的含义是什么

在UML中有4种贯穿整个语言且一致应用的公共机制,因此使得UML变得较为简单,这4种机制分别是:

  • 详述(规格说明)
  • 修饰
  • 通用划分
  • 扩展机制

规格说明
UML对每一个元素都有确定的图形表示符号,但对该图形符号还有语义、符号、类型等的文字说明。

修饰
图形符号表示一个元素的主要特征,此外,可以加上修饰,表示该元素的特征。

通用划分
① 抽象-实例
例如,类-对象,用例-具体用例
② 接口-实现
接口表示约定,实现表示对约定的实施

扩展机制
① 版型(构造型)
用来扩展UML的词汇,增加语言元素; 或者划分某一种元素的不同类型。
② 标记-值
标记-值用来规定模型元素的特性。通常把标记与值用等号相连,放在花括号中,放在模型元素后面。
③ 约束
约束规定所约束的模型元素的某个条件或命题必须为真,否则模型无效。约束也用{ }描述。

4.UML模型分类

1、用例视图
用例视图主要描述一个系统应该具备的功能,指的是从系统的外部参与者所能看到的系统功能。用例表示的是系统的一个功能单元,可以被描述为参与者与系统之间的一次交互作用。
用例模型的用途主要是列举出系统中的用例和参与者,并指出哪个参与者参与了哪个用例的执行。用例视图是其他4种视图的核心,它的内容直接驱动其他视图的开发。
2、逻辑视图
逻辑视图主要用于描述在用例视图中提出的系统功能的实现。逻辑视图主要关注系统的内部,它既描述系统的静态结构(系统中的类、对象以及他们之间的关系),也描述系统的动态协作关系。
逻辑视图的使用者主要是系统的设计人员和开发人员。
3、并发视图
并发视图主要是从资源的有效利用、代码的并行执行以及系统环境中异步事件的处理等方面的考虑。将系统划分为并发执行的控制。
并发视图的使用者是开发人员和系统集成人员。
4、组件视图
组件视图描述系统的实现模块以及它们之间的依赖关系。其中,组件指的是不同类型的代码模块,它是构造应用的软件单元。组件视图中也可以添加组件的其他附加信息,例如,资源分配或者其他管理信息。
组件视图主要由组件图构成。组件视图的使用者是开发人员。
5、部署视图
部署视图,也称之为配置视图。配置视图主要显示系统的物理部署,它描述位于节点上的运行实例的部署情况。配置视图主要由配置图表示,配置视图还允许评估分配结果和资源分配。
配置视图的使用者是开发人员、系统集成人员和测试人员。

5.UML2.0新特性

UML2.0解决了用户在使用UML1.x过程中所遇到的一些问题。
(1)用例图
在UML2.0中,为每个用例增加了一个称为“Subject”的特征,这项特征的取值可以作为在逻辑层面划分一组用例的一项依据。用例所属的“系统边界”就是“Subject”的一种典型例子。
(2)顺序图
对于顺序图,UML2.0主要做了3方面的改进。
①允许顺序图中明确的表达分支判断逻辑。
②允许“纵向”与“横向” 对顺序图进行拆分与引用。
③提供了一种新图,称为“交互纵览图” 。
(3)活动图
在UML2.0中,活动图增加了泳道、对象等特性。
(4)组件图
组件所提供的接口、所要求的接口、组件之间的依赖关系通过“组装连接器” 更加明确地表达等。
(5)新增加的图
增加了“包图”、“组合结构图”、“交互纵览图”和“计时图”。
在这里插入图片描述
UML 1.X中的图

在这里插入图片描述
UML 2中的图

在这里插入图片描述
UML1.X 与UML 2中不同图的对比


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部