网站大量收购独家精品文档,联系QQ:2885784924

面向对象的设计.pptVIP

  1. 1、本文档共63页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
面向对象的设计

第11章 面向对象的设计 * * * * * * 4. 设计人机交互类 人机交互类与所使用的操作系统及编程语言密切相关。例如,在Windows环境下运行的Visual C++语言提供了MFC类库,设计人机交互类时,往往仅需从MFC类库中选出一些适用的类,然后从这些类派生出符合自己需要的类就可以了。 * * * * * 关系数据库管理系统的理论基础是关系代数,它不仅理论基础坚实而且有下列一些主要优点: (1) 提供了各种最基本的数据管理功能(例如,中断恢复,多用户共享,多应用共享,完整性,事务支持等)。 (2) 为多种应用提供了一致的接口。 (3) 标准化的语言(大多数商品化关系数据库管理系统都使用SQL语言)。 但是,为了做到通用与一致,关系数据库管理系统通常都相当复杂,且有下述一些具体缺点,以致限制了这种系统的普遍使用: 扩展的关系数据库管理系统是在关系数据库的基础上,增加了抽象数据类型和继承机制,此外还增加了创建及管理类和对象的通用服务 * * * 用表实现栈的两种方法: a) 继承 b) 委托 面向对象设计准则 提高设计质量的启发式规则 软件重用: 类构件重用技术。 系统设计与对象设计: 界限模糊,反复迭代。 设计求解空间OO模型的4大逻辑部分: 问题域子系统、人机交互子系统、任务管理子 系统和数据管理子系统。 设计类中服务的方法及实现关联的策略。 如何根据系统目标,做优化工作。 本章小结 * * * * * * Not a contradiction, because a derived object (module) includes the code of its base class’ 为获得紧密的继承耦合,派生类应该是它的基类的一种具体化, 尽量多继承并使用其属性和服务,从而更紧密地耦合到其基类。 * * * 应该使名字与它所代表的事物一致,而且应该尽量使用人们习惯的名字。不同类中相似服务的名字应该相同。 * * * * * * * * * * * * * * * * * * * 由于一个层次的接口只影响与其紧相邻的上一层,因此,这种工作模式降低了各层次之间的相互依赖性,更容易理解和修改。在开放模式中,某层子系统可以使用处于其下面的任何一层子系统所提供的服务。这种工作模式的优点,是减少了需要在每层重新定义的服务数目,使得整个系统更高效更紧凑。但是,开放模式的系统不符合信息隐藏原则,对任何一个子系统的修改都会影响处在更高层次的那些子系统。设计软件系统时到底采用哪种结构模式,需要权衡效率和模块独立性等多种因素,通盘考虑以后再做决定。 * * 图11.7描绘了上章给出的ATM系统的问题域子系统的结构。 由于在面向对象分析过程中已经对ATM系统做了相当仔细的分析,而且假设所使用的实现环境能完全支持面向对象分析模型的实现,因此,在面向对象设计阶段无须对已有的问题域模型作实质性的修改或扩充。 (2) 块状组织 把系统垂直地分解成若干个相对独立的、弱耦合的子系统/块,每块提供一种类型的服务。 采用层次与块状的混合结构 3. 设计(分布式)系统的拓扑结构 由子系统组成完整的系统时,典型的拓扑结构有管道形、树形、星形等。设计者应该采用与问题结构相适应的、尽可能简单的拓扑结构,以减少子系统之间的交互数量。 ATM系统的星型结构实例 设计受具体实现环境的约束: 本项目预计要使用的编程语言, 可用的软构件库(主要是类库) 程序员的编程经验。 分析模型,为设计奠定了基础, 应尽可能保留。 设计仅需从实现角度对模型做一些补充或修改:增添、合并或分解类与对象、属性及服务,调整继承关系等。 11.5 设计问题域子系统 1. 调整需求 一是用户需求或外部环境发生了变化; 二是对象分析模型不能完整、准确地反映用户的真实需求。 2. 重用已有的类 重用已有类的典型过程如下: (1) 选择重用最相似的已有类。 (2) 从被重用的已有类派生出问题域类。 (3) 增加或修改问题域类中需要的属性和服务。 (4) 修改与问题域类相关的关联。 3. 把问题域类组合在一起 可以引入一个根类把问题域类组合在一起。 e.g. 系统-子系统 4. 增添一般化类以建立协议 一些类需要有一个公共的协议:类似的服务, 共同接口。可以引入一个根类以便建立这个协议。 5. 调整继承层次 (1) 使用多重继承机制 阔菱形比窄菱形易避免属性及服务的命名冲突(载重)。 (2) 使用单继承机制 使用仅提供单继承机制的语言,必须多重继承结构转换成单继承结构。 人机交互子系统设计确定人机交互的细节,对GUI, 包括指定窗口和报表的形式、设计命令层次等。 原型是成功地设

文档评论(0)

118books + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档