软件开发过程.pptVIP

  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文档。上传文档
查看更多

*15.5继承在分析中只在那些相互之间存在清晰明确的isa关系的设计类间才使用继承。但在设计中你可以选择使用继承来复用源代码。这是不同的策略,因为你正在使用继承来使子类的实现更加灵活和轻松,而不是使用继承表示父类和子类之间的业务关系。*继承可能带来的问题继承是OO中产生多态的机制,但也导致一些问题:在两个或多个类之间可能产生的耦合中,它是最强的耦合形式。类层次中的封装是脆弱的,基类改动会直接波及子类变化。它是一种非常牢固的关系类型,在运行时候是固定的,这就意味着它是类之间的关系中最不易改变的一种类型。*15.5.1聚合与继承使用聚合取代继承可以得到正确的语义,得到了更加灵活并且语义正确的模型。一个重要的通用原则——子类通常应该是描绘“iskindof”。而不是描绘“Isroleplayedby”。*15.5.2多重继承从多于一个的父类继承实现,这就是多重继承。多重继承的几个要点如下:多重继承涉及的所有父类在语义上必须正交(相互间成直角)。iskindof和可替换性原则必须适用于子类和它的所有超类之间。典型地,超类应当没有共同的父类,否则,继承层次就会形成循环。*15.5.3继承与接口实现当你关心从超类继承一些实现细节(方法、属性和关联)时,只需要使用继承。这是一种复用方式,事实上在OO的早期它被当做一种主要的复用机制。到今天,设计师们已经认识到有时侯继承施加了难以接受的约束并且在某种程度上已经偏移了它的用途。当希望定义契约而不关心继承实现细节时,接口实现是很有用的。因为在接口实现中并不真正继承任何事物,所以在某些方面它比继承更加灵活和健壮。*区别继承和接口实现具有一些共性,都允许你定义子类必须实现的契约(方法集合)。但这两种技术有着非常不同的语义和用途。从继承中可以得到两件事物:接口—基类的公共方法。实现—基类的属性、关联、保护方法和私有方法。从接口实现仅得到一件事物:接口—一组没有实现的公共操作。*15.6模板模板允许参数化类型,这意味着,你可以根据占位符或参数定义类,而不去说明属性、方法返回值和方法参数的实际类型。通过用实际值代替占位符就可以创建新的类。可以通过使用《bind》构造型化的依赖关系来实例化模板——这被称为显式绑定。*16.1设计关系当转向设计时,你必须将分析类之间的关系精化成设计类之间的关系。分析中捕获的许多关系不能像它们显示的那样直接地实现,但是又必须做到这一点。例如,没有一种普遍使用的OO编程语言能直接支持双向关联、关联类或者多对多关联。为了创建一个设计模型,你必须说明如何实现这些关联。*16.2精化设计关系精化设计关联包括几个过程:在恰当的地方将关联精化成聚合或是组合关系。实现关联类。实现一对多关联。实现多对多关联。实现双向关联。所有的设计关联必须具有:导航性。两端的多重性。所有设计关联应至少在目标端有一个角色名称。*文档来源合适的信息来源是:补充需求规格说明(如果有)。用例。项目词汇表。任何其他信息源(构架、远景文档等)。*8.6.3其他方法寻找类物理客体文档外部世界已知的接口概念实体*8.7创建初步分析模型将分析结果整合成单一UML模型做法是:比较所有的三种信息来源整合出分析类、属性和职责,并输入CASE工具。协作方代表类间的关系按照标准命名约定改进类、属性和职责命名。输出一组分析类和初步分析模型*9.1关系关系是建模元素之间的语义(有意义)联系,是UML把物件联系到一起的方法。关系包括:链接、关联、泛化和继承我们先讲述链接和关联:对象间的联系被称为链接类间的联系被称为关联对象间链接实际上是它们类间关联的实例*9.2链接链接是两个对象之间的语义联系,它允许消息从一个对象发送到另一个对象。OO执行系统包含很多来来往往的对象和连接这些对象的链接。一旦接收到消息,对象将调用相应的方法。链接包括单向链接(箭头)和双向链接(直线)。不同的OO语言以不同的方法实现链接*9.3关联关联是类间的关系,链接依赖于关联如果对象间存在链接,其类间必定存在关联可用《instantiate》构造型化依赖*9.3.1关联语法关联可以具有:关联名称。角色名称。多重性。导航性。*9.4.2多重性多重性约束在任意时刻涉及特定关系的类对象数目多重约束在模型中编码关键业务规则。这些规则被“深埋”在模型的细节之中。称做“平凡化(trivialization)”。多重性被说明为用逗号分隔的区间,每个区间具有以下形式: minimum..maximum*9.4.3层次和网络层次具有一个根对象,其他

文档评论(0)

199****5547 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档