在软件建模的过程中,完成系统的逻辑设计之后,下一步要定义设计的物理实现,如可执行的文件、库、表、文件和文档等。所以,在面向对象系统的物理方面进行建模时要用到两种图:组件图和配置图。
组件图(Component Diagram)
什么是组件图?
组件图描述了组件以及组件之间的关系,组件本身是代码的物理模块,组件图则显示了代码的结构。
组件
要了解组件图,首先要知道什么是组件。
- 组件是定义了良好接口的物理实现单元,组件是系统中可替换的物理部件。
- 组件一般表示实际存在的、物理的物件,它具有很广泛的定义,比如:程序源代码、自行动、动态链接库、ActiveX控件等等。
组件的类型:
- 配置组件:形成可执行文件的基础
- 工作产品组件:配置组件的来源,例如数据文件和程序源文件
- 执行组件:最终可运行系统产生的运行结果
接口
组件与组件之间肯定少不了接口,那么什么是接口呢?
接口是一个类提供给另一个类的操作,组件可以通过其他组件的接口,使用其他组件定义的一些操作。
那组件和组件之间有什么关系呢?
组件图中可以包括以下关系:依赖、泛化、关联和实现。从概念上讲,组件图可以看做是一种特殊的类图,它重点描述系统的组件以及它们之间的关系。详细的关系在这里不在细讲,请看这篇博客。【UML】UML中的关系
当然,组件图远远没有这么简单,他还包括很多表示的图标,《UML基础》这本书上讲的很详细,大家可以自行学习。
那么我们应该如何建模呢?
- 对系统中的组件建模
- 定义相应组件提供的接口
- 对它们间的关系建模
- 对建模的结果进行精华和细化
实例(以机房收费系统为例)
配置图(Deployment Diagram)
什么是配置图?
配置图显示了运行软件系统的物理硬件,以及如何将软件部署到硬件上。
包含什么?
节点、组件、和关联关系
绘制步骤:
- 对系统中的节点建模
- 对节点间的关系建模
- 对系统中的节点建模,这些组件来自组件图
- 对组件间的关系建模
- 对建模的结果进行精华和细化