- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
电子科大软件工程网络课件05
5.3 类的设计 类的设计是面向对象的开发方法的基础,在系统开发的各个阶段都会标识新的类。例如在进行高层设计时,系统设计与类的设计处于同一过程。应用的顶层视图设计,相当于开发一个表示系统的类的界面。 每一个类都要给出它的规格说明。类的规格说明给出了定义了施加于对象的存储上的一组操作。这组操作应工作在封装在对象内部的数据存储上,或返回关于对象状态的信息。操作的名称应能够反映该操作的含义。 例如:对于那些与数据库交互的类来说,其规格说明应包括查找数据库和向数据库加入数据的行为。 本节主要讨论:类的设计目标及类的设计方法。 5.3 类的设计 一、类设计的目标 类设计的主要目标是: 1、单一概念的模型 需要对一个概念进行分解,用一组类来表示该概念。 2、可复用的“插接相容性”部件 即要求在类的集合中界面的标准化,在一个集合内类的“插接相容性”,以便于应用。 3、可靠性部件 软件的可靠性与它的部件的可靠性有关,每个部件必须经过严格的测试。 4、可集成的部件 为了把类的实例用于其它类的开发和应用中,要求类的界面应当尽可能的小,将类所需要的数据和操作都定义在类的定义中。 注意:一个类的动态模型被其子类所继承。 5.3.1 类设计的目标与原则 二、类设计的原则 信息屏蔽 强内聚、弱偶合 消息限制 子类当作子类型 狭窄界面 显式信息传递 二、类设计的原则 信息屏蔽 通过信息屏蔽可增强抽象,对其表示的唯一存取途径只能是界面。如图5.29所示,Point类的内部数据成员X、Y,只能通过界面上的成员函数来访问。 强内聚、弱偶合 类的某些操作是应是简单的存取函数,隐蔽了属性的实际物理属性。 图5.29 Point 类 访问界面 消息限制 为类设计一个显式的界面,该类实例的用户只能使用界面提供的操作。 子类当作子类型 每个子类应该当作父类的特化来开发,父类所具有的公共界面可以成为子类的公共界面的一个子集。 狭窄界面 xoffset yoffset set angle radius x y 封装体 内部数据成员 Point 类 当且仅当一个操作对类的实例的用户有用时,它才是类公共界面的一个成员。显式信息传递 两个类之间的交互应只涉及显式信息传递, 即通过参数表传递信息。 5.3.1 类设计的目标与原则 1、确定类 1)找出侯选的类:分析员根据领域知识或常识找出类。 ??2)选出正确的类:仅通过一个简单,机械的过程不可能正确地完成分析工作,所以要经过筛选,去掉冗余,无关笼统的类。 2、分析确定关联,能促进使分析员考虑边缘情况。 1)初步确定关联 2)筛选 3)进一步完善 3、确定属性 属性是类对象的性质,一般来说确定属性的过程包括分析和选择。 4、识别继承关系 ??确定了类中应该定义的属性之后,就可以利用继承机制共享公共性质,并对系统中众多的加以组织。一般来说可用两种方式建立继承关系: 1)?自底向上 抽象出类的共同性质泛化出父类。 2)?自顶向下 把现有的类细化成更具体的子类 。 5.3.2 类的设计过程 5.3.2 类的设计过程 图5.29 类A与类B的泛化/特化关系 A B B A (a) 新类B中的对象是类A中对象的特殊化 B A A B (b) 新类B中的对象是类A中对象的一般化 A B A B A与B的交B (c) 新类B中的对象与类A中对象共享某些公共属性 在面向对象的技术中,许多类的设计都是基于现存类的设计。现存类复用技术即: 现存类 新类 1、选择 从现存类中选择可用的部件。通常从所建立的原始部件库中选择。 2、分解 最初标识的类常是几个概念的组合,应将一个类分解为几个类。 3、配置 将现存类的实例声明为新类的属性来配置新类。 4、演变 利用继承机制进行特化处理,如图5.29所示,可有三种方式。 5.3.3 通过复用设计类 5.3.3 通过复用设计类 ????复用也叫重用或再用,是指同一事物不做修改或稍加改动就多次重复使用。利用面向对象的技术,可以更方便的更有效地实现软件的重用。面向对象技术中的“类”,是比较理想的可重用软构件。 5.4 Coad面向对象分析与设计技术 5.4 Coad面向对象分析与设计技术 面向对象的Coad方法是在信息模型化技术、面向对象的程序设计语言及知识库系统的基础上发展起来的。由面向对象的分析(OOA)和面向对象的设计(OOD)构成。 面向对象的分析是用面向对象的方法对目标系统的问题空间进行理解,分析和反映。通过对象层次结构的组织确定解空间中应存在的对象和对象层次结构。 面向对象的设计是建立在分析产生的需求说明基础上,加入计算机系统实现所需要的
文档评论(0)