UML建模与软件开发设计(四)——包图设计

包图清晰地表达了包间关系。对于大型项目而言,良好的代码组织,对软件的可维护性至关重要。软件的架构设计,思路遵循由大到小,因此大型项目的结构往往从子系统、模块,包开始进行设计。与类图(Class Diagram)相比,包图(Package Diagram)从更宏观的角度来展示软件的架构设计,主要体现在代码组织方面。

1.模块设计
模块与模块可以是相互独立、互不影响的关系,也可以是依赖关系。例如,在下图中,库存模块和采购模块都依赖了中台模块,但库存模块与采购模块是相互独立的关系:
UML建模与软件开发设计(四)——包图设计_第1张图片

2.包与包之间的关系
一个模块通常包括多个包。Package可以理解为文件夹(folder),代码的组织从大到小,分为三个层次:文件夹层,文件层,以及文件内部的块(Block)层(函数块之类的),Package体现的就是文件夹层。Java里面可能是一串文件夹,比如java.lang、java.util等就是Package。在UML中,包通过包图(Package Diagram)进行描述。我们可以通过“Add Diagram”->“Package Diagram”来创建一个包图:
UML建模与软件开发设计(四)——包图设计_第2张图片
包与包之间的关系一般有两种:一种是包含关系,例如,com.yzh包含了com.yzh.dao和com.yzh.service等子包;另一种是依赖关系,例如,com.yzh.service引用了com.core.utils包,我们可以说com.yzh.service包依赖了com.core.utils包。这两种关系对应的StarUML包图组件如下所示:
UML建模与软件开发设计(四)——包图设计_第3张图片
UML建模与软件开发设计(四)——包图设计_第4张图片
`图2-1包与包的包含关系
UML建模与软件开发设计(四)——包图设计_第5张图片
图2-2包与包的依赖关系

例如,在下面的包图中,既体现了包的包含关系,也体现了包的依赖关系:

UML建模与软件开发设计(四)——包图设计_第6张图片
包图(Package Diagram)从宏观角度展示了项目的组织架构,在大型项目设计中,是一种重要的UML图。可以先设计包图m,再设计类图,通过由大到小,由简到繁的设计来展示项目的架构。

你可能感兴趣的:(UML建模与软件开发设计,uml,java,开发语言)