统一建模语言(英语:Unified Modeling Language,缩写 UML)是非专利的第三代建模和规约语言。
是一种开放的方法,用于说明、可视化、构建和编写一个正在开发的、面向对象的、软件密集系统的制品的开放方法。
UML展现了一系列最佳工程实践,这些最佳实践在对大规模,复杂系统进行建模方面,特别是在软件架构层次已经被验证有效。
发展阶段:由葛来迪·布区,伊瓦尔·雅各布森与詹姆士·兰宝于1994年至1995年间,在Rational Software公司中开发,于1996年,又进一步发展。UML集成了Booch,OMT和面向对象程序设计的概念,将这些方法融合为单一的,通用的,并且可以广泛使用的建模语言。UML打算成为可以对并发和分布式系统的标准建模语言。UML并不是一个工业标准,但在Object Management Group的主持和资助下,UML正在逐渐成为工业标准。OMG之前曾经呼吁业界向其提供有关面向对象的理论及实现的方法,以便制作一个严谨的软件建模语言(Software Modeling Language)。有很多业界的领袖亦真诚地回应OMG,帮助它建立一个业界标准。
UML三个主要的模型:
功能模型:从用户的角度展示系统的功能,包括用例图。
对象模型:采用对象,属性,操作,关联等概念展示系统的结构和基础,包括类别图、对象图。
动态模型:展现系统的内部行为。包括序列图,活动图,状态图
区分UML模型和UML图:
UML图:包括用例图、协作图、活动图、序列图、部署图、构件图、类图、状态图,是模型中信息的图形表达方式,
UML模型独立于UML图存在。UML的当前版本只提供了模型信息的交换,而没有提供图信息的交换。
概念:
对于结构而言: 主要分为:执行者,属性,类,元件,接口,对象,包。 对于行为而言 主要分为:活动(UML),事件(UML),消息(UML),方法(UML),操作(UML),状态(UML),用例(UML)。 对于关系而言: 主要分为:聚合,关联,组合,相依,广义化(or 继承)。 其他概念 构造型—这规范符号应用到的模型 多重性—多重性标记法与资料库建模基数对应,例如:1, 0..1, 1..* 角色
类图:是软件工程的统一建模语言一种静态结构图,该图描述了系统的类集合,类的属性和类之间的关系。
类图例子
其中各个类之间主要的关系以及解释如下