统一建模语言(Unified Modeling Language, UML)是面向对象系统开发领域中的工具之一
UML 是一种可视化的建模语言,它能让系统构造者用标准的、易于理解的方式建立起能够表达出他们想象力的系统蓝图,并且提供一种机制,以便于不同的人之间有效地共享和交流设计结果
一些术语
- 系统(system):硬件和软件的结合体,它能提供业务问题的解决方案
- 系统开发(system development):为客户建立一个系统的过程,而客户是需要解决问题的人
- 客户(client):需要解决问题的人
- 系统分析员(analyst):讲客户所要解决的问题编织成文档,并讲该文档转交给开发人员
- 开发人员(developer):为了解决客户的问题而构造软件并在计算机硬件上实施该软件的程序员
UML 的组成
- 类图
- 对象图
- 用例图(use case):从用户的观点对系统行为的一个描述,它是用来从用户的观察角度收集系统需求的一项屡试不爽的技术
- 状态图:在任意给的时刻,一个对象总是处于某一特定的状态
- 顺序图:在一个运行的系统中,对象之间要发生交互,并且交互要经历一定的时间,顺序图表达的正是基于时间的动态交互
- 活动图
- 协作图(communication diagram)
- 构件图
- 部署图:显示了基于计算机系统的物理体系结构。它可以描述计算机,展示它们之间的连接 ,以及驻留在每台机器中的软件
顺序图和协作图都能够标识对象之间的交互,因此它们被合称为交互图(interaction diagram)
构件图和部署图和整个计算机系统密切相关
其他特征
- 注释(note)
- 关键字和构造型:构造型(stereotype)可以在现有的 UML 元素的基础上创建新的元素
UML 2.0 中的新图
- 组成结构图(composite structure diagram):把每一个构建类放入到一个整体中,从类结构的内部来审视这个类
- 交互纵览图(interaction overview diagram)
- 计时图(timing diagram):设计用来标识对象处于某一个状态中的持续时间
- 包图:组织一个图的元素的能力,把共同工作的元素放到一个包中,如果多个类或者构建组成了一个特殊的子系统,它们应该放入到一个包中
UML 系统的静态视图:类、对象、构建和部署
UML 系统的动态视图:用例、状态、顺序、活动和协作
建模、学习和知识
- 你不知道你所缺乏的知识。也许,这一条的更好的说法是,你不熟悉某一个特定的领域。
- 你直到你所缺乏的知识。换句话说,你对于这个领域的方方面面有了一些了解,并开始查找你的知识缺陷。
- 填补你的知识缺陷。
UML 是快速把你带入第 2 阶段的途径,帮助你认识到自己所缺乏的知识,并开始寻找相关的信息。
注1:本笔记出自《UML 基础、案例与应用》一书的 第一章 UML 简介