第7章 包图【课堂使用】

上传人:re****.1 文档编号:567547552 上传时间:2024-07-21 格式:PPT 页数:24 大小:1.25MB
返回 下载 相关 举报
第7章 包图【课堂使用】_第1页
第1页 / 共24页
第7章 包图【课堂使用】_第2页
第2页 / 共24页
第7章 包图【课堂使用】_第3页
第3页 / 共24页
第7章 包图【课堂使用】_第4页
第4页 / 共24页
第7章 包图【课堂使用】_第5页
第5页 / 共24页
点击查看更多>>
资源描述

《第7章 包图【课堂使用】》由会员分享,可在线阅读,更多相关《第7章 包图【课堂使用】(24页珍藏版)》请在金锄头文库上搜索。

1、 第7章 包图1 1基础教学基础教学学习内容包图的概念包图的概念包的构成包的构成包的绘制包的绘制2基础教学7.1 包图的概念在UML的建模机制中,模型的组织是通过包来实现的。包可以把所建立的各种模型(包括静态模型和动态模型)组织起来,形成各种功能或用途地模块,并可以控制包中元素的可见性以及描述包之间的依赖关系。包图是在UML中用类似于文件夹的符号表示的模型元素的组合。系统中的每个元素都只能为一个包所有,一个包可嵌套在另一个包中。使用包图可以将相关元素归入一个系统。一个包中可以包含附属包、图表或单个元素 。3基础教学7.1 包图的概念7.1.1 模型的组织结构模型需要有自己的内部组织结构,一方面

2、能够将一个大系统进行分解,降低系统的复杂度;另一方面能够允许多个项目开发小组同时使用某个模型而不发生过多的相互牵涉。如果包的规划比较合理,那么它们能够反映系统的高层架构。4基础教学7.1 包图的概念7.1.2 包图和包包图是一种维护和描述系统总体结构模型的重要建模工具。包图是一种维护和描述系统总体结构模型的重要建模工具。对复杂系统进行建模时,通常需要处理大量的类、接口、构对复杂系统进行建模时,通常需要处理大量的类、接口、构件、节点和图,这就有必要将这些元素进行分组,以方便理件、节点和图,这就有必要将这些元素进行分组,以方便理解和处理整个模型。解和处理整个模型。包图由包之间的关系组成,通过各个包

3、以及包之间关系的描包图由包之间的关系组成,通过各个包以及包之间关系的描述,展现出系统的模块与模块之间的依赖关系。包图模型如述,展现出系统的模块与模块之间的依赖关系。包图模型如下图所示。下图所示。5基础教学7.1 包图的概念7.1.2 包图和包在UML中创建包图的目的有以下三个:1. 在逻辑上把一个复杂的系统模块化2. 组织源代码3. 描述需求高阶概况4. 描述设计的高阶概况6基础教学7.2 包的构成7.2.1 名称在在UMLUML中,包的标准形式是使用两个矩形进行表示的,一个中,包的标准形式是使用两个矩形进行表示的,一个小矩形和一个大矩形,小矩形紧连结在大矩形的左上角上,小矩形和一个大矩形,小

4、矩形紧连结在大矩形的左上角上,包的名称位于大矩形的中间。包的名称位于大矩形的中间。包的名称是一个字符串,它有两种形式:简单名和路径名。包的名称是一个字符串,它有两种形式:简单名和路径名。其中,简单名仅包含一个名称字符串;路径名是以包处于的其中,简单名仅包含一个名称字符串;路径名是以包处于的外围包的名字作为前缀并加上名称字符串,如下图所示。外围包的名字作为前缀并加上名称字符串,如下图所示。7基础教学7.2 包的构成7.2.2 元素包是一种一般性的分组机制,在这个分组机制中可以放置UML类元,如类定义、用例定义、装填定义和类元之间的关系等,在一个包中可以放置三种类型的元素:1.包自身所拥有的元素,

5、如类、接口、组件、节点和用例等。 2.从另一个包中合并或导入元素。 3.另外一个包所访问的元素。 8基础教学7.2 包的构成7.2.3 可见性包对自身所包含的内部元素使用包对自身所包含的内部元素使用privateprivate、protectedprotected或或publicpublic关键字来表示可见性:关键字来表示可见性:1.1.被被privateprivate关关键键字字定定义义的的私私有有元元素素对对包包外外部部元元素素完完全全不可见不可见。2.2.被被protectedprotected关关键键字字定定义义的的被被保保护护的的元元素素只只对对那那些些与与包含这些元素的包有泛化关系

6、的包可见包含这些元素的包有泛化关系的包可见。3. 3. 被被publicpublic定义的公共元素对所有引入的包以及它们定义的公共元素对所有引入的包以及它们 的后代都可见。的后代都可见。9基础教学7.2 包的构成7.2.3 可见性这三种关键字在Rational Rose中如下图所示,包中包含了“ClassA”、“ClassB”和“ClassC”三个类,public关键字以 “+”表示,protected关键字用“#”表示,private关键字用“”表示。10基础教学7.2 包的构成7.2.4 构造型在Rational Rose 中,支持四种包的构造型。1. 1. 业务分析模型包:业务分析模型包

7、: 2.2.业务设计包:业务设计包:11基础教学7.2 包的构成7.2.4 构造型3.3.业务用例模型包:业务用例模型包: 4. CORBAModule4. CORBAModule包:包:12基础教学7.2 包的构成7.2.5 包的子系统子系统是指有单独说明和实现部分的包。它表示具子系统是指有单独说明和实现部分的包。它表示具有对系统其他部分存在接口的连贯模型单元。有对系统其他部分存在接口的连贯模型单元。子系统使用具有构造型关键字子系统使用具有构造型关键字“ “subsystemsubsystem” ”的包表示。的包表示。在在Rational RoseRational Rose中,中,子系统的表

8、示形式如下图子系统的表示形式如下图所示。所示。13基础教学7.2 包的构成7.2.5 包的子系统在Rational Rose中,内部支持的二种系统:1.程序系统。2.业务系统。14基础教学7.3 包图中的关系7.3.1 依赖关系二个包之间存在的依赖关系通常是指这二个包所包含的模型二个包之间存在的依赖关系通常是指这二个包所包含的模型元素之间存在着一个和多个依赖。对于由对象类组成的包,元素之间存在着一个和多个依赖。对于由对象类组成的包,如果二个包的任何对象类之间存在着如果二个包的任何对象类之间存在着任何任何一种依赖,则这二一种依赖,则这二个包之间就存在着依赖关系。个包之间就存在着依赖关系。包的依赖

9、联系同样是使用一根虚箭线表示,虚箭线从依赖源包的依赖联系同样是使用一根虚箭线表示,虚箭线从依赖源指向独立目的包,指向独立目的包,如下图所示如下图所示。15基础教学7.3 包图中的关系7.3.2 泛化关系泛化关系表示了事物的一般和特殊的关系。如果二泛化关系表示了事物的一般和特殊的关系。如果二个包之间存在有泛化关系,就是指其中的特殊性包个包之间存在有泛化关系,就是指其中的特殊性包必须遵循一般性包的接口。包之间的泛化联系与类必须遵循一般性包的接口。包之间的泛化联系与类之间的泛化关系十分类似,类之间的泛化的概念和之间的泛化关系十分类似,类之间的泛化的概念和表示在此大都可以使用,如下图所示。表示在此大都

10、可以使用,如下图所示。16基础教学7.4 包的嵌套包可以拥有其他包作为包内的元素,子包又可以拥包可以拥有其他包作为包内的元素,子包又可以拥有自己的子包,这样可以构成一个系统的嵌套结构,有自己的子包,这样可以构成一个系统的嵌套结构,以表达系统模型元素的静态结构关系。以表达系统模型元素的静态结构关系。包的嵌套可以清晰的表现系统模型元素之间的关系,包的嵌套可以清晰的表现系统模型元素之间的关系,但是在建立模型时包的嵌套不宜过深,包的嵌套的但是在建立模型时包的嵌套不宜过深,包的嵌套的层数一般以层数一般以2 2到到3 3层为宜,如图所示的是嵌套包的结层为宜,如图所示的是嵌套包的结构构。17基础教学7.5

11、绘制包图用例视图、逻辑视图和构件视图在 Rational Rose中本身就是一个包图。一般情况下,我们直接就可以在这些视图中创建包图中的包。 18基础教学7.5 绘制包图7.5.1 包的创建下面我们根据下面我们根据“ “图书管理系统图书管理系统” ”,在,在“ “Logical ViewLogical View” ”(逻辑(逻辑视图)中创建一个名为视图)中创建一个名为“ “Business PackageBusiness Package” ”业务处理的包,业务处理的包,具体步骤如下:具体步骤如下: 1.1.在逻辑视图的图形编辑工具栏中,选择用于创建包的按钮在逻辑视图的图形编辑工具栏中,选择用于

12、创建包的按钮 “ “ ” ”,或者,或者在在 菜单栏中,选择菜单栏中,选择“ “ToolsTools” ”| |“ “CreateCreate” ”| |“ “PackagePackage” ”选项。此时的光标选项。此时的光标变为变为“ “+ +” ”符符 号。号。 2.2.单击图形编辑区域的任意一个空白处,系统在该位置创建一个默认名称为单击图形编辑区域的任意一个空白处,系统在该位置创建一个默认名称为 “ “NewPackageNewPackage” ”的包。的包。 3.3.将将“ “NewPackageNewPackage” ”重新命名为新的名称重新命名为新的名称“ “Business Pa

13、ckageBusiness Package” ”。4.4.单击单击“ “OKOK” ”按钮完成创建包的过程。按钮完成创建包的过程。19基础教学7.5 绘制包图7.5.2 包中类的添加在包图中,可以增加在包所在目录下的类。比如我们在在包图中,可以增加在包所在目录下的类。比如我们在“ “Business PackageBusiness Package” ”包所在的目录下创建了两个类,分别包所在的目录下创建了两个类,分别是是“ “TitleTitle” ”和和“ “LoanLoan” ”。将这两个类添加到包中可以按照。将这两个类添加到包中可以按照以下的步骤进行:以下的步骤进行:1.1.右键单击编辑区

14、中右键单击编辑区中 “ “Business PackageBusiness Package” ”包的图标,弹出快捷菜单。包的图标,弹出快捷菜单。2.2.选择选择“ “Select Compartment Items .Select Compartment Items .” ”命令,弹出如下图所示的命令,弹出如下图所示的“ “Edit Edit CompartmentCompartment” ”对话框。对话框。3.3.选中要添加的类,通过中间的选中要添加的类,通过中间的“ “ALL ALL ” ”按钮将二个类添加到右侧的按钮将二个类添加到右侧的“ “Select ItemsSelect Item

15、s” ”列表中。列表中。4.4.单击单击“ “OKOK” ”按钮完成类的添加。按钮完成类的添加。20基础教学7.5 绘制包图7.5.3 绘制包的关系我们在我们在“ “Logical ViewLogical View” ”(逻辑视图)中添加(逻辑视图)中添加“ “Business Business PackagePackage” ”包和包和“ “UI PackageUI Package” ”包的依赖关系,具体的操作步包的依赖关系,具体的操作步骤如下所示:骤如下所示:1.1.用鼠标左键点击图形工具栏中的用鼠标左键点击图形工具栏中的“ “ ” ”图标。图标。2.2.将鼠标移动到将鼠标移动到 “ “B

16、usiness PackageBusiness Package” ”包上,按下鼠标左键不要松,移包上,按下鼠标左键不要松,移动动 鼠标至鼠标至“ “UI PackageUI Package” ”包后松开鼠标。注意线段箭头的方向为松开鼠标包后松开鼠标。注意线段箭头的方向为松开鼠标 左键时的方向,箭头应由依赖的包指向被依赖的包,不可画反。创建后左键时的方向,箭头应由依赖的包指向被依赖的包,不可画反。创建后 的依赖关系如下图所示。的依赖关系如下图所示。21基础教学7.6 包图建模实例7.6.1 确定包的分类我们使用下列的步骤创建系统的包图:我们使用下列的步骤创建系统的包图:1.1.根据系统的架构需求

17、,确定包的分类准则。根据系统的架构需求,确定包的分类准则。2.2.在系统中创建相关包,在包中添加各种文件,确在系统中创建相关包,在包中添加各种文件,确 定包之间的依赖关系。定包之间的依赖关系。分析分析“ “图书管理系统图书管理系统” ”,我们可以在逻辑视图下确,我们可以在逻辑视图下确定四个包,分别为定四个包,分别为Business PackageBusiness Package业务处理包、业务处理包、UI PackageUI Package界面包和界面包和Database PackageDatabase Package数据库包。数据库包。 22基础教学7.6 包图建模实例7.6.1 确定包的分

18、类Business PackageBusiness Package包是对系统应用功能的抽象,在包中的各包是对系统应用功能的抽象,在包中的各个类封装了系统的状态。在该包中,包含了前文所述的为个类封装了系统的状态。在该包中,包含了前文所述的为实现图书管理的所有类。实现图书管理的所有类。UI PackageUI Package包是对系统数据表达的抽象,在包中的各个类包是对系统数据表达的抽象,在包中的各个类对用户的数据进行表达,并维护与模型中的各个类数据的对用户的数据进行表达,并维护与模型中的各个类数据的一致性。一致性。UI PackageUI Package包中的类包括了系统中所有的界面类。包中的类

19、包括了系统中所有的界面类。该包代表系统界面内容的显示,它完全存在于该包代表系统界面内容的显示,它完全存在于WebWeb层。层。Database PackageDatabase Package包是系统中数据需要对数据库进行存储包是系统中数据需要对数据库进行存储和访问,这个时候我们通常采取提取出来一些单独用于数和访问,这个时候我们通常采取提取出来一些单独用于数据库访问的类的方式。据库访问的类的方式。Database PackageDatabase Package包中包含了与实包中包含了与实现数据库服务有关的全部类。现数据库服务有关的全部类。23基础教学7.6 包图建模实例7.6.2 确定包的关系接

20、下来我们可以根据包之间的关系,在图中将其表达出来。接下来我们可以根据包之间的关系,在图中将其表达出来。在系统的包图中,在系统的包图中,Business PackageBusiness Package包可以对通过包可以对通过Database Database PackagePackage包修改数据状态,并且可以选择包修改数据状态,并且可以选择UI PackageUI Package包中的对包中的对象;象;UI PackageUI Package包可以使用包可以使用Business PackageBusiness Package中的类进行数据中的类进行数据状态的查询,三个包之间是互相依赖的关系。根据这些内容,状态的查询,三个包之间是互相依赖的关系。根据这些内容,我们创建的图书管理系统的完整包图如下图所示。我们创建的图书管理系统的完整包图如下图所示。 24基础教学

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 高等教育 > 研究生课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号