《UML面向对象建模基础》构件图知识图谱Agenda•什么是构件•如何阅读构件图•如何绘制构件图•构件图应用说明•本章小结Agenda•什么是构件•如何阅读构件图•如何绘制构件图•构件图应用说明•本章小结构件和构件的要素•构件是系统中可替换的物理部分,它包装了实现而且遵从并提供一组接口的实现•规格说明:对于构件,必须有一个它所提供服务的抽象描述。通俗地说,每个构件都必须提供特定的服务•一个或多个实现:构件是一种物理概念,必须被一个或多个实现所支持,当然这些实现都必需符合规格说明•受约束的构件标准:每一个构件,在实现时必须遵从某种构件标准•封装方法:也就是构件遵从的封装标准•部署方法:当件要运行时,首先要部署它构件的类型•实施构件:这类构件是构成一个可执行系统必要和充分的构件,例如动态链接库、可执行文件,另外还包括如COM+、CORBA及企业级JavaBeans、动态Web页面也属于实施构件的一部分•工作产品构件:这类构件主要是开发过程的产物,包括创建实施构件的源代码文件及数据文件。这些构件并不是直接地参与可执行系统,而且用来产生可执行系统的中间工作产品•执行构件:作为一个正在执行的系统的结果而被创建的,例如由DLL实例化形成的COM+对象构件及构件接口表示法Agenda•什么是构件•如何阅读构件图•如何绘制构件图•构件图应用说明•本章小结阅读基本构件图阅读嵌套构件图Agenda•什么是构件•如何阅读构件图•如何绘制构件图•构件图应用说明•本章小结确定子系统对外的接口•将整个“在线酒店预订子系统”作为一个构件,考虑其对外接口。显然它首先需要提供用户界面;其次还需要与加盟的酒店系统连接,完成预订工作确定子构件和接口•显然要有一个构件来实现用户界面,一个构件来完成与酒店系统的连接和预订,另外还应该有一个负责将用户的需求与酒店的供给进行匹配的“调度程序”Agenda•什么是构件•如何阅读构件图•如何绘制构件图•构件图应用说明•本章小结对可执行程序的结构建模•首先识别你想建模的构件集合•考虑集合中各构件的不同类型•对这个集合中的每个构件,分析它们之的关系对源代码建模•识别出感兴趣的相关源代码文件的集合,并把它们建模为构件;•对于较大的系统,利用包来进行分组;•通过约束来表示源代码的版本号、作者和最后修改日期等信息;•用依赖关系来表示这些文件间编译的依赖关系Agenda•什么是构件•如何阅读构件图•如何绘制构件图•构件图应用说明•本章小结本章小结•首先介绍了构件的定义以及构件的五要素•在了解了构件基础知识之后,分别结合实例说明了基本构件图和嵌套构件图的阅读技巧,然后再阐述了嵌套构件图的绘制步骤•在本章的最后,还对构件图的适用领域进行了说明,并对最为常见的两种场景进行了举例说明:可执行程序结构建模、源代码建模