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

3.11 包图

在UML中,包是一种对元素进行分组管理的工具,而包图(Package Diagram)则是一种维护和描述系统总体结构模型的重要建模工具,通过对图中各个包及包之间关系的描述,展现出系统的模块与模块之间的关系。一个包图可以由任何一种UML图组成,通常是UML用例图或UML类图,图3-42是某图书管理系统的包图。

图3-42 某图书管理系统包图

3.11.1 包

包是对元素进行分组的机制,其拥有的元素可以是类、接口、用例、组件、节点和协作,还可以是其他包或图,一个元素不能被一个以上的包所拥有,如果包被撤销,其中的元素也要被撤销。包用一个带标签的文件夹符号表示,可以只标明包名,也可以标明包中的元素,如图3-43所示。

图3-43 包

3.11.2 包间关系

包之间的关系总体上可以概括为依赖和泛化两种关系,依赖关系是指包所包含的元素之间存在着一个或多个依赖关系,也就是说,如果两个包的任何元素之间存在着依赖关系,则这两个包之间就存在着依赖关系。包的依赖关系同样是使用一根虚箭线表示,虚箭线指向被依赖的包。

案例3-10

现为某销售管理系统建立类包图,根据逻辑功能将系统中的类分为界面类、客户类、服务器类、数据处理类、规则类几个组,并创建相应的类包,分别命名为GUI、Windows GUI、Web GUI、Client、Server、Rule、Data Sqlclient。

1)首先Client包负责订单的输入,并通过Server包来管理用户的登录和数据库存储,而Server包通过Data Sqlclient数据访问工具包来实现与数据库的实际交互,由此可得出Client包依赖Server包,Server包依赖Data Sqlclient包。

2)其次Rule包负责处理一些规则,并引用一个具体的窗体,而Client包通过引用Rule来实现整个窗体和表单的显示、输入等,并且还将暂存订单信息,因此Client包依赖Rule包,Rule包依赖GUI包。

3)最后,GUI有两个具体实现,一个是针对C/S的Windows GUI,另一个是实现B/S的Web GUI,这三个包之间存在泛化关系。

根据以上分析可建立该销售管理系统的类包图,如图3-44所示。

图3-44 某销售管理系统类包图