什么是UML(Unified Modeling Language)
-
统一建模语言(UML) 是描述、构造和文档化系统制品的可视化语言。
The Unified Modeling Language is a visual language for specifying,constructing and documenting the artifacts of systems -
UML是一个符号体系,帮助人们使用面向对象的概念为系统建模。
It is a notational system aimed at modeling systems using OO concepts -
UML不是一种方法, 也不是一种过程。
UML的三种应用
-
作为草图(sketch)
非正式的 不完整的图
敏捷建模(agile modeling) 强调了UML作为草图的方式,这也是使用UML的普通方式 -
作为蓝图(blueprint)
- 逆向工程以UML图的方式对现有代码进行可视化。
- 代码生成(前向工程)
-
作为编程语言(programming language)
- 用UML完成软件系统可执行规格说明。
- 可执行代码能够被自动生成,但并不像通常一样为开发者所见或修改;人们仅使用UML“编程语言”进行工作。
- 如此应用UML需要有将所有行为或逻辑进行图形化表示的实用方法(很可能
使用交互图或状态图) - 但是目前在理论、工具的健壮性和可用性方面仍然处于发展阶段。
UML图的定义
类的术语
-
概念类(conceptual class):现实世界中的概念或事物。
-
软件类(software class):无论在过程还是方法中,都表示软件构件在规格说明
或实现透视图中的类。 -
实现类(implementation class):特定OO语言(如Java)中的类
可视化建模的优点:图可以帮助我们更为便利地观察全景,发现软件元素或分析之间的联系,同时允许我们忽略或隐藏旁枝末节。
UML中的几种关系
- 泛化(Generalization):带三角箭头的实线,箭头指向父类
- 实现(Realization):带三角箭头的虚线,箭头指向接口
- 关联(Association) :带普通箭头的实线,指向被拥有者
- 依赖 (Dependency) :带箭头的虚线,指向被使用者
- 聚合(Aggregation):带空心菱形的实线,菱形指向整体
- 组合 (Composition) :带实心菱形的实线,菱形指向整体