《第5讲包图与组成结构图分析课件》由会员分享,可在线阅读,更多相关《第5讲包图与组成结构图分析课件(50页珍藏版)》请在金锄头文库上搜索。
1、包图与组成结构图包图与组成结构图5.15.1 包图包图包图包图5.25.2 组成结构图组成结构图组成结构图组成结构图第第5讲讲包图与组成结构图包图与组成结构图5.1.1 5.1.1 概述概述概述概述5.1.25.1.2 包的关系包的关系包的关系包的关系5.1.35.1.3 包的设计原则包的设计原则包的设计原则包的设计原则5.1.45.1.4 包图包图包图包图第第5讲讲5.1 包图包图包图与组成结构图包图与组成结构图5.1.1.1 5.1.1.1 包的概念包的概念包的概念包的概念5.1.1.25.1.1.2 包的命名包的命名包的命名包的命名5.11.35.11.3 包的可见性包的可见性包的可见性
2、包的可见性5.11.45.11.4 包图包图包图包图第第5讲讲5.1.1 概述概述 1. 包包 包包(Package): 是是UML用来组织模型元素的用来组织模型元素的模型元素。模型元素。 可以把包比作一个存放模型元素的箱子或容可以把包比作一个存放模型元素的箱子或容器,在它里面可以存放多个模型元素。器,在它里面可以存放多个模型元素。 包中可以包含类、构件、用例、节点、活动、包中可以包含类、构件、用例、节点、活动、状态、包等其他模型元素。状态、包等其他模型元素。包的定义包的定义包的定义包的定义5.1.1.15.1.1.1 2.包的表示包的表示 UMLUML用带把的矩形框来表示包。用带把的矩形框来
3、表示包。简单包名简单包名路径包名路径包名包的定义包的定义包的定义包的定义5.1.1.15.1.1.1 3.包中元素的可见性包中元素的可见性 包中的元素对其他包可以访问,也可以隐藏,包中的元素对其他包可以访问,也可以隐藏,可见性具有可见、保护和私有三种形式可见性具有可见、保护和私有三种形式。可见可见保护保护私有私有包的定义包的定义包的定义包的定义5.1.1.15.1.1.1 4.包中元素的显现性包中元素的显现性 包中的元素可以对外显现,也可以隐藏包中的元素可以对外显现,也可以隐藏。显现显现隐藏隐藏包的定义包的定义包的定义包的定义5.1.1.15.1.1.1 5.包成员包成员 包成员是包中的元素,
4、例如下图中的包成员是包中的元素,例如下图中的“检索检索图书图书”用例就是用例就是“处理订单处理订单”包的成员。包的成员。包成员包成员包的定义包的定义包的定义包的定义5.1.1.15.1.1.1 1. 包名包名 包名应由标识符表示,并且用能够表示包含包名应由标识符表示,并且用能够表示包含义的名字。包的名字放到包的顶部,或包的内义的名字。包的名字放到包的顶部,或包的内面。例如:面。例如: 包的命名包的命名包的命名包的命名5.1.1.25.1.1.2 2. 包成员的命名包成员的命名 包中成员的名字不允许相同。包中成员的名字不允许相同。 非限定名非限定名:成员的名字,不包括包的名字。:成员的名字,不包
5、括包的名字。 例如,下图例如,下图“货品货品” 限定名限定名: 成员前面缀包名。例如,成员前面缀包名。例如, B:B:货品货品包的命名包的命名包的命名包的命名5.1.1.25.1.1.2 包的可见性是指包中成员被其他包或模包的可见性是指包中成员被其他包或模型元素访问的程度型元素访问的程度 ,分以下三种情况分以下三种情况: 可见可见可见可见public : + public : + 受限受限受限受限protected : #protected : # 私有私有私有私有private : -private : -包的可见性包的可见性包的可见性包的可见性5.1.1.35.1.1.3 包图用来展现包和
6、包之间的关系。包图用来展现包和包之间的关系。包图包图包图包图5.1.1.45.1.1.4书店图书管理的包图:书店图书管理的包图:包图与组成结构图包图与组成结构图5.1.2.1 5.1.2.1 依赖关系依赖关系依赖关系依赖关系5.1.2.25.1.2.2 导入关系导入关系导入关系导入关系5.1.2.35.1.2.3 合并关系合并关系合并关系合并关系5.1.2.45.1.2.4 包含关系包含关系包含关系包含关系第第5讲讲5.1.2 包的关系包的关系1. 包依赖关系的含义包依赖关系的含义 如果一个包要访问或导入另外一个包中的元素,则两个如果一个包要访问或导入另外一个包中的元素,则两个包之间存在依赖关
7、系。包之间存在依赖关系。 包的依赖关系用包的依赖关系用UMLUML中的虚线箭头来表示中的虚线箭头来表示, ,由源包指向被由源包指向被依赖的独立包。依赖的独立包。依赖关系依赖关系依赖关系依赖关系5.1.2.15.1.2.12. 包依赖的类型包依赖的类型 1)使用:)使用:表示一个包中的元素要使用到另外一表示一个包中的元素要使用到另外一个包中的元素个包中的元素 。依赖关系依赖关系依赖关系依赖关系5.1.2.15.1.2.12. 包依赖的类型包依赖的类型 2)抽象:)抽象:如果一个包的元素是对另外一个包元如果一个包的元素是对另外一个包元素的抽象,则两个包之间存在抽象关系素的抽象,则两个包之间存在抽象
8、关系 。依赖关系依赖关系依赖关系依赖关系5.1.2.15.1.2.12. 包依赖的类型包依赖的类型 3)跟踪:)跟踪:如果一个包的元素是对另外一个包元如果一个包的元素是对另外一个包元素的深化,则两个包之间存在跟踪关系素的深化,则两个包之间存在跟踪关系 。依赖关系依赖关系依赖关系依赖关系5.1.2.15.1.2.11. 导入关系的含义导入关系的含义 导入导入(import)(import)是指将是指将A A包的元素导入到包的元素导入到B B包中,使得导入到包中,使得导入到B B包中的包中的A A包中的元素在包中的元素在B B包中的访问程度等同于包中的访问程度等同于B B包的元素。包的元素。导入关
9、系导入关系导入关系导入关系5.1.2.25.1.2.22. 元素导入元素导入 元素导入元素导入是指将包内任意元素导入到另外一个包中。是指将包内任意元素导入到另外一个包中。导入关系导入关系导入关系导入关系5.1.2.25.1.2.23. 包导入包导入 包导入包导入是指将一个包中的所有元素导入到另外一个包中。是指将一个包中的所有元素导入到另外一个包中。导入关系导入关系导入关系导入关系5.1.2.25.1.2.2 包合并包合并(package merge)(package merge)是将源包的元素合并到目标包中,是将源包的元素合并到目标包中,以扩展目标包的内容。合并之后,源包元素的特性在自己以扩展
10、目标包的内容。合并之后,源包元素的特性在自己原有特性的基础上增加目标包的特性。原有特性的基础上增加目标包的特性。 合并关系合并关系合并关系合并关系5.1.2.35.1.2.3包合并包合并合并的结果合并的结果 包的包含包的包含(include)(include) 关系是指一个包可以嵌套另外一个包关系是指一个包可以嵌套另外一个包作为自己的子包,而且允许多层嵌套作为自己的子包,而且允许多层嵌套 。 包含关系包含关系包含关系包含关系5.1.2.45.1.2.4 3. 包的嵌套包的嵌套 包之中可以嵌套子包。包之中可以嵌套子包。 包图包图5.1.3.1 5.1.3.1 重用等价原则重用等价原则重用等价原则
11、重用等价原则5.1.3.25.1.3.2 共同重用原则共同重用原则共同重用原则共同重用原则5.1.3.35.1.3.3 共同封闭原则共同封闭原则共同封闭原则共同封闭原则5.1.3.45.1.3.4 无循环依赖原则无循环依赖原则无循环依赖原则无循环依赖原则第第5讲讲5.1.3 包的设计原则包的设计原则1、重用等价原则、重用等价原则 对于同类可重用的模型元素尽量放到一个包对于同类可重用的模型元素尽量放到一个包中,不要把可重用模型元素和不可重用的模型中,不要把可重用模型元素和不可重用的模型元素混到一个包中。元素混到一个包中。 2、共同重用原则、共同重用原则 把同一个应用要重用的多个模型元素放到同一把
12、同一个应用要重用的多个模型元素放到同一个包中,以减少包间的依赖,提高包的独立性。个包中,以减少包间的依赖,提高包的独立性。 3、共同封闭原则、共同封闭原则 把可能同时修改,同时维护的模型元素放到把可能同时修改,同时维护的模型元素放到一个包中,以便于维护和升级。一个包中,以便于维护和升级。4、非循环依赖原则、非循环依赖原则 包之间的依赖关系不要形成循环:即包之间的依赖关系不要形成循环:即A依赖依赖B,B依赖依赖C,C又依赖又依赖A。包图包图5.1.4.1 5.1.4.1 分类组织模型元素分类组织模型元素分类组织模型元素分类组织模型元素5.1.4.25.1.4.2 模型结构建模模型结构建模模型结构
13、建模模型结构建模 5.1.4.35.1.4.3 命名空间建模命名空间建模命名空间建模命名空间建模 第第5讲讲5.1.4 包图的作用包图的作用 利用包来有效分类组织模型元素。例如:利用包来有效分类组织模型元素。例如: 分类组织模型元素分类组织模型元素分类组织模型元素分类组织模型元素5.1.4.15.1.4.1 利用包来建立软件结构模型:利用包来建立软件结构模型: 模型结构建模模型结构建模模型结构建模模型结构建模5.1.4.25.1.4.2 一个包就是一个命名空间,在包中的所有命名元素都可一个包就是一个命名空间,在包中的所有命名元素都可以通过元素名称来标识。以通过元素名称来标识。 命名空间建模命名
14、空间建模命名空间建模命名空间建模5.1.4.35.1.4.3包图和组成结构图包图和组成结构图5.2.1 5.2.1 组成结构图的提出组成结构图的提出组成结构图的提出组成结构图的提出5.2.25.2.2 组成结构图的概念组成结构图的概念组成结构图的概念组成结构图的概念5.2.35.2.3 组成结构图的要素组成结构图的要素组成结构图的要素组成结构图的要素5.2.45.2.4 协作协作协作协作第第5讲讲5.2 组成结构图组成结构图 组成关系虽然能够反映整体与部分的组成关系,但反映组成关系虽然能够反映整体与部分的组成关系,但反映不出整体和各部件之间的结构关系。不出整体和各部件之间的结构关系。 为了反映
15、类的组成结构提出组成结构图。为了反映类的组成结构提出组成结构图。组成结构图的提出组成结构图的提出组成结构图的提出组成结构图的提出5.2.15.2.1 组组成成结结构构图图(Composite (Composite Structure Structure Diagram)Diagram)也也被被称称为为复复合合结结构构图图,用用来来描描述述类类与与其其成成员员的的组组成成结结构构关关系系,成成员员之之间的连接关系,以及端口及协作的一种图。间的连接关系,以及端口及协作的一种图。组成结构图的概念组成结构图的概念组成结构图的概念组成结构图的概念5.2.25.2.2 1 1 类与其成员类与其成员 一一个
16、个类类的的成成员员是是指指与与该该类类存存在在组组成成关关系系的的其其他他类类。在在组组成结构图中,把类的成员放到类的内部来描述成结构图中,把类的成员放到类的内部来描述 。组成结构图的要素组成结构图的要素组成结构图的要素组成结构图的要素5.2.35.2.3 2 2 成员的多重性成员的多重性 多多重重性性在在组组成成结结构构图图中中表表示示在在成成员员类类名名的的右右边边或或下下方方。一一个个教教室室中中最最少少应应该该有有3030张张课课桌桌,也也可可以以更更多多,一一个个讲讲台台,可以配置可以配置1 1个投影。个投影。组成结构图的要素组成结构图的要素组成结构图的要素组成结构图的要素5.2.3
17、5.2.3 3 3 成员的连接成员的连接 在在组组成成结结构构图图中中,成成员员之之间间如如果果存存在在关关系系,可可以以用用连连接接符符连连接接。连连接接符符用用在在两两个个成成员员之之间间的的一一条条连连线线表表示示,成成员员之之间间存存在在的的关关联联、组组成成、泛泛化化、依依赖赖,以以及及动动态态的的消消息息调调用用关系都采用连接符表示关系都采用连接符表示 。组成结构图的要素组成结构图的要素组成结构图的要素组成结构图的要素5.2.35.2.3 4 4 类的关联类的关联 组组成成结结构构图图还还能能表表示示与与其其关关联联的的类类,关关联联的的类类在在组组成成结结构构图中用边框为虚线的矩
18、形框表示。图中用边框为虚线的矩形框表示。组成结构图的要素组成结构图的要素组成结构图的要素组成结构图的要素5.2.35.2.3 5 5 类的端口类的端口 端端口口表表示示类类与与外外部部部部件件交交互互的的交交互互点点,类类自自身身是是一一个个封封装装体体,它它通通过过端端口口与与外外部部发发生生交交互互关关系系,端端口口表表示示为为在在类类边边线上的一个小矩形框。线上的一个小矩形框。 组成结构图的要素组成结构图的要素组成结构图的要素组成结构图的要素5.2.35.2.3 1 1 协作的含义协作的含义 协协作作(collaboration)(collaboration)描描述述为为完完成成一一项项
19、功功能能,涉涉及及到到的的承承担相应角色的实体及其这些实体相互之间的联系。担相应角色的实体及其这些实体相互之间的联系。 例例如如,“客客户户登登录录”功功能能涉涉及及到到的的实实体体有有登登录录界界面面,登登录录控控制制器器,以以及及客客户户等等实实体体。而而且且这这三三者者在在登登录录中中分分别别承承担担接接收收信信息息,控控制制登登录录过过程程和和信信息息存存储储的的角角色色,登登录录就就可可以以称为一个协作。称为一个协作。协作协作协作协作5.2.45.2.4 2 2 协作的表示协作的表示 UMLUML用用虚虚线线椭椭圆圆表表示示协协作作,协协作作名名写写到到椭椭圆圆内内,参参与与协协作作
20、的实体放到椭圆内的实体放到椭圆内 。协作协作协作协作5.2.45.2.4 3 3 协作的用途协作的用途 1 1)用例实现建模)用例实现建模协作协作协作协作5.2.45.2.4 3 3 协作的用途协作的用途 2 2)设计模式建模)设计模式建模协作协作协作协作5.2.45.2.4 小结小结小结小结教学进程教学进程教学进程教学进程 5.1.15.1.1包的概念包的概念包的概念包的概念 5.1.3 .1.3 包的设计原则包的设计原则包的设计原则包的设计原则 5.1.1.1 .1.1.1 包的概念包的概念包的概念包的概念 5.1.3.1 5.1.3.1 重用等价原则重用等价原则重用等价原则重用等价原则
21、5.1.1.2 .1.1.2 包的命名包的命名包的命名包的命名 5.1.3.2 5.1.3.2 共同重用原则共同重用原则共同重用原则共同重用原则 5.1.1.3 5.1.1.3 包的可见性包的可见性包的可见性包的可见性 5.1.3.3 5.1.3.3 共同封闭原则共同封闭原则共同封闭原则共同封闭原则 5.1.1.4 5.1.1.4 包图包图包图包图 5.1.3.4 5.1.3.4 无循环依赖原则无循环依赖原则无循环依赖原则无循环依赖原则 5.1.2 5.1.2 包的关系包的关系包的关系包的关系 5.1.4 5.1.4 包的应用包的应用包的应用包的应用 5.1.2.1 .1.2.1 依赖关系依赖
22、关系依赖关系依赖关系 5.1.4.1 5.1.4.1 分类组织模型元分类组织模型元分类组织模型元分类组织模型元素素素素 5.1.2.2 .1.2.2 导入关系导入关系导入关系导入关系 5.1.4.2 5.1.4.2 模型结构建模模型结构建模模型结构建模模型结构建模 5.1.2.3 5.1.2.3 合并关系合并关系合并关系合并关系 5.1.4.3 5.1.4.3 命名空间建模命名空间建模命名空间建模命名空间建模 5.1.2.4 5.1.2.4 包含关系包含关系包含关系包含关系第第第第5 5讲讲讲讲 包图包图包图包图 重要知识点重要知识点重要知识点重要知识点 小结小结小结小结教学进程教学进程教学进
23、程教学进程第第第第5 5讲讲讲讲 包图和组成结构图包图和组成结构图包图和组成结构图包图和组成结构图 重要知识点重要知识点重要知识点重要知识点 5.2 .2 组成结构图组成结构图组成结构图组成结构图 5.2.1 .2.1 组成结构图的提出组成结构图的提出组成结构图的提出组成结构图的提出 5.2.2 .2.2 组成结构图的概念组成结构图的概念组成结构图的概念组成结构图的概念 5.2.3 5.2.3 组成结构图的要素组成结构图的要素组成结构图的要素组成结构图的要素 5.2.3 5.2.3 协作协作协作协作ENDEND教学进程教学进程教学进程教学进程本讲作业本讲作业本讲作业本讲作业一一 简答题简答题(
24、1) (1) 什么叫包?什么叫包?什么叫包?什么叫包?(2) (2) 包之间存在哪几种关系?包之间存在哪几种关系?包之间存在哪几种关系?包之间存在哪几种关系?(3) (3) 包图有什么作用?包图有什么作用?包图有什么作用?包图有什么作用?ENDEND(1)包的可见性有(包的可见性有( ),私有和(),私有和( )几种。)几种。 (2)包的依赖关系可以分为(包的依赖关系可以分为( ),抽象和(),抽象和( )几种形式。)几种形式。 (3)包导入可以分为(包导入可以分为( )和()和( )两种类型。)两种类型。 (4)包的包含关系是指一个包可以(包的包含关系是指一个包可以( )另外一个包作为自己的)另外一个包作为自己的( )。)。 教学进程教学进程教学进程教学进程本讲作业本讲作业本讲作业本讲作业二二 填空题填空题讨论汇报题:讨论汇报题:讨论汇报题:讨论汇报题:教学进程教学进程教学进程教学进程 1、举例说明包在软件结构建模中的作用?、举例说明包在软件结构建模中的作用? 2、包在现实中有无与之对应的事物,为什么?、包在现实中有无与之对应的事物,为什么?