版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第第5章章 包图包图5 .1 包图的概念包图的概念5.2 包的表示包的表示5.3 包图中的关系包图中的关系5.4 阅读包图阅读包图5.5 创建包图创建包图5.6 包图建模包图建模51 包图的概念包图的概念1包包n包就像一个包就像一个“容器容器”,可用于组织模型中,可用于组织模型中的相关元素,以便容易理解。的相关元素,以便容易理解。n将相关的各种类型的模型元素组织成组的将相关的各种类型的模型元素组织成组的通用机制。通用机制。n包的实例没有任何语义。包的实例没有任何语义。 n仅在建模时有意义,而不必转换到可执行仅在建模时有意义,而不必转换到可执行的系统中。的系统中。51 包图的概念包图的概念2包图
2、包图n描述包及其关系的图描述包及其关系的图。图。图5-1是一个典型的包图。是一个典型的包图。n包图包图(Package Diagram) 是维护和控制系统总是维护和控制系统总体结构的重要建模工具。体结构的重要建模工具。51 包图的概念包图的概念3包的作用包的作用n对语义上相关的元素进行分组。对语义上相关的元素进行分组。n提供配置管理单元。提供配置管理单元。n提供并行工作的单元。提供并行工作的单元。n提供封装的命名空间,同一个包中,其元素的名提供封装的命名空间,同一个包中,其元素的名称必须唯一。称必须唯一。51 包图的概念包图的概念3包中的元素包中的元素n包中的元素:包中的元素:类、接口、组件、
3、节点、协作、用类、接口、组件、节点、协作、用例、图例、图以及以及其他包其他包。 n一个模型元素不能被一个以上的包所拥有。一个模型元素不能被一个以上的包所拥有。n如果包被撤销,其中的元素也要被撤销。如果包被撤销,其中的元素也要被撤销。52 包的表示包的表示1包的符号表示包的符号表示nUML中,用中,用文件夹符号文件夹符号来表示一个包。包由一个矩形表来表示一个包。包由一个矩形表示,它包含示,它包含2栏。栏。n最常见的几种包的表示法,如图最常见的几种包的表示法,如图5-2所示:所示:PackageNamePackageNameClassName-1ClassName-2.PackageName类名类
4、名Rose常用表示法常用表示法包名放在第一栏包名放在第一栏在第二栏画出所在第二栏画出所包含的类图形表示包含的类图形表示第二栏列出第二栏列出包含的类名包含的类名包名放在第二栏包名放在第二栏52 包的表示包的表示1包的符号表示包的符号表示n嵌套包及其表示嵌套包及其表示一个包可以包含其他一个包可以包含其他的包;的包;嵌套包可以访问自身嵌套包可以访问自身的元素;的元素;应尽量避免使用嵌套应尽量避免使用嵌套包,一般包,一般2-3层最好。层最好。LibraryUsers嵌套包嵌套包LibrarianBorrower52 包的表示包的表示1包的符号表示包的符号表示n 嵌套包及其表示嵌套包及其表示外部表示法外
5、部表示法52 包的表示包的表示2包的名称包的名称n每个包必须有一个与其他包相区别的名称。每个包必须有一个与其他包相区别的名称。n两种形式:简单名和路径。两种形式:简单名和路径。System:Web:UISystem.Web.UI52 包的表示包的表示3包的元素包的元素n在一个包中可以在一个包中可以拥有拥有各种其他元素,这是一种组各种其他元素,这是一种组成关系。成关系。n每一个包就意味着一个独立的命名空间,两个不每一个包就意味着一个独立的命名空间,两个不同的包,可以具有相同的元素名。同的包,可以具有相同的元素名。n在包中表示拥有的元素时,有两种方法:在包中表示拥有的元素时,有两种方法:一种是一种
6、是在第二栏中列出所属元素名,一种是在第二栏中在第二栏中列出所属元素名,一种是在第二栏中画出所属元素的图形表示画出所属元素的图形表示。52 包的表示包的表示4包的可见性包的可见性公有的(公有的(public) “”受保护的(受保护的(protected) “”私有的(私有的(private)“”52 包的表示包的表示可见性可见性含义含义前缀符号前缀符号公有的公有的Public此元素可以被任何引用该此元素可以被任何引用该包的包中的元素访问。包的包中的元素访问。+受保护的受保护的Protected此元素可被继承该包的包此元素可被继承该包的包中的元素访问。中的元素访问。#私有的私有的private此元
7、素只能被同一个包中此元素只能被同一个包中的元素访问。的元素访问。-4包的可见性包的可见性 包内元素的可见性控制了包外部元素访问包内包内元素的可见性控制了包外部元素访问包内部元素的权限。部元素的权限。53 包图中的关系包图中的关系包之间可以有两种关系:包之间可以有两种关系: 引用和访问依赖引用和访问依赖:在一个包中引入另一个包输:在一个包中引入另一个包输出的元素出的元素 泛化泛化:说明包的家族:说明包的家族 53 包图中的关系包图中的关系1依赖关系依赖关系使用关系使用关系use:说明客户包中的元素以某种方式使用:说明客户包中的元素以某种方式使用提供者包的公共元素。提供者包的公共元素。包含关系包含
8、关系import:提供者包命名空间的公共元素被:提供者包命名空间的公共元素被添加为客户包命名空间上的公共元素添加为客户包命名空间上的公共元素访问关系访问关系access:提供者包命名空间的公共元素被:提供者包命名空间的公共元素被添加为客户包命名空间上的私有元素。添加为客户包命名空间上的私有元素。客户客户提供者提供者53 包图中的关系包图中的关系1依赖关系依赖关系 跟踪关系跟踪关系trace:通常表示一个元素历史地:通常表示一个元素历史地发展成为另一个进化版本。发展成为另一个进化版本。 分析模型是设计模型的元模型,元模型的元分析模型是设计模型的元模型,元模型的元素进化为设计模型,这时指的是模型之
9、间的关素进化为设计模型,这时指的是模型之间的关系,不是元素之间的关系。系,不是元素之间的关系。分析模型分析模型设计模型设计模型元模型元模型53 包图中的关系包图中的关系2泛化关系泛化关系包间的泛化关系与类之间的泛化关系类似。包间的泛化关系与类之间的泛化关系类似。54 阅读包图阅读包图阅读包图的方法如下:阅读包图的方法如下:了解每个包的语义及其包含元素语义。了解每个包的语义及其包含元素语义。理解包间的关系。理解包间的关系。找到依赖复杂的包,从最复杂的包开始阅读,找到依赖复杂的包,从最复杂的包开始阅读,然后依次是简单的包。然后依次是简单的包。54 阅读包图阅读包图例子描述例子描述n分析系统工作流程
10、: 1)通过Internet连接到股票信息服务器,获取实时的股票信息,并存入数据库中。 2)根据用户的输入和选择,从数据库中获取相应的信息,展现在屏幕中。 3)在数据的展现过程中,将需要绘制大量的图表。 举例举例举例举例根据功能模块组织包:根据功能模块组织包: 包分析与功能.NET支持包SocketClient负责连接Internet服务器,获取实时股票信息System.Net.SocketsDataAccess负责从数据库读写实时股票信息System.Data.SqlclientUI负责响应用户输入和选择,并展现信息System.Windows.FormsGraphicGenerate负责根
11、据数据库的信息生成相应的图表System.Drawing举举例例业务 呈现 数据 设计包的原则设计包的原则 在考虑如何对类进行分组并放入不同的包时,在考虑如何对类进行分组并放入不同的包时,主要依据类之间的依赖关系进行分组。包中的类主要依据类之间的依赖关系进行分组。包中的类应该是功能相关的,在建包时,应把概念上和语应该是功能相关的,在建包时,应把概念上和语义上相近的模型元素纳入一个包。依赖关系其实义上相近的模型元素纳入一个包。依赖关系其实是耦合的一种体现,如果两个包中的类之间存在是耦合的一种体现,如果两个包中的类之间存在依赖关系,那么这两个包之间就有了依赖关系,依赖关系,那么这两个包之间就有了依
12、赖关系,也就存在耦合关系。也就存在耦合关系。好的设计要求体现高内聚、好的设计要求体现高内聚、低耦合的特性。低耦合的特性。设计包的原则设计包的原则设计包时,应遵循以下原则:设计包时,应遵循以下原则:重用等价原则重用等价原则共同闭包原则共同闭包原则共同重用原则共同重用原则非循环依赖原则非循环依赖原则设计包的原则设计包的原则重用等价原则重用等价原则 把类放入包中时,应考虑把包作为可重用的把类放入包中时,应考虑把包作为可重用的单元。单元。共同闭包原则共同闭包原则 把那些需要同时改变的类放在同一个包中。把那些需要同时改变的类放在同一个包中。p若一个类的行为或结构的改变要求另一个类做相应的若一个类的行为或
13、结构的改变要求另一个类做相应的改变;改变;p删除了一个类后,另一个类成多余的;删除了一个类后,另一个类成多余的;p两个类之间有大量的消息发送。两个类之间有大量的消息发送。设计包的原则设计包的原则共同重用原则共同重用原则 把不会一起使用的类不要放在同一个包中。把不会一起使用的类不要放在同一个包中。非循环依赖原则非循环依赖原则 包之间的依赖关系不要形成循环。包之间的依赖关系不要形成循环。设计包的原则设计包的原则 合并合并 分解分解 消除循环依赖的示例消除循环依赖的示例AB54 创建包图创建包图绘制包图的基本步骤如下:绘制包图的基本步骤如下: 分析系统的模型元素(通常是对象类),把概念分析系统的模型元素(通常是对象类),把概念上或语义上相近的模型元素归入同一个包。上或语义上相近的模型元素归入同一个包。 对于每一个包,标出其模型元素的可视性,确定对于每一个包,标出其模型元素的可视性,确定包内每个元素的访问属性,是公共、保护或私有。包内每个元素的访问属性,是公共、保护或私有。 确定包与包之间的依赖联系,特别是确定包与包之间的依赖联系,特别是“引入引入”关关系。系。 确定包与包之间的泛化关系。确定包与包之间的泛化关系。 绘制包图。绘制包图。 对结果进行精化和细化。对结果进行精化和
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 个人设备租赁合同模板()
- 中医教育培训合同公证书
- 二手汽车买卖合同(简化版)
- 中小企业劳动合同签订趋势分析
- 云计算服务与域名注册代理合同
- 三人合伙经营合同模板
- 学校清洁服务合同书
- 上海市技术委托合同范文
- 临时劳动合同书
- 二人合伙经营合同范本
- 围术期下肢深静脉血栓预防的术中护理
- 教学设计 分数的再认识 省赛一等奖
- DBJ51-T 151-2020 四川省海绵城市建设工程评价标准
- GB/T 12996-2012电动轮椅车
- 小象学院深度学习-第7讲递归神经网络
- 三方采购协议范本
- 国有金融企业年金管理办法
- 倾听是一种美德
- 《水上加油站安全与防污染技术要求》J
- 项目部组织机构框图(共2页)
- 机动车登记证书
评论
0/150
提交评论