ImageVerifierCode 换一换
格式:PPT , 页数:23 ,大小:119KB ,
资源ID:4052852      下载积分:20 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.docduoduo.com/d-4052852.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录   微博登录 

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(第6 章 面向对象的软件设计.ppt)为本站会员(dzzj200808)主动上传,道客多多仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知道客多多(发送邮件至docduoduo@163.com或直接QQ联系客服),我们立即给予删除!

第6 章 面向对象的软件设计.ppt

1、第6 章 面向对象的软件设计,本章学习内容: 1理解面向对象软件设计的基本原理 2 掌握系统设计的过程与方法 3掌握详细设计的内容与过程 4了解面向对象的实现技术 5了解面向对象测试的概念与方法,第6 章 面向对象的软件设计,6.1 面向对象软件设计概述 6.1.1 面向对象设计准则 模块化 抽象 信息隐蔽 低耦合 高内聚 可重用,第6 章 面向对象的软件设计,6.1.2 面向对象设计的过程 1系统设计 (1)首先进行系统架构设计,使系统具有良好的稳定性、开放性和可扩充性 (2)如果系统复杂,应将系统划分为若干个子系统 (3)给系统分配处理机和任务 (4)根据数据结构、文件和数据库选择实现数据

2、存储的基本策略 (5)标识全局资源和确定控制访问这些资源的机制 (6)选择实现软件控制方法 (7)考虑边界条件 (8)建立折衷的优先权,第6 章 面向对象的软件设计,2详细设计 (1)细化、补充类的属性和操作 (2)设计类操作的实现算法 (3)优化数据访问路径 (4)实现外部交互式的控制 (5)调整类结构,增加继承性 (6)设计类之间的关联的实现方式 (7)确定对象属性的精确表示 (8)把类和关联打包归纳到模块中,第6 章 面向对象的软件设计,6.2 系统设计 6.2.1逻辑体系架构设计 1层次模式分析 (1)分层模式 表示层:图形用户界面、窗口等。 应用逻辑层:管理业务过程的任务和规则。 对

3、象存储层:持久化存储机制,例如,文件系统、数据库等。,第6 章 面向对象的软件设计,(2)设计要求 层与层之间的耦合应尽可能地松散;级别相同、职责类似的元素应该被组织到同一层中; 复杂的模块应被继续分解为粒度更细的层或子系统;应尽量将可能发生变化的元素封装到一层中; 每一层应当只调用下一层提供的功能服务,而不能跨层调用; 一层绝不能使用上一层提供的功能服务,即不能在层与层之间造成双向依赖。,第6 章 面向对象的软件设计,(3)避免循环依赖,第6 章 面向对象的软件设计,2子系统划分 设计准则:子系统应具有良好的接口,通过接口和系统的其他部分通信; 除了少数的“通信类”外,子系统中的类应只和该子

4、系统中的其他类协作; 子系统的数量不宜太多; 可以在子系统内部再次划分,以降低复杂度。,第6 章 面向对象的软件设计,6.2.2 物理体系结构建模 用构件图和部署图来描述系统的物理体系结构 1构件图 构件图就是描述构件类及其它们之间的关系。 (1)构件间的依赖关系:主要是依赖关系,用来表示一个构件需要另一些构件才能有完整的定义。 (2)接口:是一个构件提供给其他构件的一组操作,第6 章 面向对象的软件设计,例:,第6 章 面向对象的软件设计,2部署图部署图描述了处理器、设备和软件构件运行时的体系结构。 (1)结点:是某种计算资源的物理对象,包括计算机、设备(如打印机、通信设备)等 (2) 连接

5、:连接用一条直线表示,它指出结点之间存在着某种通信路径,并指出通过哪条通信路径可使这些结点间交换对象或发送消息,第6 章 面向对象的软件设计,举例:,第6 章 面向对象的软件设计,6.3 详细设计 6.3.1 系统详细设计 1细化和重组类 2增加遗漏的属性,指定属性的类型和可见性 3分配职责,定义执行每个职责的方法 通用职责分配软件模式 : (1)专家模式:应该将职责分配给信息专家 (2)创建者模式:如果类A和类B满足下列条件中的一个,就可以把创建B对象的职责分配给A对象 。 A聚合了B对象; A包含了B对象;,第6 章 面向对象的软件设计,A的一个属性记录了B对象; A要经常使用B对象 B对

6、象被创建时,A要传递初始化数据给B对象 (3)低耦合 (4)高内聚 (5)控制者模式:要求把协调处理系统消息的职责分配给不同的控制类 (6)多态:当某一个职责在不同的派生类中表现为不同的行为时,我们就可以使用多态模式,即利用一个同名的多态方法把该职责分配给不同的派生类,让他们履行不同的行为,第6 章 面向对象的软件设计,(7)纯虚构模式:有时我们可以虚构一个人造类,把一组高度内聚的职责分配给它,该人造类只是虚构出来的,不代表现实世界中的任何实体,这就是纯虚构模式。 (8)中介者模式:把一些职责分配给一个虚构的中介类,让该中介类来协调多个类的协作关系 (9)不要和陌生人说话:这个模式要求一个类尽

7、量只和它的直接对象交互,避免和间接对象进行交互,这样,它就可以和最少的类产生耦合,使整个系统的耦合度保持最低。,第6 章 面向对象的软件设计,6.4 面向对象软件实现 面向对象实现阶段的主要任务: 选择合适的面向对象的编程语言与开发环境; 基于选定的语言和开发环境编码实现详细设计中所得到的对象、算法、公式和规则等; 将编写好的各个类代码模块根据类的相互关系集成; 对软件进行测试和调试,完成各个部分和整个系统。,第6 章 面向对象的软件设计,6.4.1程序设计语言 1面向对象语言的技术特点 (1)支持类与对象概念的机制 (2)实现整体部分结构的机制 (3)实现一般特殊结构的机制 (4)对于实现属

8、性和服务的机制 (5)类型检查 (6)类库,第6 章 面向对象的软件设计,(7)效率 (8)持久保存对象 (9)参数化类 (10)开发环境 2面向对象语言的选择 (1)可复用性 (2)类库和开发环境 (3)其他因素,第6 章 面向对象的软件设计,6.4.2 程序设计风格 1提高可重用性 (1)提高方法的内聚 (2)减小方法的规模 (3)保持方法的一致性 (4)把策略与实现分开 (5)全面覆盖 (6) 尽量不使用全局信息 (7)利用继承机制,第6 章 面向对象的软件设计,2提高可扩充性 (1)封装实现策略 (2)不要用一个方法遍历多条关联链 (3)避免使用多分支语句 (4)精心确定公有方法 3提

9、高健壮性 (1)预防用户的操作错误 (2)检查参数的合法性 (3)不要预先确定限制条件 (4)先测试后优化,第6 章 面向对象的软件设计,6.4.3 面向对象软件测试 1面向对象的单元测试 (1)类层测试 (2)对象集群层测试 2面向对象的集成测试 (1)基于线程的测试 (2)基于使用的测试 3面向对象软件的高级测试,第6 章 面向对象的软件设计,4面向对象软件测试用例 (1)基于故障的测试用例设计是通过对面向对象分析与设计模型的分析,找出可能存在的故障,以此假设故障来设计测试用例,并通过这些测试用例确定这些可能的故障是否存在。基于故障的测试用例不能发现有错误的功能描述,或者子系统间交互引起的问题。 (2)基于用例的测试用例设计关注用户“做什么”而不是软件“做什么”。通过测试用例获得用户必须完成的任务,并以此为依据设计所涉及的各个类的测试用例。,第6 章 面向对象的软件设计,设计面向对象软件测试用例的步骤是: (1)先选定检测的类。参考面向对象分析的结果,找出类的状态和相应的行为,类或成员函数间传递的消息,输入或输出的界定等;(2)确定测试覆盖标准; (3)利用类图确定待测试类的所有关联; (4)根据程序中的对象设计测试用例,确认使用什么输入激发类的状态、使用类的服务和期望产生什么行为等。,

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报