UML

UML

统一建模语言(英语:Unified Modeling Language,缩写 UML)是非专利的第三代建模和规约语言。UML 是一种为面向对象开发系统的产品进行说明、可视化、和编制文档的标准语言;UML 作为一种模型语言,它使开发人员专注于建立产品的模型和结构,而不是选用什么程序语言和算法实现;UML 是不同于其他常见的编程语言,如 C++,Java 中,COBOL 等,它是一种绘画语言,用来做软件蓝图;UML 不是一种编程语言,但工具可用于生成各种语言的代码中使用 UML 图。

图表

UML 的核心是图表,大致可以将这些图归类为结构图和行为图。

  • 结构图是由静态图,如类图,对象图等静态图;

  • 行为图是由像序列图,协作图等动态图;

一个系统的静态和动态特性是通过使用这些图的可视化。

结构图

  • 类图:类图是使用面向对象的社会最流行的 UML 图。它描述了在一个系统中的对象和他们的关系,能够让我们在正确编写代码以前对系统有一个全面的认识。一个单独的类图描述系统的一个具体方面,收集类图表示整个系统。基本上,类图表示系统的静态视图。类图是唯一可以直接映射到面向对象的语言 UML 图。因此,它被广泛应用于开发者社区。

  • 对象图:对象图是类图的一个实例。因此,一类图的基本要素是类似的。对象图是由对象和链接。在一个特定的时刻,它捕获该系统的实例。对象图用于原型设计,逆向工程和实际场景建模。

  • 用例图:用例图是从用户角度描述系统功能,并指出各功能的操作者,用来捕捉系统的动态性质。一个高层次的设计用例图是用来捕捉系统的要求,因此它代表系统的功能和流向。虽然用例图的正向和反向工程是不是一个很好的选择,但他们仍然在一个稍微不同的方法来模拟它。

行为图

  • 交互图:交互图,用于捕获系统的动态性质。交互图包括时序图和协作图,其中:序列图显示对象之间的动态合作关系,它强调对象之间消息发送的顺序,同时显示对象之间的交互;协作图描述对象间的协作关系,协作图跟时序图相似,显示对象间的动态合作关系。

  • 状态图:状态图是一个用于模拟系统的动态性质的五个图。这些图用来模拟一个对象的整个生命周期。一个对象的状态被定义为对象所在的条件下,特定的时间和对象移动对其他状态,在某些事件发生时。状态图还用于正向和反向工程。状态图着重描述从一个状态到另一个状态的流程,主要有外部事件的参与。

  • 活动图:活动图描述满足用例要求所要进行的活动以及活动间的约束关系,有利于识别并行活动。活动图是一种特殊的状态图,它对于系统的功能建模特别重要,强调对象间的控制流程。