一、组件图(构件图)
(一)定义
组件图(Component Diagram)又称为构件图庙会上软件组件以及组件之间的关系,组件本身是代码的物理模块,组件图则显示了代码的结构。
(二)组成
组件图=组件+接口+关系
(1)组件:
组件是定义了良好接口的物理实现单元。组件是系统中可替换的物理部件,它包装了实现而且遵从并统一提供一组接口的实现。
**组件类型
①配置组件(Deployment Component):运行系统需要配置的组件,是形成可执行文件的基础—操作系统、JAVA虚拟机、DBMS;
②工作产品组件(Work Product Component):包括模型、源代码和用于创建配置组件的数据文件,它们是配置组件的来源—UML图、java类和数据库表;
③执行组件(Execution Component):在运行时创建的组件,是最终可运行的系统产生的允许结果—.net组件
(2)接口
接口是一个类提供给另一个类的操作,组件可以通过其他组件的接口,使用其他组件定义的一些操作。
(3)关系
组件间的关系有 依赖关系、泛化关系
@机房收费系统组件图
(三)相关概念比较
1、组件与类
相同点 | 不同点 |
-有名称; -有实例; -都可以实现一组接口; -都可以参与依赖关系; -都可以被嵌套; -都可以参与交互; | -类描述了软件设计的逻辑组织和意图; 而组件描述软件设计的物理实现,即每个组件体现了系统设计中特定类的实现; -组件可以用于配置图中的节点中,而类不可以; -一般组件只有操作,外界只能通过接口接触它们,而类可以直接有属性和操作 |
2、组件与包–不同点
组件 | 包 | |
1 | 一个组件代表一个物理的代码模块 | 包可以包含承租的逻辑模型元素,也可以包含物理的组件; |
2 | 不可以 | 可以用包来组织用例 |
3 | 一个类可以出现在多个组件中 | 一个类只能再一个包中定义 |
4 | 配置图和节点中可以放组件 | 不可以 |
5 | 可以是实例也可以是类型 | 只是类型 |
6 | 可作为物理视图,用于部署 | 可以作为开发视图,用于管理 |
(四)组件图建模技术
1、对系统中的组件建模—分解系统,考虑有关系统的组成管理、软件的重用和物理节点的配置等因素,把关系密切的可执行程序和对象分别归入组件,找出相应的类、接口等模型元素。
2、对相应组件提供的接口建模。
3、对组件之间的依赖关系建模。
4、将逻辑设计映射成物理实现。
5、对建模的结果进行精化和细化。
二、配置图(部署图)
(一)定义
配置图(Deployment Diagram)描述了运行系统的硬件拓扑。它常被用于模拟系统的静态配置视图,系统的静态配置视图主要包括构成物理系统的组成部分的分布和安装。
(二)组成
配置图=节点+组件+关联关系
(1)节点是在运行时代表计算资源的物理元素。它通常拥有一些内存,并具有处理能力。
节点类型:处理器、设备
处理器 是能够执行软件、具有运算能力的节点,服务器、工作站和其他具有处理能力的机器都是处理器.
设备 是没有计算能力的节点,通常情况下都是通过其接口为外部提供某种服务,哑终端(计算机科学中,哑终端表示相对于其他比较“聪明”的计算机终端而言,功能较为有限、交互方式比较单一、简单的计算机终端。)、打印机和扫描仪等都属于设备。
(三)配置图建模技术
- 对系统中的节点建模
- 对节点间的关系建模
- 对系统中的节点建模,这些组件来自组件图
- 对组件间的关系建模
- 对建模的结果进行精华和细化
@机房收费系统配置图