长沙理工大学:《高级软件工程》ppt课件 第6章 包(Package)

第6章包( Package)
第6章 包(Package)

1.包的基本概念 包 是一个容器 包的作用: 把一个大的系统分解为多个小的系统。分解是控制 软件复杂性的重要手段: 结构化方法中,对功能进行分解; OO方法中,将相关类放在一起。 包中元素: 类、接口、组件、结点、用例、协作、图、包等。 包中元素也有可见性。+# 个包形成了一个命名空间,在一个包内同一种元 素的名称必须唯一
1. 包的基本概念 包: 是一个容器。 包的作用: 把一个大的系统分解为多个小的系统。分解是控制 软件复杂性的重要手段: 结构化方法中,对功能进行分解; OO方法中,将相关类放在一起。 包中元素: 类、接口、组件、结点、用例、协作、图、包等。 包中元素也有可见性。+-# 一个包形成了一个命名空间,在一个包内同一种元 素的名称必须唯一

1.包的基本概念 包名规则:简单名或路径名 引入( import):授予一个包中元素可以访问另一个包中的示 出元素的单向许可。 示出( export):包中的公共部分(带+的元素)称为示出。 Client Server OrderForm Database trackingForm loggingService Policies Orderrules GUI:: Window GUI 引入访问不具有传递性: Eventhandler F Client→ Policies→GU Window Client→GU|
1. 包的基本概念 包名规则:简单名或路径名。 引入(import):授予一个包中元素可以访问另一个包中的示 出元素的单向许可。 示出(export):包中的公共部分(带+的元素)称为示出。 Server + Database + LoggingService GUI # EventHandler + Form + Window Client + OrderForm + TrackingForm - Order Policies + OrderRules - GUI::Window 引入访问不具有传递性: Client→Policies→GUI Client→GUI ×

1.包的基本概念 包之间的关系:引入和泛化 泛化关系:包间的泛化关系很象类间的泛化关系。(ROSe中表 示不出)
1. 包的基本概念 包之间的关系:引入和泛化。 泛化关系:包间的泛化关系很象类间的泛化关系。(Rose中表 示不出)

2.包的设计原则 包的设计原则: 共同闭包原则 Common Closure Principle, CCP CCP:把需要同时改变的类放在一个包中。下列情况两个类放 重用等 在一个包中 l"- d 人+ REP:把类放入一个包中,应考虑把包作为可重用的单元。 对于可重用的类,其开发比较快,会不断推出升级版本。 CRP:不会一起使用的类不要放入一个包中。 次 如果包中的一个类A与包中的其它类无依赖关系,当A类房子 或其它类被修改,显然增加了额外的检查工作。 ADP:包之间的依赖关系不要形成循环。 如果存在,将这些包中的元素放入一个大包中
2. 包的设计原则 包的设计原则: 共同闭包原则(Common Closure Principle,CCP) 重用等价原则(Reuse Equivalency Principle,REP) 共同重用原则(Common Reuse Principle,CRP) 非循环依赖原则(Acyclic Dependencies Principle,ADP) CCP: 把需要同时改变的类放在一个包中。下列情况两个类放 在一个包中: 1)一个类的改变要求另一个类做相应改变; 2)删除一个类后,另一个类变成多余; 3)两个类间有大量的消息发送。 该原则,提高包的内聚性、降低包间的耦合度。包越大越好。 该原则,有利于软件维护。 REP: 把类放入一个包中,应考虑把包作为可重用的单元。 对于可重用的类,其开发比较快,会不断推出升级版本。 对于可重用类的使用者来说,不会随着可重用类的每次 升级而修改自己的系统,但在需要升级的时候,可以很容易 地用可重用类的新版本替换旧版本。 该原则,包越小越好。 该原则,从重用人员的角度考虑。 CRP: 不会一起使用的类不要放入一个包中。 如果包中的一个类A与包中的其它类无依赖关系,当A类 或其它类被修改,显然增加了额外的检查工作。 A类修改,其它类也要被检查,反之,其它类修改,A类 也要被检查,是多余的工作。 该原则,包越小越好。 该原则,从重用人员的角度考虑。 ADP: 包之间的依赖关系不要形成循环。 如果存在,将这些包中的元素放入一个大包中

3.包的应用 包是一个容器,提供对UML元素进行分组的功能。 包在一些建模工具中,还有一些特殊应用,如在 RoSe中: 带构造型>的包可用来进行数据模型 和对象模型之间的转换; 带构造型的包代表Web服 务器上的一个虚拟目录
3. 包的应用 包是一个容器,提供对UML元素进行分组的功能。 包在一些建模工具中,还有一些特殊应用,如在 Rose中: 带构造型>的包可用来进行数据模型 和对象模型之间的转换; 带构造型>的包代表Web服 务器上的一个虚拟目录
按次数下载不扣除下载券;
注册用户24小时内重复下载只扣除一次;
顺序:VIP每日次数-->可用次数-->下载券;
- 长沙理工大学:《高级软件工程》ppt课件 第5章 类图和对象图.ppt
- 长沙理工大学:《高级软件工程》ppt课件 第4章 顺序图和协作图.ppt
- 长沙理工大学:《高级软件工程》ppt课件 第3章 用例和用例框图.ppt
- 长沙理工大学:《高级软件工程》ppt课件 第2章 UML概述.ppt
- 长沙理工大学:《高级软件工程》ppt课件 第1章 面向对象技术-UML.ppt
- 《网络与信息安全》课程PPT教学课件(密码学基础).ppt
- 《Visual FoxPro程序设计教程》第三章 项目管理器.ppt
- 《Visual FoxPro程序设计教程》第二章 Visual FoxPro基础及数据运算.ppt
- 《Visual FoxPro程序设计教程》第十一章 报表与标签设计.ppt
- 《Visual FoxPro程序设计教程》第九 章 表单设计.ppt
- 《Visual FoxPro程序设计教程》第十章 菜单设计与应用.ppt
- 《Visual FoxPro程序设计教程》第七章 查询与视图设计.ppt
- 《Visual FoxPro程序设计教程》第八章 面向对象的程序设计.ppt
- 《Visual FoxPro程序设计教程》第六章 结构化程序设计.ppt
- 《Visual FoxPro程序设计教程》第四章 Visual FoxPro 数据库及操作.ppt
- 《Visual FoxPro程序设计教程》第五章 结构化查询语言(SQL).ppt
- 《Visual FoxPro程序设计教程》第一章 数据库系统基础知识.ppt
- 《Visual FoxPro程序设计教程》第四章 Visual FoxPro 数据库及操作.ppt
- 《Visual FoxPro程序设计教程》第十二章 数据库应用程序实例.ppt
- 《Visual FoxPro程序设计教程》第六章 结构化程序设计.ppt
- 长沙理工大学:《高级软件工程》ppt课件 第7章 数据建模.ppt
- 长沙理工大学:《高级软件工程》ppt课件 第8章 状态图和活动图.ppt
- 长沙理工大学:《高级软件工程》ppt课件 第9章 组件图.ppt
- 长沙理工大学:《高级软件工程》ppt课件 第10章 配置图.ppt
- 长沙理工大学:《高级软件工程》ppt课件 第12章 业务建模.ppt
- 长沙理工大学:《高级软件工程》ppt课件 第14章 UML与设计模式.ppt
- 长沙理工大学:《高级软件工程》ppt课件 第13章 Web建模.ppt
- 西安电子科技大学:《计算机辅助设计》课程教学资源(PPT讲稿,简版)复习模拟题(一).ppt
- 西安电子科技大学:《计算机辅助设计》课程教学资源(PPT讲稿,简版)复习模拟题(二).ppt
- 西安电子科技大学:《计算机辅助设计》课程教学资源(PPT讲稿,简版)第一章 绪论.ppt
- 西安电子科技大学:《计算机辅助设计》课程教学资源(PPT讲稿,简版)第二章 基础命令.ppt
- 西安电子科技大学:《计算机辅助设计》课程教学资源(PPT讲稿,简版)第三章 绘图命令.ppt
- 西安电子科技大学:《计算机辅助设计》课程教学资源(PPT讲稿,简版)第四章 编辑修改命令.ppt
- 西安电子科技大学:《计算机辅助设计》课程教学资源(PPT讲稿,简版)第五章 设置命令.ppt
- 西安电子科技大学:《计算机辅助设计》课程教学资源(PPT讲稿,简版)第六章 尺 寸标注.ppt
- 西安电子科技大学:《计算机辅助设计》课程教学资源(PPT讲稿,简版)第七章 辅助命令.ppt
- 西安电子科技大学:《计算机辅助设计》课程教学资源(PPT讲稿,简版)第八章 表格、图幅及几何作图.ppt
- 西安电子科技大学:《计算机辅助设计》课程教学资源(PPT讲稿,简版)第九章 建筑工程图.ppt
- 西安电子科技大学:《计算机辅助设计》课程教学资源(PPT讲稿,简版)第十一章 三维立体造型原理及概述.ppt
- 西安电子科技大学:《计算机辅助设计》课程教学资源(PPT讲稿,简版)第十二章 实体制作命令.ppt