UML
1.什么是统一建模语言
统一建模语言(UML,Unified Modeling Language)是非专利的第三代建模和规约语言。UML是一种开放的方法,用于说明、可视化、构建和编写一个正在开发的、面向对象的、软件密集系统的制品的开放方法。UML展现了一系列最佳工程实践,这些最佳实践在对大规模,复杂系统进行建模方面,特别是在软件架构层次已经被验证有效。
UML集成了Booch,OMT和面向对象软件工程的概念,将这些方法融合为单一的,通用的,并且可以广泛使用的建模语言。UML打算成为可以对并发和分布式系统的标准建模语言。
UML并不是一个工业标准,但在Object Management Group的主持和资助下,UML正在逐渐成为工业标准。OMG 之前曾经呼吁业界向其提供有关物件导向的理论及实现的方法,以便制作一个严谨的软体塑模语言(software modeling language)。有很多业界的领袖亦真诚地回应OMG,帮助她建立一个业界标准。
2.UML的模型
在UML系统开发中有三个主要的模型:
- 功能模型:从用户的角度展示系统的功能,包括用例图。
- 对象模型:采用对象,属性,操作,关联等概念展示系统的结构和基础,包括类图。
- 动态模型:展现系统的内部行为。包括序列图,活动图,状态图。
区分UML模型和UML图是非常重要的,UML图,包括用例图、协作图、活动图、序列图、部署图、构件图、类图、状态图,是模型中信息的图形表达方式,但是UML模型独立于UML图存在。XML的当前版本只提供了模型信息的交换,而没有提供图信息的交换。
UML使用一套与Java语言或其他面向对象语言等价物,同时也是本体论等价物的图形标记。
UML并不是一个方法学,也不要求使用一个方法学,但是UML对于Rational 统一过程来说是必不可少的。
3.UML图形
UML 2.0 中一共定义了13 种图示(diagrams)。为方便了解,可分类成右侧的结构。
结构性图形(Structure diagrams) 强调的是系统式的建模:
- 类别图 (Class Diagram)
- 元件图(Component diagram)
- 复合结构图(Composite structure diagram)
- 部署图(Deployment diagram)
- 物件图(Object diagram)
- 包图(Package diagram)
行为式图形(Behavior diagrams) 强调系统模型中触发的事件:
- 活动图(Activity diagram)
- 状态机图 (State Machine diagram)
- 使用个案图 (Use Case Diagram)
沟通性图形(Interaction diagrams), 属于行为图形的子集合,强调系统模型中的资料流程:
- 通信图(Communication diagram]]
- 交互概述图(Interaction overview diagram) (UML 2.0)
- 循序图(Sequence diagram)
- 时间图(UML Timing Diagram) (UML 2.0)
协定状态机是状态机的子变种。它用来塑造网路通讯协定模型。
UML 并不限定 UML 要素型别非得是某图形上的型别。一般来说,每个 UML 要素大约会出现在图的所有型别。这种弹性在 UML 2.0 部分被限定。
为了要保持工程图的传统,在您的 UML 图上加注用途、约束、或意图永远无伤大雅。
4.UML的相关概念
UML 从来源中使用相当多的概念. 我们将之定义于统一建模语言术语汇表。下面仅列代表性的概念.
- 对于结构而言
执行者,属性,类,元件,接口,对象,包。
- 对于行为而言
活动,事件,讯息,方法,操作,状态,用例。
- 对于关系而言
聚合,关联,组合,相依,广义化 (or 继承)。
- 其他概念
- 构造型 — 这规范符号应用到的模型
- 多重性 — 多重性标记法与资料库塑模基数对应,例如: 1, 0..1, 1..*
- 角色