UML9种图概述
静态图
类图(Class Diagram): 模型化系统的结构
类图(Class Diagram)是显示了模型的静态结构,特别是模型中存在的类/类的内部结构以及他们与其他类的关系等.类图不显示暂时性信息.
类图(Class Diagram)最基本的元素是类或者接口.
对象图(Object Diagram): 对象及对象间的相互关系
对象图(Object Diagram)是显示了一组对象和他们之间的关系.对象图时类图的实例,几乎使用与类图完全相同的标识.
他们的不同点在于对象图显示类的多个对象实例而不是实际的类,由于对象存在生命周期,因此对象图只能在系统某一时间段存在.
组件图(Component Diagram): 模型化组件的组织和依赖
组建图的主要目的是显示系统组件间的结构关系,UML2.x语言中对组件的描述为:组件是独立的,是运行在一个系统中的封装单位,提供了一系列的服务.
通过组建图把系统功能进行抽象和分离,然后通过顺序图把功能流程分成多个步骤再通过类图去构建每个流程步骤中的每个类应该具有的方法.最后形成设计文档.
部署图(Deployment Diagram): 模型化系统的硬件分布
部署图(Deployment Diagram)是用来显示系统中软件和硬件的物理架构,部署图可以描绘出软件和硬件组件之间的物理关系以及节点分布情况.
动态图
时序图(Sequence Diagram): 模型化系统的行为
时序图(Sequence Diagram)也成为序列图,是一种行为图.通过描述对象之间发送消息的时间顺序显示多个对象之间的动作协作.
时序图包含四类元素: 对象(Object), 生命线(Lifeline), 消息(Message), 激活(Activation)
协作图(Communication Diagram): 模型化系统的行为
协作图(Communication Diagram)又成为”通信图”,协作图是一种交互图,强调的时发送和接收消息的对象的组织结构以及各种角色对象所处的位置,在图中主要显示了类元角色(Classifier Roles)和关联角色(Association Roles).
时序图和协作图的区别是:时序图更强调时间与序列,协作图强调上下文关联即空间上对象的交互.
状态图(Statechart Diagram): 模型化状态相关的方面
状态图(Statechart Diagram)是描述一个实体基于时间反应的动态行为显示了该实体如何根据当前所处的状态对不同的事件做出处理,通常状态图是为了研究: 类, 角色, 子系统或组件的复杂行为.
活动图(Activity Diagram): 模型化系统内的事件流
活动图(Activity Diagram)是为了说明业务用例实现的工作流程,活动图是为了描述系统在执行某一用例时的具体实现步骤.
用例图(Use Case Diagram): 模型化系统与外界的交互
用例图(Use Case Diagram)从用户角度描述系统功能并指定各功能的操作主角,用例图是由主角/用例以及他们之间的关系构成的图