软件工程导论第11章面向对象设计教学讲义.pptVIP

软件工程导论第11章面向对象设计教学讲义.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
* 继承重用 1、为提高继承重用的效果,关键是设计一个合理的、具有一定深度的类构件继承层次结构。 2、这样做有下述两个好处: 每个子类在继承父类的属性和服务的基础上,只加入少量新属性和新服务。 降低了每个类构件的接口复杂度 表现出一个清晰的进化过程,提高了每个子类的可理解性 为软件开发人员提供了更多可重用的类构件 为多态重用奠定了良好基础。 * 多态重用 1、使对象的对外接口更加一般化,从而降低了消息连接的复杂程度。 2、提供一种简便可靠的软构件组合机制。 3、设计类时,应注意以下可能影响重用性的操作: 与表示方法有关的操作。例如,不同实例的比较、显示、擦除等等。 与数据结构、数据大小等有关的操作。 与外部设备有关的操作。例如,设备控制。 实现算法在将来可能会改进(或改变)的核心操作 11.3.3 软件重用的效益 质量:每一次重用,都会发现错误并清除,构件质量也随之改善。 生产率:每一次重用,都会减少重用部分的工作,软件生产率也随之提高。 成本:重用所带来的净成本C=Cs-Cr-Cd(Cs是项目从头开发时所需要的成本;Cr是与重用相关联的成本;Cd是交付给客户的软件的实际成本。 11.4 系统分解 类与对象层 人机交互部分 问题域部分 任务管理部分 数据管理部分 主题层 结构层 属性层 服务层 图11.2 典型的面向对象设计模型 1、子系统之间的两种交互方式 客户—供应商关系 平等伙伴关系 2、组织系统的两种方案 层次组织:下层为上层提供服务 封闭式:每层子系统仅仅使用其直接下层提供服务 开放式:可以调用下层任何子系统 块状组织:子系统相互独立,弱耦合 11.5 设计问题域子系统 在设计问题域部分时,仅需要从实现的角度对问题域模型(对象模型、动态模型、功能模型)作一些补充、修改,主要是增添、合并或分解类与对象、属性和服务,调整继承关系等。 1. 调整需求 2. 重用已有的类 3. 组合问题域的类 4. 增添基类以定义公共函数集合 5. 调整继承层次 1)使用多重继承机制 2)使用单继承机制 * * 6. ATM系统实例 11.6 设计人机交互子系统 在面向对象分析中,已经对用户界面需求作了初步分析,在面向对象设计过程中,要对系统人机交互部分进行详细设计,其中包括指定窗口和报表的形式、设计命令层次等等。 设计人机交互子系统的策略: 1)分类用户; 2)描述用户; 3)设计命令层次; 4)设计人机交互类。 11.7 设计任务管理子系统 任务可视作进程(Process) 1. 分析并发性 基于动态模型分析并发性,如果对象间不存在交互,或不同时接受事件,则是并发的。 并发任务可以在不同的处理器上实现,也可以在单个处理器上利用多任务操作系统实现。 2. 设计任务管理子系统 1)确定事件驱动型任务:主要完成通信工作 工作过程:睡眠?等待来自数据线的中断?任务唤醒、接收数据?通知相应对象?继续睡眠 2)确定时钟驱动型任务 每隔一定时间触发执行某些任务。 3)确定优先任务 4)确定关键任务 5)确定协调任务 当同时运行的任务较多时(3个以上),一般设计协调任务,会增加系统开销,但有利于封装不同任务间的协调控制。 6)尽量减少任务数 7)确定资源需求 计算系统载荷(单位时间处理业务数),估算所需CPU性能。 第11章 面向对象设计 11.1 面向对象设计的准则 1. 模块化 面向对象的软件开发模式,支持了系统模块化的原则:对象就是模块。它把数据结构和操作(方法)紧密地结合在一起构成模块。 2. 抽象 类实际上是一种抽象数据类型,它对外开放的公共接口构成了类的规格说明(协议),这种接口规定了外界可以使用的合法操作符,利用这些操作符可以对类的实例中包含的数据进行操作。 3. 信息隐蔽 在面向对象方法中,信息隐蔽通过对象的封装性实现:类结构分离了类的接口与类的实现,从而支持了信息隐蔽。 一般来说,对象间的耦合有两大类: A.交互耦合:对象间的耦合通过信息连接来实现。应使交互耦合尽量松散。 B.继承偶合:与交互耦合相反,应该提高继承耦合的程度。因为通过继承关系结合起来的基类和派生类,结合得越紧密越好。 5. 强内聚 面向对象设计中存在三种内聚: A.服务内聚:一个服务应该完成一个且完成一个功能。 B.类内聚:一个类应该只有一个用途,它的属性和服务应该是高内聚的。 C.一般—特殊内聚:即基类—派生类的内聚。 6. 可重用 使用已经存在的类(包括开发环境提供的类库,及以往开发相似系

文档评论(0)

186****7785 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档