UML五种视图九种图+包图
Posted 梦Dreamer
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了UML五种视图九种图+包图相关的知识,希望对你有一定的参考价值。
五种视图
包括:用例视图、逻辑视图、组件视图、配置视图、并发视图(不常用,且在Rational Rose中不存在)
五种视图 | 使用者 | 定义 |
用例视图 | 用户 | 描述系统应具备的功能 |
逻辑视图 | 设计人员和开发人员 | 描述用例视图中提出的系统功能的实现。 |
组件视图 | 开发人员 | 显示代码组件的组织结构。 |
配置视图 | 开发人员、系统集成人员、测试人员 | 显示系统的具体部署。部署是指将系统配置到由计算机和设备组成的物理结构上。 |
并发视图 | 开发人员、系统集成人员 | 显示系统的并发性,解决在并发系统中存在的通信和同步问题。 |
九种图
包括:用例图
静态图(包括类图和对象图)
行为图(状态图和活动图)
交互图(时序图和协作图)
实现图(组件图和配置图)
1、用例图(UseCase Diagram)
定义:用来描述用户的需求,从用户的角度描述系统的功能,并指出各功能的执行者,强调谁在使用系统,系统为执行者完成哪些功能。
在UML中,通常用两种图来描述Use Case,它们就是顺序图(Sequence Diagram)和协作图(Collaboration Diagram)。
基本元素:角色(Actor)、用例(Use Case)、关系。
角色(Actor)参与者是指存在于被定义系统外部并与该系统发生交互的人或其他系统,他们代表的是系统的使用者或使用环境。 用例(UseCase)用例用于表示系统所提供的服务,它定义了系统是如何被参与者所使用的,它描述的是参与者为了使用系统所提供的某一完整功能而与系统之间发生的一段对话。
关系包括:关联、泛化、包含、扩展。
关系类型 | 定义 | 表示符号 |
关联 | 描述了两个或多个类之间的结构性关系(角色和用例之间的关系) |
|
泛化 | 表示继承关系,箭头指向父类(角色之间或用例之间的关系) |
|
包含 | 用于将部分工作流程分离出去(用例之间的关系) |
|
扩展 | 将扩展用例与基本用例连接起来,通过在基本用例中引用扩展点,可以定义基本用例中的那些位置插入扩展用例( 用例之间的关系) |
|
2、类图(ClassDiagram)
定义:用于定义系统中的类,包括描述类的内部结构和类之间的关系。类图主要用于描述系统的静态结构。
基本元素:类、接口(用小圆圈表示)、包、子系统、、关系(包括关联、依赖、泛化、实现)
关系类型 | 定义 | 表示符号 |
关联 | 描述了两个或多个类之间的结构性关系 | |
组合 | 几个独立部分组成的整体 | |
聚合 | 分散的聚到一起 | |
依赖 | 表示使用关系,箭头指向被依赖的一方 | |
泛化 | 表示继承关系,箭头指向父类 | |
实现 | 是类元之间的语义关系,在该关系中一个类元描述了另一个类元保证实现的契约 |
3、对象图(ObjectDiagram)
定义:对象图是类图的一个实例,描述了系统的具体时间点上所包含的对象以及各个对象之间的关系,它使用与类图相似的符号描述,不同之处在于对象图显示的是类的多个对象实例而非实际的类。可以说对象图是类图的一个例子,对象图与类图表示的不同之处在于它用带下划线的对象名称类表示对象,显示一个关系中的所有实例。
基本元素:对象(对象图和类图的区别是:对象图没有方法)、连接、包
4、状态图(StateDiagram)
定义:用来描述类的对象所有可能的状态以及事件发生时状态的转移条件。实际建模时,并不需要为所有的类都绘制状态图,仅对那些具有多个明确状态并且这些状态会影响和改变其行为的类才有绘制状态图的必要。此外,还可以为系统绘制整体状态图。
基本元素:状态、起点(黑色实心圆圈)、终点、转移(直线箭头)
5、活动图(ActivityDiagram)
定义:活动图是状态图的一个变体,用来描述执行算法的工作流程中涉及的活动。活动状态代表了一个活动,即一个工作流步骤或一个操作的执行。活动图由多个动作状态组成,当一个动作完成后,动作状态将会改变,转换为一个新的状态。
基本元素:活动状态、判断、同步条、起点和终点(与状态图一样)、泳道、活动状态之间的转移(用直线箭头表示)、保证条件
6、时序图(SequenceDiagram)
定义:描述对象之间的交互顺序,着重体现对象间消息传递的时间顺序,强调对象之间消息的发送顺序,同时也显示对象之间的交互过程。
基本元素:对象、生命线、消息、注释、约束
消息类型 | 定义 | 表示符号 |
简单消息 | 表示简单的控制流 | |
同步消息 | 表示嵌套的控制流 |
|
异步消息 | 表示异步的控制流 | |
返回消息 | 表示返回的控制流 | |
同步且立即返回消息 | 表示同步且立即返回的控制流 |
7、协作图(CollaborationDiagram)
定义:描述对象之间的合作关系,更侧重于说明哪些对象之间的消息的传递。除了显示消息的交互以外,协作图也显示对象以及它们之间的关系。时序图和协作图都可以表示各对象间的交互关系,但它们的侧重点不同。时序图用消息的几何排列关系来表达消息的时间顺序,各角色之间的关系是隐含的。协作图用各个角色排列来表示角色之间的关系,并用消息类说明这些关系。在实际应用中可以根据需要选用这两种图:如果需要重点强调时间或顺序,那么选择时序图;如果需要重点强调上下文,那么选择协作图。
8、组件图(ComponentDiagram)
定义:UML语言中的组件图是用代码组件来显示代码物理结构。一个组件包含它所实现的一个或多个逻辑类的相关信息。通常组件图用于实际的编程工作中。
组件的画法:
9、配置图(DeploymentDiagram)
定义:配置图用于显示系统中的硬件和物理结构,用来描述实际的物理设备以及他们之间的连接关系。
节点的画法:
图类型 | 组成 | 关系 | |
组件图 | 组件、接口、关系 | 四种(关联、依赖、泛化、实现) | 软件之间的关系 |
配置图 | 节点、关系 | 两种(依赖、关联) | 软件和硬件之间的关系 |
包图(包图并非正式的UML图)
1、定义:包图是在 UML 中用类似于文件夹的符号表示的模型元素的组合
2、简要介绍:包图是一种维护和描述系统总体结构的模型的重要建模工具,通过对包中各个包以及包之间关系的描述,展现出系统的模块与模块之间的依赖关系。
包图的作用:描述你的需求高阶概述;描述你的设计高阶概述;组织源代码。
一个包图可以由任何一种UML图组成,通常是UML用例图或是UML类图。
包图的基本元素:类、接口、组件、用例、其他包等。
包与包之间的关系:泛化、细化、依赖
包图的画法:
以上是关于UML五种视图九种图+包图的主要内容,如果未能解决你的问题,请参考以下文章