实现图是从系统的层次来描述的,描述硬件的组成和布局,描述软件系统划分和功能实现。
UML-实现图(组件图和部署图)
- 一、组件图
- 1.组件图的元素
- (1)组件
- (2)接口
- (3)组件间的关系
- 2.组件图的作用
- 3.组件图的用途
- 4.组件图的特点
- 5.使用组件图建模
- (1)对源代码建模
- (2)对可执行文件建模
- (3)对物理数据库建模
- (4)对可适应的系统建模
- 二、部署图
- 1.部署图的元素
- (1)节点
- (2)部署图的关系
- 2.使用部署图建模
- (1)对嵌入式系统建模
- (2)对客户/服务器建模
- (3)对全分布式系统建模
- 三、应用练习题
- 1.例题1
一、组件图
- ** 通常会被称为构件图**,因此组件也会被称为构件。
1.组件图的元素
- 组件图中包含多种内容,包括包、组件、接口、组件间的关系、工件和端口,也可以包括子系统,还可以包含约束和注释等内容。但是组件图中常用的只有组件、接口、依赖关系。
(1)组件
- 在 UML2 中,组件被认为是独立的,在一个系统或子系统中的封装单元,提供一个或多个接口。
- 组件的重点在于强调重用性。
- 组件是系统中遵从一组接口且提供实现的一个物理部件,通常指开发和运行时类的物理实现。可以将组件看作是一种容器,因此它没有自己的特征,但是它包含定义特征的类。
- 组件的符号:
- 组件的分类:一类存在于开发时刻,两类存在于运行时刻。
- 配置组件(Deployment Component): 配置组件也会被称为发布组件或者实施组件,它是运行系统需要配置的组件,是形成可执行文件的基础。操作系统、Java 虚拟机和数据库管理系统都属于配置组件。
- 工作产品组件(Work Product Component): 有时会被称为开发用组件,这类组件主要是开发过程的产物,包括创建实施组件的源代码文件及数据文件,这些组件并不直接地参加可执行系统。而开发过程中的工作产品,用于产生可执行系统。
- 执行组件(Execution Component): 这类组件时作为一个正在执行系统的结果而被创建的,例如由 DLL 实例化而来的 COM+对象、HTML 文档、Servlets等。
- 组件可以包含组件。
(2)接口
- 在 UML 组件图中,接口是一组用于描述类或组件的一个服务操作,是一个被命名的操作的集合。一般情况下,可以将组件的接口分为两种类型:
- 导出接口(Expert Interface):为其他组件提供服务的接口,一个组件可以有多个导出接口。
- 导入接口(Import Interface): 在组件中所用到的其他组件所提供的接口,一个组件可以使用多个接口。
- 接口的符号有两种:
-
一种是构造型表示法,在这种接口中,接口和实现接口之间用一条带三角形箭头的虚线连接,箭头指向接口。
-
另一种形式是 “棒棒糖” 接口,可以使用一个小圆圈代表接口,用实线将接口和组件连接起来。在这种形式中,实线代表的是实线关系。
-
(3)组件间的关系
- 依赖关系
- 泛化关系
2.组件图的作用
- 组件图的主要目的是显示系统组件之间的结构关系。
- 在以组件为基础的开发中,组件图为系统架构师提供一个开始为解决方案建模的自然形式。组件图允许系统架构师验证系统的必需功能是由组件实现的,这样确保了最终系统将会被接受。
- 组件图通常可以使项目发起人感到轻松,该图对于不同的小组是很有用的一种交流工具。
- 组件图为开发者提供了将要建立的系统的高层次的架构视图,这将帮助开发者建立实现的目标。
3.组件图的用途
- 组件图是系统实现视图的图形表示,一个组件图表示了系统实现视图的一部分,系统中的所有组件结合起来才能表示出完整的系统实现图。
- 组件图的用途:
- 使系统人员和开发人员能够从整体上了解系统的所有物理组件。
- 组件图显示了被开发系统所包含的组件之间的依赖关系。
- 从宏观的角度上,组件图把软件看作多个独立组件组装而成的集合,每个组件可以被实现相同接口的其他组件替代。
- 可以清楚地看出系统的结构和功能,方便项目组的成员制定工作目标以及了解工作情况。
- 有助于对系统感兴趣的人了解某个功能单元位于软件包的什么位置。
4.组件图的特点
- 侧重于描述系统静态视图的某一侧面。
- 只包含那些对描述该侧面内容有关的模型元素。
- 提供与抽象层次一致的描述,只显示有助于理解该组件图的必要的修饰。
- 图形不要过于简化,以防止产生误解。
5.使用组件图建模
(1)对源代码建模
(2)对可执行文件建模
(3)对物理数据库建模
(4)对可适应的系统建模
二、部署图
- 部署图通常会被称为配置图,它是用来显示系统中软件和硬件的物理架构。
- 一个 UML 部署图描述了一个运行时的硬件节点,以及这些节点运行的软件组件的静态视图。
- 部署图(Deployment Diagram)描述处理器、设备、软件组件在运行时的架构。它是系统拓扑的最终物理描述,即描述硬件单元和运行在硬件单元上的软件的结构
1.部署图的元素
- 部署图的组成元素包括节点和节点之间的连接,连接把每个节点关联在一起,从而构成一个部署图。部署图中除了包含基本的节点、组件和关系等元素外,还可以包含其他的元素,例如子系统、包、设备、执行环境以及工作(制品)等。
(1)节点
- 节点是存在于运行时并代表 一项计算资源的物理元素,一般至少拥有一些内容,而且通常具有处理能力。他一般用于对执行处理或计算的资源建模,通常具有两方面内容,即能力(基本内存、计算能力和二级存储器)和位置(在所有必需的地方均可得到)。
- 节点的两种类型:
- 处理器(Processor):处理器是能够执行软件组件且具有计算能力的节点,例如服务器。处理器和设备是一个相反的概念。
- 设备(Device): 设备是不能执行软件组件的外围硬件且是没有计算能力的节点,通常通过其接口为外接提供某种服务,例如打印机和扫描仪等都是设备。
- 节点和组件的区别:
(2)部署图的关系
- 依赖关系
- 实现和关联关系
- 实现关系是节点内组件向外提供服务,其符号是一条实线。关联关系体现节点间的通信关联,其符号也是一条实线。
- 实现关系是节点内组件向外提供服务,其符号是一条实线。关联关系体现节点间的通信关联,其符号也是一条实线。
2.使用部署图建模
(1)对嵌入式系统建模
(2)对客户/服务器建模
(3)对全分布式系统建模
三、应用练习题
1.例题1
- 教室在线答疑系统有4个组件:教室客户端程序、学生客户端程序、白板程序、通信协议。其中,教室客户端、学生客户端都要依赖于白板程序以及通信协议。画出该系统部署图。