OOM面向对象模型4

OOM面向对象模型

 组件图

对于现代的大型应用程序而言,通常不只是单独一个类或单独一组类所能完成的,通常会由一个或多个可部署的组件组成。对Java程序而言,可复用的组件通常打包成一个JAR、WAR等文;对C/C++应用而言,可复用的组件通常是一个函数库,或者一个DLL(动态链接库)文件。

 

组件图提供系统的物理视图。它的用途是显示系统中的软件对其他软件组件(例如 库函数)的依赖关系。组件图可以在一个非常高的层次上显示,从而仅显示粗粒度的组件,也可以在组件包层次上显示。

 

组件图用来建立系统中各组件之间的关系, 各组件通过功能组织在一起,组件图可以用来设计系统的整体构架。

 

实例1:

 

实例2:

 部署图

部署图用于描述软件系统如何部署到硬件环境中。它的用途是显示软件系统不同的组件将在何处物理地运行,以及它们将如何彼此通信。

因为部署图是对物理运行情况进行建模,所以系统的生产人员就可以很好地利用这种图来安装、部署软件系统。

部署图中的符号包括组件图中所使用的符号元素,另外还增加了几个符号,主要是增加了节点的概念:节点是各种计算资源的通用名称。

 

节点: 指组件运行的环境。可以是软件(操作系统、其他等)或硬件资源(计算机,其他硬件)。

通信关联: 节点通过通信关联建立彼此的关系,采用从节点到节点绘制实线来表示关联。

 

实例1:

 

实例2:

 

 包图

包图: 由包和包之间的关系组成. 包的图标就如同一个带标签的文件夹.

包提供了一种用于组织各种元素的分组机制. 在 UML 中, 包用来对元素进行分组, 并为这些元素提供命名空间. 包所拥有的或者引用的所有元素称为包的内容, 包没有实例.

 时序图

用于描述对象之间消息的传递时间顺序, 是显示对象之间交互的图,这些对象是按时间顺序排列的。时序图中显示的是参与交互的对象及其对象之间消息交互的顺序。

 

时序图中包括的建模元素主要有:

对象(Actor)

生命线(Lifeline)

控制焦点(Focus of control)

消息(Message)

 

 

对象: 时序图中对象使用矩形表示, 并且对象名称下有下划线. 将对象置于时序图的顶部说明在交互开始时对象就已经存在了. 如果对象的位置不在顶部, 表示对象是在交互的过程中被创建的.

 

生命线: 生命线是一条垂直的虚线. 表示时序图中的对象在一段生命周期内的存在. 每个对象底部中心的位置都带有生命线.

 

消息: 两个对象之间的单路通信. 从发送方指向接收方. 在时序图中很少使用返回消息.(如果有返回则可以使用虚线表示)

 

激活: 时序图可以描述对象的激活和钝化. 激活表示该对象被占用已完成某个任务. 钝化指对象处于空闲状态, 等待消息. 在 UML 中, 对象的激活时将对象的生命线拓宽为矩形来表示的. 矩形称为计划条或控制期. 对象就是在激活条的顶部被激活的. 对象在完成自己的工作后被钝化.

 

对象的创建和销毁: 在时序图中, 对象的默认位置是在图的顶部. 这说明对象在交互开始之前就已经存在了. 如果对象是在交互过程中创建的, 那么就应该将对象放到中间部分. 如果要撤销一个对象, 在其生命线终止点处放置 “ X” 符号.

 

 协作图

协作图(也叫合作图)是一种交互图.

时序图主要侧重于对象间消息传递在时间上的先后关系, 而协作图表达对象间的交互过程及对象间的关联关系。

 

时序图与协作图都表示对象之间的交互作用,只是它们的侧重点有所不同:

时序图描述了交互过程中的时间顺序,但没有明确地表达对象之间的关系。

协作图描述了对象之间的关系,但时间顺序必须从顺序号获得。

两种图的语义是等价的,可以从一种形式的图转换成另一种形式的图,而不丢失任何信息。

 

 活动图

活动图本质上就是流程图. 它用于描述系统的活动, 判定点和分支等.

活动图中的菱形框是判断标志,表示条件转移。

活动图对表示并发很有用。在活动图中使用一个称为同步条的水平粗线可以将一条转移分为多个并发执行的分支,或将多个分支合为一条转移。此时,只有输入的转移全部有效才能执行后面的活动。

 

 

 状态图

状态图: 通过建立对象的生存周期模型来描述对象随时间变化的动态行为。

 

 

posted on 2018-01-31 18:42  東風★破  阅读(359)  评论(0)    收藏  举报

导航