《软件工程实用教程》第6章面向对象的软件设计_百._第1页
《软件工程实用教程》第6章面向对象的软件设计_百._第2页
已阅读5页,还剩19页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、丄二二二二二二二二二二第6章面向对象的软件设计本章学习内容:1.理解面向对象软件设计的基本原理2 掌握系统设计的过程与方法3.掌握详细设计的内容与过程4 了解面向对象的实现技术5.了解面向对象测试的概念与方法第6章面向对象的软件设计6. 1面向对象软件设计概述6.1.1面向对象设计准则1.模块化2.抽象3.信息隐蔽4.低耦合5.高内聚6.可重用第6章面向对象的软件设计第6章面向对象的软件设计2.子系统划分设计准则:“ 子系统应具有良好的接口,通过接口和系统 的其他部分通信;/ 除了少数的“通信类”夕卜,子系统中的类应 只和该子系统中的其他类协作;“子系统的数量不宜太多;/ 可以在子系统内部再次

2、划分,以降低复杂度。避免循环依赖第6章面向对象的软件设计6.2.2物理体系结构建模用构件图和部署图来描述系统的物理体系结构1.构件图构件图就是描述构件类及其它们之间的关系。(1)构件间的依赖关系:主要是依赖关系,用 来表示一个构件需要另一些构件才能有完整 的定义。(2)接口:是一个构件提供给其他构件的一组 操作AWTEvenlIteniListenerCheckbox第6章面向对象的软件设计例:顾客恵务 程序厂 定单查询 二匸程序3_支伺外理-U程序,7 令_I- 1数据库官理程序第6章面向对象的软件设计2.部署图部署图描述了处理器.设备和软件构件运行时 的体系结构。-(1)结点:是某种计算资

3、源的物理对象,包括计算机、设备(如打印机.通信设备)等连接:连接用一条直线表不,它指出结点之间 存在着某种通信路径,并指出通过哪条通信路 径可使这些结点间交换对象或发送消息第6章面向对象的软件设计举例:GuT T rfn应用巌药罔构件之间的耦合度亦会增加。按耦合程度由高到低 的排列顺序是:内容耦合、控制耦合、印记耦合、 数据耦合、例程调用耦合、类型使用耦合、包含或 导入耦合、外部耦合。第6章面向对象的软件设计3.实施构件级设计的步骤1)标识出所有与问题域相对应的设计类。2)确定所有与基础设施域相对应的设计类。在 分析模型中并没有描述这些类, 但此时应对 它们进行描述,例如,GUI构件.操作系统

4、 构件、对象和数据管理构件等。3)细化所有不能作为复用构件的设计类。详细 描述实现类所需要的所有接口、属性和操作。第6章面向对象的软件设计(2)构件级设计指导方针1)保持高内聚性。内聚性指构件或类只封装那些相互关系密切,以及与构件或类自身有密切关系的属性和 操作。按内聚程度由高到低的排列顺序是:功能内 聚、分层内聚、通信内聚、顺序内聚、过程内聚、 暂时内聚和实用内聚。2)保持低耦合性。耦合是构件或类之间彼此联系程度的一种定性度量。着构件或类相互依赖越来越多,第6章面向对象的软件设计第6章面向对象的软件设计(7)纯虚构模式:有时我们可以虚构一个人造类 把一组高度内聚的职责分配给它,该人造类只 是

5、虚构出来的,不代表现实世界中的任何实体 这就是纯虚构模式。J8)中介者模式:把一些职责分配给一个虚构的 中介类,让该中介类来协调多个类的协作关系(9)不要和陌生人说话:这个模式要求一个类尽 量只和它的直接对象交互,避免和间接对象进 行交互,这样,它就可以和最少的类产生耦合 使整个系统的耦合度保持最低。6.4面向对象软件实现面向对象实现阶段的主要任务:/选择合适的面向对象的编程语言与开发环境 “ 基于选定的语言和开发环境编码实现详细设 计中所得到的对象、算法、公式和规则等;“将编写好的各个类代码模块根据类的相互关 系集成;/对软件进行测试和调试,完成各个部分和整 个系统。第6章面向对象的软件设计

6、向对象语言的技术特点 支持类与对象概念的机制 实现整体/部分结构的机制 实现一般/特殊结构的机制 对于实现属性和服务的机制 类型检査 类库第6章面向对象的软件设计(7)效率(8)持久保存对象(9)参数化类(10)开发环境2.面向对象语言的选择(1)可复用性(2)类库和开发环境6. 4. 1程序设计语言(2)(3)(4)(5)(6)(3)其他因素6. 4. 2程序设计风格1.提高可重用性(1)(2)(3)(4)(5)(6)(7)第6章面向对象的软件设计(4)3提高健壮性(1)(2)(3)2提高可扩充性(1)封装实现策略不要用一个方法遍历多条关联链 避免使用多分支语句精心确定公有方法 预防用户的操

7、作错误 检查参数的合法性 不要预先确定限制条件提高方法的内聚 减小方法的规模 保持方法的一致性 把策略与实现分开 全面覆盖 尽量不使用全局信息 利用继承机制第6章面向对象的软件设计第6章面向对象的软件设计6.4.3面向对象软件测试1.面向对象的单元测试(1)类层测试(2)对象集群层测试2.面向对象的集成测试(1)基于线程的测试(2)基于使用的测试3.面向对象软件的高级测试第6章面向对象的软件设计4.面向对象软件测试用例(1)基于故障的测试用例设计是通过对面向对 象分析与设计模型的分析,找出可能存在的 故障,以此假设故障来设计测试用例,并通 过这些测试用例确定这些可能的故障是否存 在。基于故障的测试用例不能发现有错误的 功能描述,或者子系统间交互引起的问题。(2)基于用例的测试用例设计关注用户“做什 么”而不是软件“做什么”O通过测试用例 获得用户必须完成的任务,并以此为依据设 计所涉及的各个类的测试用例。第6章面向对象的软件设计测试表层结构和深层结构表层结构指面向对象程序外部可观察的结构, 即对终端用户立即可见的结构。不是处理函 数,而是很多面向对象系统的用户可能被给 定一些以

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论