UML入门基础

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/whc888666/article/details/82845116

何为UML?

UML:(Unified Modeling Language)又称统一建模语言或标准建模语言,是用来设计软件蓝图的可视化建模语言;它支持面向对象系统的分析、设计、实现和交付等各个环节,可以用于系统的理解、设计、浏览、维护和信息控制;在著名的Booch方法、OMT方法、OOSE方法的基础上,广泛民主的发展而成;与1997年11月被OMG组织正式采纳。

UML不是一个程序设计语言,也不是一个形式化的设计化语言。UML是一种可视化的面向对象建模语言。UML描述了一个系统的静态结构和动态行为。UML用图形方式表现典型的面向对象系统的整个结构。UML从不同的角度为系统建模,并形成系统的不同视图,这些图包括:类图(它以继承结构、关联、组成和聚集为特色)、时序图、协作图和状态图等。

在这里插入图片描述

面向对象技术

面向对象技术出现与20世纪70年代末,是软件工程领域中的重要技术,是一种程序设计方法,值一种现实世界中问题的抽象方式,对面向对象建模技术的研究的主要成果就是统一建模语言UML。

在这里插入图片描述

UML的基本构造块

●UML中的事物

●UML中的关系

●UML中的图

UML中的公共机制

●规格说明

UML不只是一种图形语言,实际上,在它的图形表示法的每部分背后都有一个规格说明,这个规格说明,提供了对构造块的语法和语义的文字叙述。

UML的图形表示法用来对系统进行可视化。

UML的规格说明用来描述系统的细节。

UML的规格说明提供了一个语义底版,它包含了一个系统的个模型的所有部分,并且各个部分相互联系,并保持一直,因此,UML图只不过是对底版的简单视觉投影,每一个图展现了系统的一个特定的方面。

●修饰

UML表示法中的每一个元素都有一个基本符号,可以把各种修饰细节加到这个符号上。

●通用划分

①类/对象二分法(class/object dichotomy)

类是一个抽象,对象是这种抽象的一个具体形式。

UML的每一个构造块几乎都是存在像类/对象这样的二分法。如:用例和用例实例(场景),构件和构件实例,节点和节点实例等。

②接口/实现二分法(interface/realization dichotomy)

接口声明了一个契约,而实现则表示了对该契约的具体实施,它负责如实的实现完整语义。

几乎每一个UML的构造块都有像接口/实现这样的二分法。

例如:用例和实现他们的协作,操作和实现他们的方法。

●扩展机制:

对UML图示符号的扩展。包括:-构造型Stereotype -标注值Tagged Value -约束Constraint

在这里插入图片描述

UML的基本构造块

1)事物(Things):构成模型图的一些基本图示符号,它们表示一些面向对象的基本概念。下图是UML中的事物:

在这里插入图片描述

①结构事物

a类(class):是对一组具有相同属性、方法、关系和语义的对象的描述。一个类实现一个或多个接口。

在这里插入图片描述

b接口(interface):接口描述了一个类或构件的一个服务的操作集。接口仅仅是定义了一组操作的规范,它并没有给出这个组的具体实现。

在这里插入图片描述

c协作(collaboration):协作定义了一个交互,它是有一组共同工作以提供某协作的角色和其他元素构成的群体,这些协作行为大于所有元素的各自行为的总和。因此,协作有结构、行为和维度。一个给定的类可以参与几个协作。

在这里插入图片描述

d用例(use case):用例是对一组动作序列的描述,系统执行这些动作将产生一个特定的参与者(actor)有价值且可观察的结果。

在这里插入图片描述

e主动类(active class):是这样的类,其对象至少拥有一个进程或线程,因此它能启动控制活动。

在这里插入图片描述

f构件(component):构件是系统中物理的、可替代的部件,它遵循且提供一组接口的实现。

在这里插入图片描述

g节点(node):节点是在运行时存在的物理元素,它表示了一种可计算的资源,它通常至少有一些记忆能力处理能力。一个构件可以驻留在一个节点内,也可以从一个节点迁移到另一个节点。

在这里插入图片描述

②行为事物

行为事物是UML建模的动态部分。他们是建模中的动词,描述了跨越时间和空间的行为。共有两类主要的行为事物。

a交互(interaction):交互这样一种行为,它由在特定语境中共同完成一定特定任务的一组对象之间交换的消息组成。一个对象群体的行为或单个操作的行为可用一个交互来描述。

Interaction涉及一些其他元素,包括信息、动作序列(由一个消息所引起的行为)、Links(对象间的连接)

在这里插入图片描述

b状态机(state machine):状态机时这样一种行为,描述了一个对象或一个交互在生命期内响应事件所经历的状态序列。单个类或一组类之间协作的行为可以用状态机来描述。一个状态机涉及到一些其他元素,包括状态转换(从一个状态到另一个状态的流)事件(发转换的事物)和活动(对一个转换的响应)。

在这里插入图片描述

③分组事物

分组事物是UML模型的组织部分,最主要的分组事物是包(package),包是把元素组织成组的机制。

在这里插入图片描述

●包是UML中唯一的组织机制。

●包可以拥有其他元素,这些元素可以是类、接口、构件、节点、协作、用例和图,甚至可以是其他包。

●一个包形成了一个命名空间。在一个包中同一种元素的名称必须是唯一的。不同种类的元素可以有相同的名称。

④注释事物

注释事物是UML模型的解释部分。这些注释事物用来描述、说明和标注模型的任何元素。有一种主要的注释事物,称为注释(note)

注释(note)是一个依附于一个元素或一组元素之上,对它进行约束或解释的简单符号。

在这里插入图片描述

2)关系(Relationships):表示基本图示符号之间的关系。

①Association(关联):描述了两个或多个类之间的结构性关系。

在这里插入图片描述

②泛化:是一种特殊/一般关系,特殊元素(子元素)的对象可替代一般元素(父元素)的对象。用这种方法,子元素共享了父元素的结构和行为。

在这里插入图片描述

③依赖

在这里插入图片描述

④实现:是类元之间的语义关系,在该关系中一个类元描述了另一个类元保证实现的契约。

在这里插入图片描述

3)图(Diagrams):特定的视角对系统所做的抽象描述。

UML包括9种图:

在这里插入图片描述

①用例图

用例图(use case diagrams):用来描述用户的需求,从用户的角度描述系统的功能,并指出各功能的执行者,强调谁在使用系统,系统为执行者完成哪些功能。

②静态图

a类图(class diagrams):用于定义系统中的类,包括描述类的内部结构和类之间的关系。类图主要用于描述系统的静态结构。

b对象图(object diagrams):对象图是类图的一个实例,描述了系统在具体时间点上所包含的对象以及各个对象之间的关系。

③行为图

用来描述对象之间的交互关系,包括:

a序列图(sequence diagram):描述对象之间的交互顺序,着重体现对象间消息传递的时间顺序,强调对象之间消息的发送顺序,同时也是显示对象之间的交互过程。

b协作图(collaboration diagram):描述上对象之间的合作关系,更侧重于说明哪些对象之间有消息传递。

c序列图和协作图可以相互转化。

④实现图

a构件图(component diagram):构件图用来描述代码构件的物理结构以及各构件之间的依赖关系。一个构件可以使一个资源文件、一个二进制文件或一个可执行文件。

b实施图(deployment diagram):部署图定义了系统中硬件的物理体系结构,用来描述实际的物理设备以及他们之间的连接关系。

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

猜你喜欢

转载自blog.csdn.net/whc888666/article/details/82845116