电子商务系统分析与设计(第2版)
上QQ阅读APP看书,第一时间看更新

3.9 组件图

组件是系统中遵从一组接口且提供实现的物理部件,通常指系统实施和运行时类的物理实现,表现为系统软件文件,包括程序源文件、动态链接库文件、系统配置文件等。组件图(Component Diagram)展现了系统软件文件及文件之间的组织和依赖关系,属于面向对象系统物理建模中使用的实现图,在系统设计阶段绘制,是帮助程序开发人员理解系统的有力工具。在UML中,组件图由组件和组件之间的关系构成。

3.9.1 组件

组件是系统中可替换的代码模块,使用左侧带有两个小矩形的大矩形框表示,如图3-37所示。组件分为三种类型。

图3-37 组件

1)部署组件:是构成一个可执行系统所必需的组件,如DLL代码、EXE代码、Active控件、Web page、数据库表及JavaBean等模块。

2)工作产品组件:是指在开发阶段使用的组件,它包括源程序文件、数据文件等,一般不直接构成可执行系统。

3)执行组件:这类组件是作为一个正在执行的系统的结果而被创建的,如由DLL实例化形成的COM+对象。

一个组件可以包含多个组件,也可以被包含在其他组件中。

3.9.2 关系

关系是事件之间的联系,组件图中的组件之间存在着依赖关系,用虚箭线表示。

案例3-8

某图书管理系统的类分为4个部分:用户接口模块,主要负责系统和用户的交互,包括Frame类,Dialog类等;业务对象模块,主要负责处理系统中的业务计算,如借书、还书等功能的具体操作;数据存储模块,主要负责处理对数据的存储;通用工具模块,包括系统中的通用函数。

其中业务对象模块具体包括5个类:Item类,即书目类,表示一本实际存在的书籍或杂志;Loan类,即借书业务类,将借阅者和图书馆关联起来,一个Loan对象表示借出的一本书;BorrowerInfomation类,即借阅者信息类,表示一个借阅者;Title类,表示一种书或一种杂志,如《Java编程思想》就是一种书,用1个title表示,如果有两本这样的书,则需要用两个Item表示;Reservation类,即预定信息类,表示一个预定信息。在这5个类中,Item类和Loan类之间互相依赖,Loan类和BorrowerInfomation类之间互相依赖,BorrowerInfomation类和Reservation类之间互相依赖,Reservation类和Title之间互相依赖,Title和Item类之间互相依赖。

组件是类的物理实现,根据以上对类的描述,可得出该图书管理系统的业务对象组件图,如图3-38所示。

图3-38 某图书管理系统的业务对象组件图