一,前言
前面的几种图大部分都是描述系统逻辑和设计方面的信息,而部署图和构件图是用来描述系统实现方面的信息。部署图和构件图统称为实现图,它从系统的层次来描述硬件的组成与布局和软件系统划分和功能实现。
二,构件图
从软件架构的角度描述一个系统的主要功能,如子系统,类,包,构件等。
用来显示一组构件之间组织与关系。
使用构件最重要的是复用。
三,组成
构件
系统中遵从同一组接口且提供其实现的物理的、可替换的部分。
每个构件能实现一定的功能,为其他构件提供使用接口,方便软件的复用,比如对象库,可执行体,com+,企业级Java Bean
类型
- 源代码构件(版本更新)
- 二进制构件
目标码文件、静态链接库、动态链接库 - 可执行构件
可执行程序 - 数据文档或文档
和类的区别
类表示逻辑抽象,而构件表示物理抽象。
构件是其他元素的物理实现。
类可以直接拥有属性和操作,一般情况下,构件一般只拥有只能通过其接口访问的操作。
特点
- 物理的
- 可替换的
- 是系统的一部分
- 遵从一组接口并提供一对接口的实现
接口
示出接口(export interface),构件实现的接口
引入接口(import interface),构件使用的接口
关系
构件与其对应接口之间的关系:实现(realization)
构件和其他构件之间的关系:依赖(dependency)