UML的定义和组成详细介绍
1、UML
1.1概述
UML(Unified Modeling Language 统一建模语言) 是为软件系统的制品进行描述(specifying)、可视化(visualizing)、构造(constructing)、文档化(documenting) 的一种语言。
UML规范用来描述建模的概念有: 类、对象、关联、职责、行为、接口、用例、包、顺序、协作,以及状态。
1.2 UML是一种建模语言
建模方法 = 建模语言 + 建模过程。
建模语言定义了用于表示设计的符号(通常是图形符号);建模过程描述进行设计所需要遵循的步骤。- 标准建模语言UML是一种建模语言,而不是一种方法,它统一了面向对象建模的基本概念、术语及其图形符号,为人们建立了便于交流的共同语言。
- 建模能力:
建模方法 + 领域知识 + 实践
1.3 UML语言包含三方面
- UML基本图素:它是构成UML模型图的基本元素。例如类、对象、包、接口、组件等。
- UML模型图:它由UML基本图素按照UML建模规则构成。例如用例图、类图、对象图、…等。
- UML建模规则:UML模型图必须按特定的规则有机地组合而成,从而构成一个有机的、完整的UML模型图(well-formed UML diagram)。
2、UML支持软件体系结构建模
为了表达不同的软件开发相关人员在软件开发周期的不同时期看待软件产品的不同侧重面, 需要对模型进行分层。
UML根据软件产品的体系结构(architecture)对软件进行分层。
软件的体系结构分解为五个不同的侧面,称为4+1视图(view)。分别是:
- 用例视图(Use case view,Scenarios)—场景视角
- 逻辑视图(Logical view) — 逻辑视角
- 进程(过程)视图(Process view) — 过程视角
- 实现(开发)视图(Implementation view) —开发视角
- 部署(物理、配置)视图(Deployment view) —物理视角
- 每个视图分别关注软件开发的某一侧面
- 视图由一种或多种模型图(diagram)构成
- 模型图描述了构成相应视图的基本模型元素(element)及它们之间的相互关系。
2.1 逻辑视图
逻辑视图定义系统的实现逻辑, 描述为实现用例图描述的功能,在对软件系统进行设计时, 所产生的设计概念,设计概念又称为软件系统的设计词汇 (vocabulary)。
逻辑视图定义了:
- 设计词汇的逻辑结构
- 存在于它们之间的语义联系
- 设计词汇包括系统的类/协同/接口及其关系
对逻辑视图的描述在原则上与软件系统的实现平台无关。 它相当于电子产品生产中的电原理图。逻辑视图包含的模型图有:
- 类图(class diagrams)
- 对象图(object diagrams)
- 交互图(interaction diagrams)
- 状态图(state-chart diagrams)
- 活动图(activity diagrams)
2.2 实现(开发)视图
实现视图描述组成一个软件系统的各个物理部件,这些部件以各种方式组合起来,(如: 不同的源代码经过编译,构成一个可执行系统; 或者不同的软件组件配置成为一个可执行系统;以及不同的网页文件,以特定的目录结构,组成一个网站,等等) 构成了一个可实际运行的系统。
当系统的逻辑结构在逻辑视图里被定义之后, 需要定义逻辑结构的物理实现。这包括:
- 设计元素对应的源代码文件
- 各物理文件之间的关系、存放路径,等等
实现视图就是定义这些内容的地方,它当于电子产品的印刷电路板的布线图。
实现视图包含的模型图有:
- 部件图(Component diagram)
- 交互图(Interaction Diagram)
- 状态图(state-chart diagram)
- 活动图(activity diagram)