UML(Unified Modeling Language),即统一建模语言,专门用来进行软件系统设计以及架构建模的一种形式化的语言。它主要通过各种图示记录了对象、行为、属性、合作关系和关联来展示软件系统以及系统的架构。UML中定义了13种图示:、
<1>活动图:活动图可以是概念上的,也可以是功能上的。这种图模型化了一个复杂的用例或者应用逻辑。
<2>类图:类图列出了软件系统中的类,并且为每一个类详细注明了行为、属性和关系。
<3>通信图:通信图描述了软件系统的动态部分,它记录了类在合作完成一项任务时所传递的消息(也就是通信)。
<4>组件图:组件图描述了子系统或者组件之间的关系,它提供了一个对软件系统的总览。
<5>复合结构图: 复合结构图展示了一个分类器的内部架构。这个图由很多元素组成,例如部件、合作关系、还有端口。部件表示了分类器的组成。合作关系定义了贯穿部件以及分类器周围的行为。而端口则表示了一个部件所暴露出来的依赖,或是从外部环境引入的依赖。
<6>部署图:部署图展示了要部署一个软件系统所必须的硬件配置,包括对硬件架构和软件系统之间的关系定义。
<7>交互概述图:由活动图所衍生出来的,但是它显示了来自不同交互流的概览。在活动图里,交互概述图通常都是用节点来表示的。
<8>对象图:对象图描述了软件系统在某个特定时刻,对象实例之间的关系。你还可以显示每个实例的状态快照。
<9>包图:包图通过将相关的分类器组织在一起展示了一个对软件系统的总览。任何组别之间的关系和依赖都会在这个图里描述出来。
<10>序列图:序列图是一个动态的图示,它展示了软件系统或者其子系统里消息的逻辑流。这可能是最重要也是最常用的图示之一。
<11>状态机图:状态机图是一个动态的图示,它描述了状态和行为的汇集。这个图示根据在某一时刻特定对象实例的状态展示了软件系统的行为。
<12>时间图:又叫时序图,描绘了时间线上一个或多个对象实例的行为和状态变化的结果。
<13>用例图:展示了参与者和用例之间的关系。