- 1、本文档共23页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
面向对象的软件设计方法解析
第6 章 面向对象的软件设计 本章学习内容: 1.理解面向对象软件设计的基本原理 2.掌握系统设计的过程与方法 3.掌握详细设计的内容与过程 4.了解面向对象的实现技术 5.了解面向对象测试的概念与方法 第6 章 面向对象的软件设计 6.1 面向对象软件设计概述 6.1.1 面向对象设计准则 模块化 抽象 信息隐蔽 低耦合 高内聚 可重用 第6 章 面向对象的软件设计 6.1.2 面向对象设计的过程 1.系统设计 (1)首先进行系统架构设计,使系统具有良好的稳定性、开放性和可扩充性 (2)如果系统复杂,应将系统划分为若干个子系统 (3)给系统分配处理机和任务 (4)根据数据结构、文件和数据库选择实现数据存储的基本策略 (5)标识全局资源和确定控制访问这些资源的机制 (6)选择实现软件控制方法 (7)考虑边界条件 (8)建立折衷的优先权 第6 章 面向对象的软件设计 2.详细设计 (1)细化、补充类的属性和操作 (2)设计类操作的实现算法 (3)优化数据访问路径 (4)实现外部交互式的控制 (5)调整类结构,增加继承性 (6)设计类之间的关联的实现方式 (7)确定对象属性的精确表示 (8)把类和关联打包归纳到模块中 第6 章 面向对象的软件设计 6.2 系统设计 6.2.1逻辑体系架构设计 1.层次模式分析 (1)分层模式 表示层:图形用户界面、窗口等。 应用逻辑层:管理业务过程的任务和规则。 对象存储层:持久化存储机制,例如,文件系统、数据库等。 第6 章 面向对象的软件设计 (2)设计要求 层与层之间的耦合应尽可能地松散; 级别相同、职责类似的元素应该被组织到同一层中; 复杂的模块应被继续分解为粒度更细的层或子系统; ?应尽量将可能发生变化的元素封装到一层中; 每一层应当只调用下一层提供的功能服务,而不能跨层调用; 一层绝不能使用上一层提供的功能服务,即不能在层与层之间造成双向依赖。 第6 章 面向对象的软件设计 (3)避免循环依赖 第6 章 面向对象的软件设计 2.子系统划分 设计准则: 子系统应具有良好的接口,通过接口和系统的其他部分通信; 除了少数的“通信类”外,子系统中的类应只和该子系统中的其他类协作; 子系统的数量不宜太多; 可以在子系统内部再次划分,以降低复杂度。 第6 章 面向对象的软件设计 6.2.2 物理体系结构建模 用构件图和部署图来描述系统的物理体系结构 1.构件图 构件图就是描述构件类及其它们之间的关系。 (1)构件间的依赖关系:主要是依赖关系,用来表示一个构件需要另一些构件才能有完整的定义。 (2)接口:是一个构件提供给其他构件的一组操作 第6 章 面向对象的软件设计 例: 第6 章 面向对象的软件设计 2.部署图 部署图描述了处理器、设备和软件构件运行时的体系结构。 (1)结点:是某种计算资源的物理对象,包括计算机、设备(如打印机、通信设备)等 (2) 连接:连接用一条直线表示,它指出结点之间存在着某种通信路径,并指出通过哪条通信路径可使这些结点间交换对象或发送消息 第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对象被创建时,A要传递初始化数据给B对象 (3)低耦合 (4)高内聚 (5)控制者模式:要求把协调处理系统消息的职责分配给不同的控制类 (6)多态:当某一个职责在不同的派生类中表现为不同的行为时,我们就可以使用多态模式,即利用一个同名的多态方法把该职责分配给不同的派生类,让他们履行不同的行为 第6 章 面向对象的软件设计 (7)纯虚构模式:有时我们可以虚构一个人造类,把一组高度内聚的职责分配给它,该人造类只是虚构出来的,不代表现实世界中的任何实体,这就是纯虚构模式。 (8)中介者模式:把一些职责分配给一个虚构的中介类,让该中介类来协调多个类的协作关系 (9)不要和陌生人说话:这个模式要求一个类尽量只和它的直接对象交互,避免和间接对象进行交互,这样,它就可以和最少的类产生耦合,使整个系统的耦合度保持最低。 第6 章 面向对象的软件设计 6.4 面向对象软件实现 面向对象实现阶段的主要任务: 选择合适的面向对象的编程语言与开发环境; 基于选定的语言和开发环境编
文档评论(0)