Skip to content

Latest commit

 

History

History
130 lines (81 loc) · 6.46 KB

Chapter_01.md

File metadata and controls

130 lines (81 loc) · 6.46 KB

第01章 UML简介

一、UML简介

UML 是统一标准建模语言。

二、UML的功能

1. 为软件系统的产物建立可视化模型。

优点:

序号 优点
1 便于交流,有良好的语义,不会引起歧义。
2 便于表达,提供图形化可视模型,使系统结构变得直观,易于理解。
3 利于维护,系统结构可加入版本控制,方便的查看,修改。

2. 规约软件系统产物

规约,即规范定义,意味建立的模型是准确的,无歧义的,完整的。 UML 地定了再软件开发过程中所做的所有重要分析,设计,和决策的规格说明。

3. 构造软件系统产物

UML不是可视化的编程语言,但它的模型可以直接对应各种各样的编程语言,也就是说,可以从 UML 模型生成Java、 C++、 Visual Basic 等语言的代码,甚至还可以生成关系数据库中的表。

概念 释义
前向工程 从UML模型生成编程语言代码的过程
逆向工程 从代码实现生成UML模型的过程

PS: 目前大多数 CASE工具. 如 Rational Rose、 Visual Paradigm for UML、 Prosa 等, 都既支持前向工程又支持逆向工程。

4. 为软件系统的产物建立文档

在软件的开发过程中为软件系统建立清晰、 完整、 准确的文档是非常重要的。 UML 可以为系统的体系结构以及其所有细节建立文档。 UML还可以为需求、 测试、 项目规划活动和软件发布管理活动进行建模。

软件系统的产物包括以下元素(但不限于这些元素):

  • 需求
  • 体系结构
  • 设计
  • 源代码
  • 项目计划
  • 测试
  • 原型
  • 发布

三、 UML的组成

UML 词汇表包括三种构造模块, 即元素、 关系和图。 元素是模型中的重要抽象,关系将这些元素连接起来, 而图则将这些元素的集合进行分组。

1.元素

UML 中的元素, 可分为结构元素、行为元素、分组元素和注释元素四种

元素类型 简介 常见类型
结构元素 结构元素是 UML 模型中的名词,也是模型中主要的静态部分, 代表了模型中概念的或物理的元素。 类(Class)、 接口(Interface)、 协作(Collaboration)、 用例(Use Case)、 活动类(Activity Class)、 组件(Component)、 节点(Node)
行为元素 行为元素是 UML 模型中的动词, 也是模型中中的动态部分, 代表了跨越时间和空间的行为。 交互作用、 状态机
分组元素 分组元素是 UML 模型中用来组织元素的元素。 包(Package)
注释元素 注释元素是 UML 模型中的解释性部分, 可以用于描述、 例解、 注解 UML 模型中的任何元素 注解(Note)

交互作用与状态机:

类别 详解
交互作用 一种行为, 由特定的上下文中为完成特定的目的而在对象间交换的消息及组成。 交互作用包括许多其他元素, 如*消息、 动作序列(由消息激活的行为)、 连接(对象间的连接)*等。
状态机: 一种行为,这种行为规定了对象在其生命周期内为响应时间而经历的状态序列, 以及对事件的响应。 状态机也包括许多其他元素, 如状态、 跃迁、事件和活动等。

2. 关系

在 UML 模型中,主要有4种关系:

  • 依赖关系(Dependency)
  • 关联关系(Association)
  • 类属关系(Generalization)
  • 实现关系(Realization)

3. 图

UML1.x 定义了9种图, UML2.0 又补充了4种图, 总共定义了13种图。

这13种图可以分为两类:

类型 作用 包括
结构建模图 描述了系统的静态结构 类图、 对象图、 组件图、 组合图、 包图、 部署图
行为建模图 描述了系统的行为 用例图、 活动图、 状态机图、 顺序图、 通信图、 定时图、 交互概览图

结构建模图

定义了模型的静态结构, 一般用来构成模型的类、 对象、 接口、 物理组件以及元素之间的关系进行建模。

序号 名称 简介
01 类图 (Class Diagram) 描述系统中各个类的静态结构, 不仅定义了系统系统中的类, 表示了类之间的联系, 还描述了类的内部结构, 在系统的整个生命周期都是有效的。
02 对象图 (Object Diagram) 对象图是类图的实例, 使用与类图类似的标识。 一个对象图是一个类图的实例, 对象图只在系统整个生命周期的某一个时间段存在。
03 组件图 (Component Diagram) 描述代码组件的物理结构以及各个组件之间的依赖关系。
04 组合结构图 (Composite Structure Diagram) 描述了分类器的的内部结构, 它包括分类器与系统其他部分的交互作用。
05 包图 (Package Diagram) 描述了包与包之间的关系。
06 部署图 (Deployment Diagram) 定义了系统中软硬件的物理体系结构。

行为建模图

描述了系统的动态结构, 系统对象间的交互关系以及对象的瞬时状态。

序号 名称 简介
07 用例图 (Use Case Diagram) 从用户角度描述系统功能, 并指出各个功能的操作者。
08 活动图 (Activity Diagram) 描述了为满足用例要求进行的各类活动以及活动间的约束关系。
09 状态机图 (State Machine Diagram) 描述了类的对象所有可能状态,以及事件发生时的跃迁条件。
10 顺序图 (Sequence Diagram) 描述了对象之间的动态合作关系, 它强调对象之间消息发送的时间顺序, 同时显示对象之间的交互。
11 通信图 (Communication Diagram) 描述了类的实例, 实例间的相互关系, 以及实例间的消息流。
12 定时图 (Timing Diagram) 描述一个或多个对象在给定时间段的行为。
13 交互概览图 (Interaction Overview Diagram) 活动图和顺序图的混合,描述了系统或商业过程中的控制流。