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