第5章uml包图

第5章uml包图

ID:21855384

大小:972.00 KB

页数:23页

时间:2018-10-20

第5章uml包图_第1页
第5章uml包图_第2页
第5章uml包图_第3页
第5章uml包图_第4页
第5章uml包图_第5页
资源描述:

《第5章uml包图》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第5章包图包图就是用来描述包及其关系的图,我们常用包图来描述系统、子系统的宏观组成和结构。25.1什么是包包是用于分组的符号,常用来对一组相同的UML元素进行分组存放和管理。UML中的包相当于文件系统中的文件夹,UML中的一个包直接对应于Java中的一个包。在Java中,一个包可能含有其他包、类或者同时含有这两者。1.包的示例2.包中的元素3.包的作用35.2什么是包图1.包图示例2.包图的作用3.包图中的元素45.3包的表示在UML中用文件夹符号来表示一个包。即一个包由两个矩形组成,上面是一个小矩形,下面是一个大矩形。图5-3就是最常见的包表示法。图中包

2、的名称是UI,包中包含一个类Page。55.3.1包命名1.包名称的位置2.包名称的书写格式包名称的书写格式有两种,即简单名和全名。65.3.2包中的元素1.包中元素是类和接口2.包中的元素是用例3.包中元素是包4.包中元素的可见性5.访问权限75.3.3用构造型表示包一个包的具体新特征有很多,为了表示包的新特性,UML提供了5种构造型来描述包的新特征。下面分别说明这5种构造型的语义。(1)<>符号:表示包代表一个系统。(2)<>符号:表示包代表某个子系统。(3)<>符号:表示包是由其他包构成的一个视图

3、。(4)<>符号:表示包是一个代理包,该代理包为其他包提供公共服务。(5)<>符号:表示包代表一个框架。85.4包图中的关系包图中包间的关系有两种,即依赖关系和泛化关系。95.4.1依赖关系1.<>关系2.<>关系105.4.1依赖关系3.<>关系4.<>关系115.4.2泛化关系包间的泛化关系类似于类间的泛化关系,子包继承了父包的公共元素和保护元素,并可以增加新的元素。在使用父包的地方,可以用子包代替。如图5-13所示,父包是GUI,它有两个子包,分别是G1和G2。

4、125.5包的传递性包间的传递性是指:如果包X与包Y存在关系,包Y与包Z存在关系,那么,包X与包Z也存在关系。<>依赖是可传递的,<>依赖是不可传递的。当客户包与提供者包之间是<>依赖时,提供者包中的公共元素就成为客户包中的公共元素,这些公共元素在包外同样是可以访问的。如图5-14所示,Z包中的公共元素成为Y包的公共元素,同时,Y包中的公共元素成为X包中的公共元素,因此,Z包中的公共元素能被X包访问。所以,X、Y、Z包间的<>关系存在传递性。135.5包的传递性当客户包与提供者包之间是<

5、cess>>依赖时,提供者包中的公共元素就成为客户包中的私有元素,这些私有元素在包外是不可以访问的。如图5-15所示,Z包中的公共元素成为Y包的私有元素,而X包只能访问Y包中的公共元素,因此,X包不能访问Z包中的公共元素。所以,X、Y、Z包间的<>关系不存在传递性。145.6创建包图的方法绘制包图的基本过程主要有以下3个步骤。(1)寻找包。(2)确定包之间的关系。(3)确定包内元素的可见性。“最小化包间的耦合关系”的原则是:最大限度减少包之间的依赖,进行包封装时,避免包之间的循环依赖;最小化每个包中public、protected元素的个数

6、,最大化每个包中private元素的个数。155.6.1标识候选包在分析阶段,我们以对象模型和用例模型为依据,把关系紧密的类分到同一个包中,把关系松散的类分到不同的包中。确定包的过程包含3个步骤:第一步,以类图为依据,寻找候选包;第二步,对候选包进行调整;第三步,消除包的循环依赖。标识候选包的原则如下。(1)把类图中关系紧密的类放到一个包中。(2)在类层次结构中,把同一层次中的类放在同一包中,不同层次中的类放在不同的包中。165.6.2调整候选包在已经识别一组候选包后,减少包间依赖,最小化每个包中public、protected元素的个数,最大化每个包中p

7、rivate元素的个数。做法如下。(1)在包间移动类。(2)添加包、分解包、合并包或删除包。通常,在分析阶段,将类封装为包模型时,应该尽量使包模型简单。起初,将类图转换为包图时,不需考虑包间的泛化和依赖关系,仅当使用诸如包泛化和依赖关系能简化包模型时,才使用这些包整理技术。除了保持简单,还应该避免嵌套包。包的嵌套结构越深,模型变得越难理解。我们曾见过非常深层的嵌套包,而每个包仅包含一个或两个类。这些模型更像是标准的、自上而下的功能分解,而不是包模型。作为经验法则,希望每个包具有4~10个分析类。然而,对于所有的经验法则,却存在例外,如果打破某个法则使得模型

8、更加清晰,就采用这个法则。有时,必须引入只带有一个或者两个类的包,

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。