UML中包括九种图.docx
《UML中包括九种图.docx》由会员分享,可在线阅读,更多相关《UML中包括九种图.docx(11页珍藏版)》请在冰豆网上搜索。
UML中包括九种图
UML中包括九种图:
用例图、类图、对象图、状态图、时序图、协作图、活动图、组件图、配置图。
1)用例图(UseCaseDiagram)
它是UML中最简单也是最复杂的一种图。
说它简单是因为它采用了面向对象的思想,又是基于用户视角的,绘制非常容易,简单的图形表示让人一看就懂。
说它复杂是因为用例图往往不容易控制,要么过于复杂,要么过于简单。
用例图表示了角色和用例以及它们之间的关系。
2)类图(ClassDiagram)
是最常用的一种图,类图可以帮助我们更直观的了解一个系统的体系结构。
通过关系和类表示的类图,可以图形化的方式描述一个系统的设计部分。
3)对象图()
对象图是类图的实例,几乎使用与类图完全相同的标识。
它们的不同点在于对象图显示类的多个对象实例,而不是实例的类。
一个对象图是类图的一个实例。
由于对象存在生命周期,因此对象图只能在系统某一时间段存在。
4)状态图
描述一个实体基于事件反应的动态行为,显示了该实体如何根据当前所处的状态对不同的时间做出反应的。
通常创建一个UML状态图是为了以下的研究目的:
研究类、角色、子系统、或组件的复杂行为。
5)时序图
又称顺序图,描述了对象之间动态的交互关系,着重体现对象间消息传递的时间顺序。
顺序图由一组对象构成,每个对象分别带有一条竖线,称作对象的生命线,它代表时间轴,时间沿竖线向下延伸。
顺序图描述了这些对象随着时间的推移相互之间交换消息的过程。
消息用从一务垂直的对象生命线指向另一个对象的生命线的水平箭头表示。
图中还可以根据需要增加有关时间的说明和其他注释。
6)协作图
协作图用于显示组件及其交互关系的空间组织结构,它并不侧重于交互的顺序。
协作图显示了交互中各个对象之间的组织交互关系以及对象彼此之间的链接。
与序列图不同,协作图显示的是对象之间的关系。
另一方面,协作图没有将时间作为一个单独的维度,因此序列号就决定了消息及并发线程的顺序。
协作图是一个介于符号图和序列图之间的交叉产物,它用带有编号的箭头来描述特定的方案,以显示在整个方案过程中消息的移动情况。
协作图用途:
通过描绘对象之间消息的移动情况来反映具体的方案。
显示对象及其交互关系的空间组织结构,而非交互的顺序。
7)活动图(ActivityDiagram)
UML活动图记录了单个操作或方法的逻辑,单个用户案例,或者单个业务流程的逻辑。
描述系统中各种活动的执行顺序,通常用于描述一个操作中所要进行的各项活动的执行流程。
同时,它也常被用来描述一个用例的处理流程,或者某种交互流程。
活动图由一些活动组成,图中同时包括了对这些活动的说明。
当一个活动执行完毕之后,控制将沿着控制转移箭头转向下一个活动。
活动图中还可以方便地描述控制转移的条件以及并行执行等要求。
8)组件图(ComponentDiagram)
组件图是用来反映代码的物理结构。
从组件图中,可以了解各软件组件(如源代码文件或动态链接库)之间的编译器和运行时依赖关系。
使用组件图可以将系统划分为内聚组件并显示代码自身的结构。
组件图的主要目的是显示系统组件间的结构关系。
9)配置图
配置图描述系统中硬件和软件的物理配置情况和系统体系结构。
在配置图中,用结点表示实际的物理设备,如计算机和各种外部设备等,并根据它们之间的连接关系,将相应的结点连接起来,并说明其连接方式。
在结点里面,说明分配给该结点上运行的可执行构件或对象,从而说明哪些软件单元被分配在哪些结点上运行
首先对UML中的各个图的功用做一个简单介绍:
1、用例图
描述角色以及角色与用例之间的连接关系。
说明的是谁要使用系统,以及他们使用该系统可以做些什么。
一个用例图包含了多个模型元素,如系统、参与者和用例,并且显示了这些元素之间的各种关系,如泛化、关联和依赖。
3.用例图:
描述一组用例、参与者以及它们之间的关系,其展示的是该系统在它的外面环境中所提供的外部可见服务。
如下图(摘自网络):
2、类图
类图是描述系统中的类,以及各个类之间的关系的静态视图。
能够让我们在正确编写代码以前对系统有一个全面的认识。
类图是一种模型类型,确切的说,是一种静态模型类型。
1.类图:
描述一组对象、接口、协作等事物之间的关系。
如下图(摘自网络):
3、对象图
与类图极为相似,它是类图的实例,对象图显示类的多个对象实例,而不是实际的类。
它描述的不是类之间的关系,而是对象之间的关系。
2.对象图:
描述一组对象之间的关系,是具有具体属性值和行为的一个具体事物,其是类图中所建事物实例的静态快照,其与类图的主要区别是一个是抽象的,而对象图是具体的。
如下图(摘自网络):
4、活动图
描述用例要求所要进行的活动,以及活动间的约束关系,有利于识别并行活动。
能够演示出系统中哪些地方存在功能,以及这些功能和系统中其他组件的功能如何共同满足前面使用用例图建模的商务需求。
6.活动图:
是一种特殊的状态图,实现一个活动到另一个活动的流程。
如下图(摘自网络):
5、
状态图
描述类的对象所有可能的状态,以及事件发生时状态的转移条件。
可以捕获对象、子系统和系统的生命周期。
他们可以告知一个对象可以拥有的状态,并且事件(如消息的接收、时间的流逝、错误、条件变为真等)会怎么随着时间的推移来影响这些状态。
一个状态图应该连接到所有具有清晰的可标识状态和复杂行为的类;该图可以确定类的行为,以及该行为如何根据当前的状态变化,也可以展示哪些事件将会改变类的对象的状态。
状态图是对类图的补充。
5.状态图:
展示了一个状态机,由状态、转换、事件和活动组成。
强调事件行为的顺序。
如下图(摘自网络):
6、序列图(顺序图)
序列图是用来显示你的参与者如何以一系列顺序的步骤与系统的对象交互的模型。
顺序图可以用来展示对象之间是如何进行交互的。
顺序图将显示的重点放在消息序列上,即强调消息是如何在对象之间被发送和接收的。
7、协作图
和序列图相似,显示对象间的动态合作关系。
可以看成是类图和顺序图的交集,协作图建模对象或者角色,以及它们彼此之间是如何通信的。
如果强调时间和顺序,则使用序列图;如果强调上下级关系,则选择协作图;这两种图合称为交互图。
4.交互图:
包括序列图(顺序图)和协作图,两者对应,顺序图是强调消息时间顺序,有对象生命线和控制焦点。
协作图是强调接收和发送消息的对象的结构组织,有路径和顺序号。
如下图(摘自网络):
序列图:
协作图:
8、构件图 (组件图)
描述代码构件的物理结构以及各种构建之间的依赖关系。
用来建模软件的组件及其相互之间的关系,这些图由构件标记符和构件之间的关系构成。
在组件图中,构件时软件单个组成部分,它可以是一个文件,产品、可执行文件和脚本等。
9、部署图 (配置图)
是用来建模系统的物理部署。
例如计算机和设备,以及它们之间是如何连接的。
部署图的使用者是开发人员、系统集成人员和测试人员。
7.构件图和部署图:
构件图展示一组构件之间的组织和依赖关系,并以全局的模型展示出来。
部署图是构件的配置及描述系统如何在硬件上部署。
如下图(摘自网络):
几种图的区别:
一:
这九种模型图各有侧重,
1:
用例图侧重描述用户需求,
2:
类图侧重描述系统具体实现;
二:
描述的方面都不相同,
1:
类图描述的是系统的结构,
2:
序列图描述的是系统的行为;
三:
抽象的层次也不同,
1:
构件图描述系统的模块结构,抽象层次较高,
2:
类图是描述具体模块的结构,抽象层次一般,
3:
对象图描述了具体的模块实现,抽象层次较低。
在有的文献书籍中,将这九种模型图分为三大类:
结构分类、动态行为和模型管理:
1:
结构分类包括用例图、类图、对象图、构件图和部署图,
2:
动态行为包括状态图、活动图、顺序图和协作图,
3:
模型管理则包含类图。
画图说明
UML(统一建模语言):
是面向对象的可视化建模的一种语言。
是数据库设计过程中,在E-R图(实体-联系图)的设计后的进一步建模。
UML中有3种构造块:
事物、关系和图,事物是对模型中最具有代表性的成分的抽象;关系是把事物结合在一起;图聚集了相关的的事物。
具体关系图标如下:
说明:
构件事物是名词,是模型的静态部分。
行为事物是动态部分,表示行为。
分组事物是组织部分。
注释事物是解释部分。
依赖:
一个事物变化会引起另一个事物变化。
聚集:
特殊的关联,描述整体与部分的组合关系。
泛化:
是一种特殊与一般的关系,如子元素(特殊)与父元素(一般),箭头指向父元素。
实现:
类元之间的关系,其中一个类元指定了由另一个类元保证执行的契约。
一般用在接口和实现他们的类之间或用例和实现它们的协作之间。
UML提供9种视图:
类图、对象图,用例图,序列图、协作图,状态图、活动图,构件图和部署图。
在UML系统开发中有三个主要的模型:
功能模型:
从用户的角度展示系统的功能,包括用例图。
对象模型:
采用对象,属性,操作,关联等概念展示系统的结构和基础,包括类图。
动态模型:
展现系统的内部行为。
包括序列图,活动图,状态图。
注:
#表示protected,+表示Public,-表示private