UML总结—包图(Package Diagram)

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/ggibenben1314/article/details/8570162

  一、什么是包

在面向对象的软件开发过程中,类显然是构建整个系统的基本构造块。但是对于庞大的应用系统而言,包含的类是成百上千的,再加上其间“阡陌纵横”的关联关系,多重性等,必然大大超出了人们可以处理的复杂度。因此,引入包这个构造块。包相当于建模元素的容器。通过包可以把类、用例、构件等元素聚集在一起,构成更高层的单位。

二、包的作用

1、对语义上相关的元素进行分组

2、定义模型中的“语义边界”

3、提供配置管理单元

4、在设计时,提供并行工作的单元

5、提供封装的命名空间,其中所有名称必须唯一

三、包的表示法

用带标签的文件夹符号来表示,可以只表明包名,也可以标明包中的内容

 

四、包的依赖关系

1、《use》关系

是一种默认的依赖关系,如果在依赖关系中没有指名类型,就默认为《use》关系

   《use》关系说明(客户包)发出者中的元素以某种方式使用(提供者包)箭头指向的包的公共元素,也就是说发出者包依赖于箭头指向的包

2、《import》关系

说明提供者包的命名空间添加到客户包的命名空间中,客户包中的元素也能访问提供者包中的所有公共元素

3、《access》关系

说明客户包中的元素能访问提供者包中的所有公共元素,但是命名空间不合并,在客户包中必须使用路径名。

《use》和《access》的区别:《use》表示包中元素间的依赖,而《access》依赖却不存在包中元素的依赖,只简单表达包间的一般依赖。

4、《trace》关系

表示一个包到另一个包的发展历史

五、绘制包图

1、遵循“最小化系统间的耦合关系”原则:

   最小化包之间的依赖,最小化每个包中的public、protected元素的个数,最大化每个包中private元素的个数

2、建模时避免包之间的循环依赖,也就是不能包含相互依赖的情况。

应避免出现的模型:

六、包图实例

 

 

 

 

 

展开阅读全文

没有更多推荐了,返回首页