【UML建模】(1) UML建模的初了解,概述,组成,作用

简介: UML (Unified Modeling Language)是一种通用的可视化的建模语言,可以用来描述、可视化、构造和文档化软件密集型系统的各种工件。它不是一种程序设计语言。UML 是独立于过程的,它可以在软件生命周期的各个阶段运用,不过主要应用于软件开发的设计与分析阶段。

UML的介绍

UML (Unified Modeling Language)是一种通用的可视化的建模语言,可以用来描述、可视化、构造和文档化软件密集型系统的各种工件。它不是一种程序设计语言。

UML 是独立于过程的,它可以在软件生命周期的各个阶段运用,不过主要应用于软件开发的设计与分析阶段。

模型

什么是模型呢?模型就是对现实的简化。比如:我们在设计一款新汽车时首先需要设计该汽车的模型,只有模型设计好之后才会开始汽车的生产开发。

建模的作用

1.模型有助于按照实际情况或按照所需要的样式对系统进行可视化。

2.支持独立于编程语言和开发过程的规范。

3.模型给出了指导构造系统的模板。

4.模型对做出的决策进行文档化。

UML的组成

UML由构造块,规则和公共机制这三部分组成。

1.构造块:UML组成中构造块是对模型中最具有代表性的成分的抽象

2.规则:UML有一套规则,这些规则描述了一个结构良好的模型看起来应该像什么

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

构造块

构造块由事物,关系,模型图三个部分组成。

事物:UML模型中最基本的组成元素,可以把事物理解成汉语中的单词和词语

关系:关系是把事物紧密联系在一起,可以把关系理解成汉语中的语法

模型图:模型图是事物和关系的可视化展示,可以把模型图理解成汉语中的文章。

构造块之事物

事物分为结构事物,行为事物,分组事物,注解事物四种。

结构事物:指的是模型中的静态部分,用于呈现概念或者实体的表现元素。

行为事物:指模型里随着时空不断变化的部分。

分组事物:可以把分组事物看成一个"盒子",模型可以在其中被分解。

注解事物:UML模型的解释部分

下面就分别对这几种事物进行介绍

结构事物

结构事物下有类,用例,接口,协作,活动类,组件,节点

1.类:类是指具有相同属性、方法、关系和语义的对象的集合;

2.用例:定义了执行者(在系统外部和系统交互的人)和被考虑的系统之间的交互来实现的一个业务目标;

3.接口:定义行为规范,描述了类或组件对外可见的动作;

4.协作:合作完成某个特定任务的一组类及其关联的集合

5.活动类:活动类的对象有一个或多个进程或线程。活动类和类很相象

6/组件:组件是物理的、可替换的部分,包含接口的集合

7.节点:系统在运行时存在的物理元素,代表一个可计算的资源

行为事物

行为事物分为交互,状态机两种

交互:由一组对象之间在特定上下文中,为达到特定的目的而进行的一系列消息交换而组成的动作;交互就是指时序图中的消息。

状态机:状态机由一系列对象的状态组成。

分组事物

分组事物只有一个就是包

包:结构事物、动作事物甚至分组事物都有可能放在一个包中

构造块之四种基本关系

在UML中的关系有四种基本关系,分别是

1.泛化关系:就是继承关系,子类和父类的关系,比如鸟与动物的关系就是泛化关系,实线的三角箭头从子类指向父类。

2.实现关系:实现关系是实现类与接口之间的关系,比如大雁实现了飞翔的功能。他是虚线的三角箭头从实现类指向接口。如下图所示:

3.关联关系:一组对象之间连接的结构关系,如下图老师,学生与课程之间的关系。

老师和学生之间是双向关联关系,老师有多个学生,学生也可能有多名老师。但是学生与某个课程间的关系是单向关联关系,一个学生可能要上多门课程,但是课程是个抽象的东西它不拥有学生。

4.依赖关系:一个类的实现必须依赖于其他类的协助,比如人依赖空气。

这四种关系的强弱顺序是:泛化=实现>关联>依赖

构造块之模型图

UML模型图图表共有十三种,本文将对其中比较常用的图表进行详细介绍。首先让我们来看看这些图表的介绍以及作用。

UML建模的图表按照种类可以分为结构型图表和行为型图表。

结构型图表:从不同的抽象和实现程度上描述了一个系统和系统构建的静态结构,并且描述他们是如何直接关联到一起的。

该类型的图表包括:

类图(Class Diagram),

对象图(Object Diagram),

包图(Package Diagram),


组件图(Component Diagram),

部署图(Deployment Diagram),

复合结构图(Composite Structure)
行为型图表:展示系统中的对象的动态行为,它描述了一个系统中的对象如何随时间变化而变化。

该类型的图表包括:

用例图(Use Case Diagram),

活动图(Activity Diagrams),

状态图(State Machine Diagram),

时序图(Sequence Diagram),

通信图(Communication Diagram)

交互概览图(Interaction Overview Diagram):

  1. 定时图(Timing Diagram):

规则

命名:为事物、关系和图起名。

范围:给一个名称以特定含义的语境

可见性:怎样让其他人使用或者看见名称

完整性:事物如何正确、一致地相互联系

执行:运行或模拟动态模型的含义是什么

公共机制

公共机制分为:规则说明,修饰,通用划分,扩展机制

规则说明

规格说明提供了对构造块的语法和语义的文字描述

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

UML的规格说明提供了一个语义底版,它包含了一个系统的各个模型的所有部分,并且各部分相互联系,并保持一致。
总而言之,规格说明就是UML图的产品说明书

修饰

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

通用划分

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

接口/实现二分法(interface/realization dichotomy)接口声明了一个契约,而实现则表示了对该契约的具体实施,它负责如实地实现接口的完整语义。几乎每一个UML的构造块都有像接口/实现这样的二分法。例如:用例和实现它们的协作,操作和实现他们的方法。如下图所示:

扩展机制

对UML图示符号的扩展。包含:构造型Stereotype-标注值Taggedvalue-约束Constraint。如下图所示:

UML的应用范围

如上图展示了UML在软件生命周期中的应用范围。

在需求分析阶段可以通过用例图来描述系统的使用者,以及系统有哪些功能

在分析与设计阶段经常需要使用到类图、包图、组件图几种静态视图,以及所有动态视图。静态视图用来描述系统的设计类,动态视图用来确定任一时刻某一对象或者实体需要执行的操作,或者应该处于的状态。

在开发阶段根据UML图表来编写代码,

在测试阶段根据UML图表来设计测试用例,使用活动图来辅助测试

在部署阶段根据部署图来部署项目。

参考

UML官网

相关文章
|
6月前
|
机器学习/深度学习 人工智能 测试技术
【软件设计师备考 专题 】软件工程的未来:面向构件和统一建模语言(UML)
【软件设计师备考 专题 】软件工程的未来:面向构件和统一建模语言(UML)
138 0
|
2月前
|
测试技术 uml
『软件工程13』浅谈面向对象方法,统一建模语言UML
该文章介绍了面向对象方法的基本概念及其在软件工程中的应用,并详细探讨了统一建模语言(UML)的各种图示及其在系统设计中的作用。
『软件工程13』浅谈面向对象方法,统一建模语言UML
|
测试技术 数据库 uml
【软件工程与UML】第2章 用例图、用例文档、活动图 -- 系统的功能需求建模
【软件工程与UML】第2章 用例图、用例文档、活动图 -- 系统的功能需求建模
661 0
【软件工程与UML】第2章 用例图、用例文档、活动图 -- 系统的功能需求建模
|
6月前
|
测试技术 uml
UML面向对象建模题库
UML面向对象建模题库
87 0
|
文件存储 uml
【UML建模】(8) UML建模之组件图
组件图是用来描述组件与组件之间关系的一种UML图,组件图在宏观层面上显示了构成系统某一特定方面的实现结构。它是一种结构型图表。
886 0
【UML建模】(8) UML建模之组件图
|
网络协议 uml
【UML建模】(7) UML建模之部署图
部署图是运行时进行处理的节点以及在节点上存在制品的配置的图。它阐述了在实际应用中软件和它的运行环境的关系,并且描述了软件部署在硬件上的具体方法。
675 0
【UML建模】(7) UML建模之部署图
|
测试技术 uml
【UML建模】(6) UML建模之状态机图
状态机图展示了一个对象如何根据当前状态对不同事件做出反应的动态行为。状态机图是一种行为图。
994 0
【UML建模】(6) UML建模之状态机图
|
测试技术 uml
【UML建模】(5) UML建模之活动图
活动图可以看成是面向对象版的流程图,它是一种行为型模型图,主要用于表达系统某个功能的流程。
403 0
【UML建模】(5) UML建模之活动图
|
数据建模 Java 项目管理
【UML建模】(X) UML建模之Enterprise Architect 15的使用
Enterprise Architect (后面简称EA)是一款优秀的UML建模软件。它兼容UML2.0中的所有图表。EA不同于普通的UML画图工具(如VISIO),它将支撑系统开发的全过程。在需求分析阶段,系统分析与设计阶段,系统开发与部署等方面有着强大的支持,同时加上对10种编程语言的正反向工程,项目管理,文档生成,数据建模等方面。
364 0
【UML建模】(X) UML建模之Enterprise Architect 15的使用
|
测试技术 uml
【UML建模】(4) UML建模之时序图
时序图是按照时间顺序显示对象交互的图。它显示了参与交互的对象和所交互信息的先后顺序,用来表示用例图中的行为,用例图是一种交互图
335 0
【UML建模】(4) UML建模之时序图