




已阅读5页,还剩20页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
面向对象设计 设计是把分析阶段得到的需求转变成符 合成本和质量要求的、抽象的系统实现 方案的过程。 面向对象设计可再细分为系统设计和对 象设计。系统设计确定实现系统的策略 和目标系统的高层结构。对象设计确定 解空间中的类、关联、接口形式及实现 服务的算法。 面向对象设计的准则 模块化:对象就是模块 对象就是模块,它是把数据结构 和操作这些数据的方法紧密地结 合在一起所构成的模块。 抽象:面向对象方法不仅支持过程抽象, 而且支持数据抽象。类实际上是一种抽象 数据类型。它对外开放的公共接口构成了 类的规格说明。这种接口规定了外界可以 使用的合法操作,使用者通过这些操作使 用类中定义的数据。 某些面向对象的程序设计语言还支持参数 化抽象,即当描述类的规格说明时并不具 体指定所要操作的数据类型,而是把数据 类型作为参数。 信息隐藏:属性的表示方法和操作的 实现算法 在面向对象方法中,信息隐藏通过 对象的封装性实现:类结构分离了 接口与实现,从而支持了信息隐藏 。 弱耦合:松散交互耦合、紧密继承耦合 交互耦合:指对象之间的耦合通过消息连接 来实现。交互耦合应尽可能松散: 尽量降低消息连接的复杂程度。 减少对象发送(接受)的消息数。 继承耦合:继承是一般化类与特殊类之间耦 合的一种形式,应该提高继承耦合程度。设 计时应使特殊类尽量多继承并使用其一般化 类的属性和服务。 强内聚: 面向对象设计中存在3种内聚: 服务内聚:一个服务应该完成且仅完成一个功能。 类内聚:一个类应只有一个用途,类的属性和服务 应全都是完成该类对象的任务所必须的,其中不包 含无用的属性或服务。 一般特殊内聚:设计出的一般特殊结构,应该 符合多数人的概念,即应是对相应的领域知识的正 确抽取。 可重用:软件重用是提高软件开发 生产率和目标系统质量的重要途径 。 尽量使用已有的类。 如果确实需要创建新类,则在设 计这些新类时,应该考虑将来可 重用性。 启发规则(一) 设计结果应该清晰易懂 n用词一致 n使用已有的协议 n减少消息模式的数目 n避免模糊的定义 一般特殊结构的深度应适当: 不能仅从方便编码的角度出发随意创建派 生类,一个中等规模(大约包含100个类)的系统 中,类等级层次数应保持为72。 启发规则(二) 设计简单的类:便于开发和管理 n避免包含过多的属性 n有明确的定义 n尽量简化对象之间的合作关系 n不要提供太多服务 使用简单的协议:减少消息中的参数 使用简单的服务 把设计变动减至最小 *11.3 软件重用(一) 概念 n重用:也叫再用或复用,是指同一事物不 作修改或稍加改动就多次重复使用。包括知 识重用、方法和标准的重用、软件成分的重 用3个层次。 代码重用:调用库中的模块, n源代码剪贴:存在配置管理问题,无法跟 踪原始代码块的修改 n源代码包含:提供包含(include)库中源 代码,修改库中源代码之后,所有包含它的 程序都必须重新编译 n继承:重用类库中的类,不存在配置管理 问题 1.软件成分的重用级别 n设计结果重用:重用某个软件系统的设计模 型(即求解域模型)。有助于把一个应用系统移 植到完全不同的软硬件平台上。 n分析结果重用:重用某个系统的分析模型。 这种重用特别适用于用户需求未改变,但系 统体系结构发生了根本变化的场合。 1.软件成分的重用级别 2. 类构件 n类构件的重用方式 n实例重用:使用适当的构造函数,按照需要 创建类的实例。然后向所创建的实例发送适 当的消息,启动相应的服务,完成需要完成 的工作。 n继承重用:当已有的类构件不能通过实例重 用完全满足当前系统需求时,继承重用提供 了一种对已有的类构件进行裁剪的机制。 多态重用 利用多态性不仅可以使对象的对外接口 更加一般化(基类与派生类的许多对外接口 是相同的),从而降低了消息连接的复杂程 度,而且还提供了一种简便可靠的软构件 组合机制。系统运行时,根据接收消息的 对象类型,由多态性机制启动正确的方法 ,去响应一个一般化的消息,从而简化了 消息界面和软构件连接过程。 11.4 系统分解 采用面向对象方法设计软件系统时,面 向对象设计模型(即求解域的对象模型),与 面向对象分析模型(即问题域的对象模型)一 样,也由主题、类与对象、结构、属性、 服务等5个层次组成。 大多数系统的面向对象设计模型,在逻 辑上都由四大部分组成,这四大部分对应 于组成目标系统的四个子系统,它们分别 是问题域子系统、人机交互子系统、任 务管理子系统和数据管理子系统。 图11.2 典型的面向对象设计模型 在面向对象分析中,只涉及到问题论域部分, 其余3部分是在面向对象设计中加进来的。 设计问题域子系统(一) 面向对象设计通常仅需从实现角度对问题域 模型作一些补充或修改,主要是增添、合并或 分解类&对象、属性及服务,调整继承关 系等。 n调整需求:修改分析结果,再把修改反映到问题 域子系统中 n重用已有的类: n把问题域类组合在一起:引入一个根类把应用的 类关联到一起,建立类的层次 n增添一般化类以建立协议:在一般类中定义所有 特殊类都可使用的操作,这种操作可能是虚函数,其 细节在特殊类中定义。 n调整继承层次:若设计语言不提供多重继承机制 ,需修改分析结果。 设计人机交互子系统(一 ) 确定人机交互的细节,其中包括指定窗 口和报表的形式、设计命令层次等项内容 。 设计人机交互子系统的策略 n分类用户 n描述用户 n设计命令层次:用过程抽象机制组织起来的 、可供选用的服务的表现形式。 n设计人机交互类 设计任务管理子系统 分析并发性: 若两个对象彼此间不存在交互,或者同时接 受事件,则它们在本质上是并发的; 当系统有许多并发行为时,需要依照各个行 为的协调和通信关系,划分各种任务,以简 化并发行为的设计和编码: 通过检查各个对象的状态图及他们之间交 换的事件,把若干非并发的对象归并到一条 用任务实现的控制线中。 进程的别名,是执行一系列活动的一段程序。 设计任务管理子系统 设计任务管理子系统:确定各类任务并把任务 分配给适当的硬件或软件去执行。 n确定事件驱动型任务:由事件驱动完成通信工作的 任务。 n确定时钟驱动型任务:每隔一定时间间隔就被触发 以执行某些处理的任务。 n确定优先任务和关键任务:有关系统成功或失败的 关键处理,有严格的可靠性要求。 n确定协调任务:有助于把不同任务之间的协调控制 封装起来。 n尽量减少任务数 n确定资源需求:决定哪些子系统用硬件实现,哪些 用软件实现。 表明某些数据到达的信号 设计数据管理子系统 选择数据存储管理模式 n文件管理系统 n关系数据库管理系统 n面向对象数据库管理系统: 1)扩展的关系数据库管理系统:增加了抽象数据类 型和继承机制,增加了创建及管理类和对象的通用服务 2)扩展的面向对象程序设计语言:增加了在数据库 中存贮和管理对象的机制 设计数据管理子系统 n设计数据格式 n设计相应的服务 设计类中的服务 确定类中应有的服务 设计实现服务的方法 n设计实现服务的算法 n算法复杂度 n容易理解与容易实现 n易修改 n选择数据结构 n定义内部类和内部操作 设计关联 关联的遍历 实现单向关联 实现双向关联 链属性的实现 设计优化 确定优先级 提高效率的几项技术 n增加冗余关联以
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 工业生产安全事故分析报告
- 工业自动化与绿色制造
- 工作中的数据分析与应用
- 工业自动化的发展现状与未来趋势分析
- 工作中的个人性格与冲突处理
- 工业领域新能源技术应用
- 工作环境改善的实践与思考
- 工厂企业消防安全管理与应急预案
- 工厂生产线的环境温控系统设计
- 工程档案资料管理的标准化与规范化研究
- 工艺安全检查表
- 亚声威格入职培训测试(武汉)附有答案
- 洗染行业消费纠纷处理指南
- GB/T 19995.1-2005天然材料体育场地使用要求及检验方法第1部分:足球场地天然草面层
- 全民经纪人协议书
- 护理学课件-铺床法
- GB∕T 31062-2014 聚合物多元醇
- 人教版 2021-2022学年 五年级下册数学期末测试试卷(一)含答案
- 西门子SAMA图DEH逻辑讲解
- 国家开放大学《土木工程力学(本)》形考作业1-5参考答案
- 公司尽职调查提纲
评论
0/150
提交评论