UML 2.5版本与UML分类概述
转 http://www.umlstudy.com/uml-25-diagrams.html
UML简述
UML图是设计、实现或已经存在的系统模型的部分图形表示(视图)。UML图包含图形元素(符号)——与边缘连接的UML节点(也称为路径或流)——它们表示设计系统的UML模型中的元素。该系统的UML模型可能还包含其他文档,例如作为模板文本编写的用例。
UML规范并不排除混合不同类型的图表,例如,将结构和行为元素结合起来以显示嵌套在用例中的状态机。因此,各种图表之间的界限并不严格执行。同时,一些UML工具会限制可用图形元素的集合,这些图形元素可用于处理特定类型的图表。
UML 2.5图的分类
UML规范定义了两种主要的UML图: 结构图和行为图。
结构图:显示了系统及其各个部分在不同抽象层和实现层上的静态结构以及它们如何相互关联。结构图中的元素表示系统的有意义的概念,可能包括抽象的,真实的世界和实现概念。
行为图:显示了系统中对象的动态行为,可以将其描述为随着时间的推移对系统进行的一系列更改。
UML 2.5图可以按照如下所示进行分层次分类。请注意,以蓝色显示的项目不是官方UML 2.5分类图的一部分。
UML 2.5图表概述。
请注意,蓝色的项目不是UML 2.5图表的官方分类标准的一部分。
UML 2.5结构图
结构图并没有利用时间相关的概念,也没有显示动态行为的细节。但是,它们可能会显示与结构图中展示的分类器行为的关系。
图 | 用途 | 关键概念 |
---|---|---|
类图 | 类图(Class diagram):将设计系统,子系统或组件的结构显示为相关类和接口,以及它们的特征,约束和关系 – 关联,泛化,依赖关系等。 | 类(Class),
接口(interface), 特性(feature), 约束(constraint), 关联(association), 泛化(generalization), 依赖(dependency) |
对象图 | 对象图(Object diagram):实例级的类图,它显示了类和接口(对象)的实例、有属性与值含义和关联关系(关联的实例)对象图在现在已经过时的UML 1.4.2规范中定义为“实例的图形,包括对象和数据值。静态对象图是类图的一个实例;它显示了一个系统在某个时间点上的详细状态的快照。”它还声明对象图是“一个带有对象和没有类的类图”
UML 2.5规范根本没有提供对象图的定义。 |
实例规范(instance specification),
对象(object), 属性(property), 关联关系(association)。 |
包图 | 包图(package-diagrams)显示包,以及包之间的关系。 | 包(package),
可封装的元素(packageable element), 依赖(dependency), 元素导入(element-import), 包导入(package-import), 包合并(package-merge)。 |
模型图 | 模型图(Model diagram):UML辅助结构图,显示系统的一些抽象或特定视图,用于描述系统的架构,逻辑或行为方面。例如,它可以显示多层(也称为多层)应用程序的体系结构 – 请参阅多层应用程序模型。
UML辅助结构图,它显示了系统的一些抽象或特定的视图,用来描述系统的体系结构、逻辑或行为方面。例如,它可以显示一个多层(又称为multi-tiered)应用程序的体系结构——参见多层应用程序模型。 |
模型(model),
包(package), 可封装的元素(packageable element), 依赖(dependency)。 |
复合结构图 | 复合结构图(Composite structure diagram)可以用来显示:
|
|
内部结构图 | 内部结构图(Internal structure diagram):显示分类器的内部结构 – 将分类器分解为其属性,部件和关系。 | 结构化类(structured class),
属性类(part), 端口(port), 连接器(connector), 作用关系(usage)。 |
协作使用图 | 协作使用图(Collaboration use diagram)显示系统中的对象彼此合作以产生系统的某些行为。 | 协作(collaboration),
连接器(connector), 属性类(part), 依赖(dependency)。 |
组件图 | 组件图(Component diagram)显示组件和组件间的依赖关系。这种类型的图表用于基于 组件的开发(CBD),描述具有面向服务的体系结构(SOA)的系统。 | 组件(component),
接口(interface), 提供的接口(Provided Interface), 所需的接口(Required Interface), class(类), 端口(port), 连接器(connector), 工件(artifact), 组件实现(component-realization), 作用关系(usage)。 |
表现图 | 表现图(Manifestation diagram):用于显示工件的组件的显化(实现)和工件的内部结构。可以把它作为组件图和部署图的补充,组件图显示组件和分类器之间的组件关系,部署图表达把工件部署到部署环境。
由于表现图不是由UML 2.5规范定义的,因此可以使用组件图或部署图来显示通过构件显示的组件。 |
表现形式(manifestation),
组件(component), 工件(artifact)。 |
部署图 | 部署图(Deployment diagram)将系统的体系结构显示为软件工件的部署(分发)到部署目标。
请注意,UML 1.x部署图中,组件可以直接部署到的节点上。在UML 2.x中,工件被部署到节点,并且工件可以显示(实现)组件。组件通过工件间接部署到节点。 规范级的部署图(Specification level deployment diagram)会显示部署工件到部署目标的一些概述,而没有引用特定的工件或节点实例 实例级部署图(Instance level deployment diagram)显示了工件实例的部署到部署目标的特定实例。它可以用来显示在开发、准生产、生产环境中与特定构建或部署服务器或设备的名称/id之间的差异 |
部署(deployment),
工件(artifact), 部署目标(deployment-target), 节点(node), 设备(device), 执行环境(execution-environment), 通信路径(communication-path), 部署规范(deployment specification) |
网络体系结构图 | 网络体系结构图(Network architecture diagram):用来显示系统的逻辑或物理网络架构的部署图 。在UML 2.5中没有正式定义。 | 节点(node),
交换机(switch), 路由器(router), 负载均衡器(load-balancer), 防火墙(firewall), 通信路径(communication-path), 网段(network-segment), 主干网(backbone)。 |
配置文件图 | 配置文件图(Profile diagram):作为UML标准的轻量级扩展机制的辅助图,它允许定义定制的原型、标记值和约束。概要文件允许对不同的UML元模型进行调整
配置图首次在UML 2.0中引入。 |
配置(profile),
配置类(profile-metaclass), 模板(stereotype), 配置扩展(profile-extension), 配置参考(profile-reference), 配置应用程序(profile-application)。 |
UML 2.5行为图
行为图显示了系统中对象的动态行为,可以将其描述为随着时间的推移对系统进行的一系列更改。
图 | 用途 | 关键概念 |
---|---|---|
用例图 | 用例图(use case diagrams):描述了一些系统或主体(subject)应该或可以与系统的一个或多个外部参与者(actor)合作执行的一组行动(用例),以向参与者或其他利益相关者提供一些可观察到的和有价值的结果。
注意,UML 2.4.1规范(参见“16.4图表”)指出,用例图是类图的一个特例,因此所显示的分类器仅限于Actor或Use Cases。 类图是结构图。 |
用例(use case),
参与者(actor), 主体(subject), 扩展(extend), 包含(include), 关联(association)。 |
信息流程图 | 信息流图(information-flow-diagrams):显示一些高度抽象的系统实体之间的信息交换。信息流在尚未完全明确或缺少细节的情况下,显示系统信息的流转过程。 | 信息流(information-flow),
信息项目(information-item), 参与者(actor), 类(class)。 |
活动图 | 活动图(activity diagrams):显示协调低层次行为的顺序和条件,而不是哪些分类器拥有这些行为。这些通常被称为控制流和对象流模型。 | 活动(activity),
分区(partition), 行动(action), 对象(object), 控制(control), 活动传递(activity edge)。 |
状态机图 | 状态机图(state machine diagrams):用于通过有限状态转换来建模离散行为。除了表示系统一部分的行为之外,状态机还可以用来表示系统的一部分的使用协议。这两种状态机被称为 行为状态机 和协议状态机。 | |
行为状态机图 | 行为状态机图(behavioral-state-machine)通过有限状态转换显示设计系统的一部分的离散行为。 | 行为状态(behavioral state),
行为转换(behavioral transition), 伪状态(pseudostate)。 |
协议状态机图 | 协议状态机图(protocol state machine diagrams):显示使用协议或某个分类器的生命周期,例如可以在分类器的每个状态下调用分类器的哪些操作,在哪些特定条件下以及在分类器转换到目标状态之后满足某些可选的后置条件。 | 协议状态(protocol state),
协议转换(protocol transition), 伪状态(pseudostate)。 |
交互图 | 交互图(Interaction diagram)包括几种不同类型的图:
|
|
序列图 | 序列图(sequence diagrams)最常见的一种交互图,着重于生命线(对象)之间的消息交换 。 | 生命线(lifeline),
执行申明(execution specification), 消息(message), 复合片段(Combined Fragment), 交互使用(interaction use), 状态不变式(state invariant), 销毁(Destruction Occurrence)。 |
通信图 | 通信图(communication-diagrams)(在UML 1.x中称为协作图)重点关注生命线之间的相互作用 ,内部结构的架构以及这与消息传递的对应关系。消息的顺序是通过序列编号方案给出的。 | 生命线(lifeline),
消息(message)。 |
时序图 | 时序图(timing diagrams):当图表的主要目的是推理时间时,显示交互。时序图关注的是沿线性时间轴上的生命线内和生命线之间变化的条件。 | 生命线(lifeline),
状态或状况时间表(state or condition timeline), 销毁事件(destruction event), 持续约束(duration constraint), 时间限制(duration constraint)。 |
交互概述图 | 交互概览图(interaction overview diagrams)通过一种活动图的变体定义交互,以促进控制流的概述。交互概述图侧重于交互或交互使用的控制流节点的概述 。生命线和消息不会出现在此概述中。 | 初始节点(initial node),
流最终节点(flow final node), 活动最终节点(activity final node), 决策节点(decision node), 合并节点(merge node), 分叉节点(fork node), 连接节点(join node), 交互(interaction), 交互使用(interaction use), 持续约束(duration constraint), 时间限制(duration constraint)。 |