软件工程导论课件之第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文档。上传文档
查看更多
软件工程导论课件之第11章_面向对象设计(第五版)(张海藩编著)

第11章 面向对象设计 11.1 面向对象设计的准则 11.2 启发规则 11.3 软件重用 11.4 系统分解 11.5 设计问题域子系统 11.6 设计人机交互子系统 11.7 设计任务管理子系统 11.8 设计数据管理子系统 11.9 设计类中的服务 11.10 设计关联 11.11 设计优化 分析是提取和整理用户需求,并建立问题域精确模型的过程。 设计则是把分析阶段得到的需求转变成符合成本和质量要求的、抽象的系统实现方案的过程。 从面向对象分析到面向对象设计(OOD),是一个逐渐扩充模型的过程。 在实际的软件开发过程中分析和设计的界限是模糊的。分析和设计活动是一个多次反复迭代的过程。 OOD模型 11.1 面向对象设计的准则 所谓优秀设计,就是权衡了各种因素,从而使得系统在其整个生命周期中的总开销最小的设计。 对大多数软件系统而言,60%以上的软件费用都用于软件维护,因此,优秀软件设计的一个主要特点就是容易维护。 设计准则有6条。 1. 模块化 对象就是模块。它是把数据结构和操作这些数据的方法紧密地结合在一起所构成的模块。 2. 抽象 面向对象方法不仅支持过程抽象,而且支持数据抽象。 3. 信息隐藏 在面向对象方法中,信息隐藏通过对象的封装性实现。 4. 弱耦合 耦合指不同对象之间相互关联的紧密程度。 一般说来,对象之间的耦合可分为两大类: 交互耦合 如果对象之间的耦合通过消息连接来实现,则这种耦合就是交互耦合。 交互耦合应尽可能松散 。 继承耦合 与交互耦合相反,应该提高继承耦合程度。 继承是一般化类与特殊类之间耦合的一种形式。通过继承关系结合起来的基类和派生类,构成了系统中粒度更大的模块。彼此之间应该越紧密越好。 5. 强内聚 内聚衡量一个模块内各个元素彼此结合的紧密程度。 内聚定义为:设计中使用的一个构件内的各个元素,对完成一个定义明确的目的所做出的贡献程度。 在设计时应该力求做到高内聚。 在面向对象设计中存在下述3种内聚: 服务内聚。一个服务应该完成一个且仅完成一个功能。 类内聚。一个类应该只有一个用途,它的属性和服务应该是高内聚的。 一般-特殊内聚。设计出的一般-特殊结构,应该符合多数人的概念。 6. 可重用 软件重用是提高软件开发生产率和目标系统质量的重要途径。 重用基本上从设计阶段开始。 重用有两方面的含义: 一是尽量使用已有的类(包括开发环境提供的类库,及以往开发类似系统时创建的类), 二是如果确实需要创建新类,则在设计这些新类的协议时,应该考虑将来的可重复使用性。 11.2 启发规则 1. 设计结果应该清晰易懂 用词一致。 使用已有的协议。 减少消息模式的数目。 避免模糊的定义。 2. 一般-特殊结构的深度应适当 应该使类等级中包含的层次数适当。一般说来,在一个中等规模(大约包含100个类)的系统中,类等级层次数应保持为7±2。 3. 设计简单的类 应该尽量设计小而简单的类,以便于开发和管理。 为使类保持简单,应该注意以下几点: 避免包含过多的属性。 有明确的定义。 尽量简化对象之间的合作关系。 不要提供太多服务。 在开发大型软件系统时,设计出大量较小的类,需要划分“主题”。 4. 使用简单的协议 一般说来,消息中的参数不要超过3个。当然,不超过3个的限制也不是绝对的。 5. 使用简单的服务 一般说来,应该尽量避免使用复杂的服务。 如果一个服务中包含了过多的源程序语句,或者语句嵌套层次太多,或者使用了复杂的CASE语句,则应该仔细检查这个服务,设法分解或简化它,考虑用一般-特殊结构代替。 6. 把设计变动减至最小 出现必须修改设计的情况,应该使修改的范围尽可能小。 11.3 软件重用 11.3.1 概述 1. 重用 重用也叫再用或复用,是指同一事物不作修改或稍加改动就多次重复使用。 广义地说,软件重用可分为以下3个层次: 知识重用(软件工程知识的重用)。 方法和标准的重用(面向对象方法或国家制定的软件开发规范的重用)。 软件成分的重用。 2. 软件成分的重用级别 代码重用:通常把它理解为调用库中的模块。代码重用的几种形式: 源代码剪贴 源代码包含 继承 设计结果重用:重用某个软件系统的设计模型(即求解域模型)。这个级别的重用有助于把一个应用系统移植到完全不同的软硬件平台上。 分析结果重用:重用某个系统的分析模型。这种重用特别适用于用户需求未改变,但系统体系结构发生了根本变化的场合。 3. 典型的可重用软件成分 项目计划 成本估计 体系结构 需求模型和规格说明 设计 源代码 用户文档和技术文档 用户界面 数据 测试用例 11.3.2 类构件 面向对象技术中的“类”,是比较理想的可重用软构件,称之为类构件。 1. 可重用软构件应具备的特点 模块独立性强

文档评论(0)

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

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

1亿VIP精品文档

相关文档