第9章 面向对象方法学精选文档.ppt
《第9章 面向对象方法学精选文档.ppt》由会员分享,可在线阅读,更多相关《第9章 面向对象方法学精选文档.ppt(93页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第第9 9章章 面向对象方法学面向对象方法学本讲稿第一页,共九十三页上次课内容回顾上次课内容回顾classPCI8360vclassPCI8360v public:public:PCI8360v(void);PCI8360v(void);virtualPCI8360v(void);virtualPCI8360v(void);voidPCI_init();voidPCI_init();voidPCI_clos();voidPCI_clos();shortPCI_read();shortPCI_read();classArPathTrack:publicArActionpublic:ArPathT
2、rack(ArPosePose);virtualArPathTrack(void);virtualArActionDesired*fire(ArActionDesiredcurrentDesired);virtualvoidsetRobot(ArRobot*robot);protected:ArRangeDevice*mySonar;ArActionDesiredmyDesired;public:PCI8360vmyPCI;本讲稿第二页,共九十三页第第9章章 面向对象方法学引论面向对象方法学引论9.1 面向对象方法学概述面向对象方法学概述9.2 面向对象的概念面向对象的概念9.3 面向对象建模
3、面向对象建模9.4 对象模型对象模型本讲稿第三页,共九十三页前言:关于传统方法学的总结前言:关于传统方法学的总结u传统的生命周期方法学的本质,传统的生命周期方法学的本质,是在具体的是在具体的软件开发工作开始之前,通过需求分析预先软件开发工作开始之前,通过需求分析预先定义软件需求,然后一个阶段接着一个阶段定义软件需求,然后一个阶段接着一个阶段有条不紊地开发用户所要求的软件,实现预有条不紊地开发用户所要求的软件,实现预先定义的软件需求。先定义的软件需求。u但它但它并不能完全消除软件危机。并不能完全消除软件危机。生命周期方生命周期方法学仍然有许多不足之处,对某些类型的软法学仍然有许多不足之处,对某些
4、类型的软件开发,这种方法学比较适用,对另一些类件开发,这种方法学比较适用,对另一些类型的软件则可能完全不适用。型的软件则可能完全不适用。本讲稿第四页,共九十三页前言:传统方法学存在的问题前言:传统方法学存在的问题1 1生产率提高的幅度远不能满足需要生产率提高的幅度远不能满足需要pp生命周期方法学强调需求分析的重要性,强调在每个阶段结束之生命周期方法学强调需求分析的重要性,强调在每个阶段结束之生命周期方法学强调需求分析的重要性,强调在每个阶段结束之生命周期方法学强调需求分析的重要性,强调在每个阶段结束之前必须进行评审,从而提高了软件开发的成功率,减少了重大返前必须进行评审,从而提高了软件开发的成
5、功率,减少了重大返前必须进行评审,从而提高了软件开发的成功率,减少了重大返前必须进行评审,从而提高了软件开发的成功率,减少了重大返工的次数;工的次数;工的次数;工的次数;pp开发过程中实行严格的质量管理,采用先进的技术方法(主要开发过程中实行严格的质量管理,采用先进的技术方法(主要开发过程中实行严格的质量管理,采用先进的技术方法(主要开发过程中实行严格的质量管理,采用先进的技术方法(主要是结构分析、设计、编程技术)和软件工具,也都加快了软件是结构分析、设计、编程技术)和软件工具,也都加快了软件是结构分析、设计、编程技术)和软件工具,也都加快了软件是结构分析、设计、编程技术)和软件工具,也都加快
6、了软件开发的速度。开发的速度。开发的速度。开发的速度。pp但开发效率的提高仍然很有限,提高的幅度远远赶不上对软件产但开发效率的提高仍然很有限,提高的幅度远远赶不上对软件产但开发效率的提高仍然很有限,提高的幅度远远赶不上对软件产但开发效率的提高仍然很有限,提高的幅度远远赶不上对软件产品的需要。从用户提出要求到他们最终得到所需要的目标系统,品的需要。从用户提出要求到他们最终得到所需要的目标系统,品的需要。从用户提出要求到他们最终得到所需要的目标系统,品的需要。从用户提出要求到他们最终得到所需要的目标系统,往往需要经过几年甚至更长的延迟时间。往往需要经过几年甚至更长的延迟时间。往往需要经过几年甚至更
7、长的延迟时间。往往需要经过几年甚至更长的延迟时间。本讲稿第五页,共九十三页 2 2软件重用程度很低软件重用程度很低pp重用也称为再用或复用,是指同一事物不经修改或稍加改动就多次重复重用也称为再用或复用,是指同一事物不经修改或稍加改动就多次重复重用也称为再用或复用,是指同一事物不经修改或稍加改动就多次重复重用也称为再用或复用,是指同一事物不经修改或稍加改动就多次重复使用。软件重用是节约人力,提高软件生产率的重要途径。使用。软件重用是节约人力,提高软件生产率的重要途径。使用。软件重用是节约人力,提高软件生产率的重要途径。使用。软件重用是节约人力,提高软件生产率的重要途径。pp结构分析、结构设计和结
8、构程序设计(简写为结构分析、结构设计和结构程序设计(简写为结构分析、结构设计和结构程序设计(简写为结构分析、结构设计和结构程序设计(简写为 SASASASASDSDSDSDSPSPSPSP)技术,)技术,)技术,)技术,虽然给软件产业带来了巨大进步,但却没能很好地解决软件重虽然给软件产业带来了巨大进步,但却没能很好地解决软件重虽然给软件产业带来了巨大进步,但却没能很好地解决软件重虽然给软件产业带来了巨大进步,但却没能很好地解决软件重用问题。用问题。用问题。用问题。pp几乎每次开发一个新的软件系统时,都要针对这个具体的系统几乎每次开发一个新的软件系统时,都要针对这个具体的系统几乎每次开发一个新的
9、软件系统时,都要针对这个具体的系统几乎每次开发一个新的软件系统时,都要针对这个具体的系统作大量重复而又繁琐的工作。作大量重复而又繁琐的工作。作大量重复而又繁琐的工作。作大量重复而又繁琐的工作。前言:传统方法学存在的问题前言:传统方法学存在的问题本讲稿第六页,共九十三页3.3.软件仍然很难维护软件仍然很难维护pp传统的生命周期方法学强调文档资料的重要性,规定最终的软件产品应传统的生命周期方法学强调文档资料的重要性,规定最终的软件产品应传统的生命周期方法学强调文档资料的重要性,规定最终的软件产品应传统的生命周期方法学强调文档资料的重要性,规定最终的软件产品应该由完整、致的配置成分组成;在软件开发整
10、个过程中,该由完整、致的配置成分组成;在软件开发整个过程中,该由完整、致的配置成分组成;在软件开发整个过程中,该由完整、致的配置成分组成;在软件开发整个过程中,始终强调软始终强调软始终强调软始终强调软件的可读性、可修改性和可测试性是软件的重要质量指标件的可读性、可修改性和可测试性是软件的重要质量指标件的可读性、可修改性和可测试性是软件的重要质量指标件的可读性、可修改性和可测试性是软件的重要质量指标。因此,对这。因此,对这。因此,对这。因此,对这样的软件所进行的维护属于结构化维护的范畴,可维护性有比较样的软件所进行的维护属于结构化维护的范畴,可维护性有比较样的软件所进行的维护属于结构化维护的范畴
11、,可维护性有比较样的软件所进行的维护属于结构化维护的范畴,可维护性有比较明显的提高,软件从不能维护变成基本上可以维护。明显的提高,软件从不能维护变成基本上可以维护。明显的提高,软件从不能维护变成基本上可以维护。明显的提高,软件从不能维护变成基本上可以维护。pp但实践表明,即使是用生命周期方法学开发出的软件,维护起来仍然相但实践表明,即使是用生命周期方法学开发出的软件,维护起来仍然相但实践表明,即使是用生命周期方法学开发出的软件,维护起来仍然相但实践表明,即使是用生命周期方法学开发出的软件,维护起来仍然相当困难,软件维护成本仍然很高。当困难,软件维护成本仍然很高。当困难,软件维护成本仍然很高。当
12、困难,软件维护成本仍然很高。前言:传统方法学存在的问题前言:传统方法学存在的问题本讲稿第七页,共九十三页 4 4软件往往不能真正满足用户需要软件往往不能真正满足用户需要pp用传统方法开发涉及多种不同领域知识的大型软件系统,或开用传统方法开发涉及多种不同领域知识的大型软件系统,或开用传统方法开发涉及多种不同领域知识的大型软件系统,或开用传统方法开发涉及多种不同领域知识的大型软件系统,或开发需求模糊或需求动态变化的系统时,所开发出的软件系统往发需求模糊或需求动态变化的系统时,所开发出的软件系统往发需求模糊或需求动态变化的系统时,所开发出的软件系统往发需求模糊或需求动态变化的系统时,所开发出的软件系
13、统往往不能真正满足用户的需要。往不能真正满足用户的需要。往不能真正满足用户的需要。往不能真正满足用户的需要。pp所谓所谓所谓所谓“不能真正满足用户的需要不能真正满足用户的需要不能真正满足用户的需要不能真正满足用户的需要”,主要有以下两种表现:,主要有以下两种表现:,主要有以下两种表现:,主要有以下两种表现:pp一种是开发人员不能完全获得或不能彻底理解用户的需求,以致一种是开发人员不能完全获得或不能彻底理解用户的需求,以致一种是开发人员不能完全获得或不能彻底理解用户的需求,以致一种是开发人员不能完全获得或不能彻底理解用户的需求,以致开发出的软件系统与用户预期的系统不一致,不能满足用户的需开发出的
14、软件系统与用户预期的系统不一致,不能满足用户的需开发出的软件系统与用户预期的系统不一致,不能满足用户的需开发出的软件系统与用户预期的系统不一致,不能满足用户的需要。要。要。要。pp另一种表现是,所开发出的系统不能适应用户需求经常变化的另一种表现是,所开发出的系统不能适应用户需求经常变化的另一种表现是,所开发出的系统不能适应用户需求经常变化的另一种表现是,所开发出的系统不能适应用户需求经常变化的情况,系统的稳定性和可扩充性不能满足要求。情况,系统的稳定性和可扩充性不能满足要求。情况,系统的稳定性和可扩充性不能满足要求。情况,系统的稳定性和可扩充性不能满足要求。前言:传统方法学存在的问题前言:传统
15、方法学存在的问题本讲稿第八页,共九十三页前言:前言:出现问题的原因出现问题的原因1 1僵化的设计模型僵化的设计模型pp瀑布模型意味着在生命周期各阶段间存在着严格的顺序性和依赖性。瀑布模型意味着在生命周期各阶段间存在着严格的顺序性和依赖性。瀑布模型意味着在生命周期各阶段间存在着严格的顺序性和依赖性。瀑布模型意味着在生命周期各阶段间存在着严格的顺序性和依赖性。pp生命周期方法学特别强调预先定义需求的重要性。要求在着手进行具体生命周期方法学特别强调预先定义需求的重要性。要求在着手进行具体生命周期方法学特别强调预先定义需求的重要性。要求在着手进行具体生命周期方法学特别强调预先定义需求的重要性。要求在着
16、手进行具体的开发工作之前,必须通过需求分析预先定义并的开发工作之前,必须通过需求分析预先定义并的开发工作之前,必须通过需求分析预先定义并的开发工作之前,必须通过需求分析预先定义并“冻结冻结冻结冻结”软件需求,软件需求,软件需求,软件需求,然后再一步一步地实现这些需求。然后再一步一步地实现这些需求。然后再一步一步地实现这些需求。然后再一步一步地实现这些需求。pp实践表明,在系统建立起来之前,往往很难仅仅依靠分析就确定出一套实践表明,在系统建立起来之前,往往很难仅仅依靠分析就确定出一套实践表明,在系统建立起来之前,往往很难仅仅依靠分析就确定出一套实践表明,在系统建立起来之前,往往很难仅仅依靠分析就
17、确定出一套完整、准确、一致、有效的应用需求,这种预先定义需求的方法更不能完整、准确、一致、有效的应用需求,这种预先定义需求的方法更不能完整、准确、一致、有效的应用需求,这种预先定义需求的方法更不能完整、准确、一致、有效的应用需求,这种预先定义需求的方法更不能适应用户需求不断变化的情况。适应用户需求不断变化的情况。适应用户需求不断变化的情况。适应用户需求不断变化的情况。本讲稿第九页,共九十三页前言:前言:出现问题的原因出现问题的原因2.2.结构化技术的缺点结构化技术的缺点用这种技术开发出的软件,其用这种技术开发出的软件,其用这种技术开发出的软件,其用这种技术开发出的软件,其稳定性、可修改性和可重
18、用性都比较差稳定性、可修改性和可重用性都比较差稳定性、可修改性和可重用性都比较差稳定性、可修改性和可重用性都比较差。pp围绕实现处理功能的围绕实现处理功能的围绕实现处理功能的围绕实现处理功能的“过程过程过程过程”来构造系统的。然而用户需求的变化大来构造系统的。然而用户需求的变化大来构造系统的。然而用户需求的变化大来构造系统的。然而用户需求的变化大部分是针对功能的部分是针对功能的部分是针对功能的部分是针对功能的不稳定性不稳定性不稳定性不稳定性pp清楚地定义了目标系统的边界,软件通过界面与客观世界通信。系统清楚地定义了目标系统的边界,软件通过界面与客观世界通信。系统清楚地定义了目标系统的边界,软件
19、通过界面与客观世界通信。系统清楚地定义了目标系统的边界,软件通过界面与客观世界通信。系统结构依赖于对系统边界的定义,很难把这样的系统扩展到新的边界结构依赖于对系统边界的定义,很难把这样的系统扩展到新的边界结构依赖于对系统边界的定义,很难把这样的系统扩展到新的边界结构依赖于对系统边界的定义,很难把这样的系统扩展到新的边界系统较难修改和扩充系统较难修改和扩充系统较难修改和扩充系统较难修改和扩充pp把处理分解成子处理的过程多少带些任意性,并且把数据和操作作为分把处理分解成子处理的过程多少带些任意性,并且把数据和操作作为分把处理分解成子处理的过程多少带些任意性,并且把数据和操作作为分把处理分解成子处理
20、的过程多少带些任意性,并且把数据和操作作为分离的实体离的实体离的实体离的实体可重用性差可重用性差可重用性差可重用性差本讲稿第十页,共九十三页面向对象方法的四个要点:面向对象方法的四个要点:(1)(1)(1)(1)面向对象方法面向对象方法面向对象方法面向对象方法用对象分解取代了传统方法的功能分解。用对象分解取代了传统方法的功能分解。用对象分解取代了传统方法的功能分解。用对象分解取代了传统方法的功能分解。面面面面向向向向对对对对象象象象的的的的软软软软件件件件系系系系统统统统是是是是由由由由对对对对象象象象组组组组成成成成的的的的,软软软软件件件件中中中中的的的的任任任任何何何何元元元元素素素素都
21、都都都是是是是对象,复杂的软件对象由比较简单的对象组合而成。对象,复杂的软件对象由比较简单的对象组合而成。对象,复杂的软件对象由比较简单的对象组合而成。对象,复杂的软件对象由比较简单的对象组合而成。(2)(2)(2)(2)把把把把所所所所有有有有对对对对象象象象都都都都划划划划分分分分成成成成各各各各种种种种对对对对象象象象类类类类(简简简简称称称称为为为为类类类类,class)class)class)class),每每每每个个个个对对对对象象象象类类类类都都都都定定定定义义义义了了了了一一一一组组组组数数数数据据据据和和和和一一一一组组组组方方方方法法法法(methodmethodmetho
22、dmethod)。数数数数据据据据用用用用于于于于表表表表示示示示对对对对象象象象的的的的静静静静态态态态属属属属性性性性(attributeattributeattributeattribute),是是是是对对对对象象象象的的的的状状状状态态态态信信信信息息息息。方方方方法法法法,是是是是允许施加于该类对象上的操作,是该类所有对象共享的。允许施加于该类对象上的操作,是该类所有对象共享的。允许施加于该类对象上的操作,是该类所有对象共享的。允许施加于该类对象上的操作,是该类所有对象共享的。本讲稿第十一页,共九十三页(3)(3)(3)(3)按照子类按照子类按照子类按照子类(或称为派生类或称为派生类
23、或称为派生类或称为派生类)与父类与父类与父类与父类(或称为基类或称为基类或称为基类或称为基类)的关系,的关系,的关系,的关系,把若干个对象类组成一个层次结构的系统把若干个对象类组成一个层次结构的系统把若干个对象类组成一个层次结构的系统把若干个对象类组成一个层次结构的系统(也称为类等级也称为类等级也称为类等级也称为类等级)。在这种层次结构中,通常下层的派生类具有和上层的基类在这种层次结构中,通常下层的派生类具有和上层的基类在这种层次结构中,通常下层的派生类具有和上层的基类在这种层次结构中,通常下层的派生类具有和上层的基类相相相相同的特性同的特性同的特性同的特性(包括数据和方法包括数据和方法包括数
24、据和方法包括数据和方法),这种现象称为这种现象称为这种现象称为这种现象称为继承继承继承继承(inheritance)(inheritance)(inheritance)(inheritance)。低层的特性将屏蔽高层的同名特性(低层的特性将屏蔽高层的同名特性(低层的特性将屏蔽高层的同名特性(低层的特性将屏蔽高层的同名特性(overrideoverrideoverrideoverride)。)。)。)。如果如果如果如果在派生类中对某些特性又做了重新描述,则在派生类中的在派生类中对某些特性又做了重新描述,则在派生类中的在派生类中对某些特性又做了重新描述,则在派生类中的在派生类中对某些特性又做了重新
25、描述,则在派生类中的这些特性将以新描述为准。这些特性将以新描述为准。这些特性将以新描述为准。这些特性将以新描述为准。(4)(4)(4)(4)对对对对象象象象彼彼彼彼此此此此之之之之间间间间仅仅仅仅能能能能通通通通过过过过传传传传递递递递消消消消息息息息互互互互相相相相联联联联系系系系。对对对对象象象象是是是是进进进进行行行行处处处处理理理理的的的的主主主主体体体体,必必必必须须须须发发发发消消消消息息息息请请请请求求求求它它它它执执执执行行行行它它它它的的的的某某某某个个个个操操操操作作作作,处处处处理理理理它它它它的的的的私私私私有有有有数数数数据据据据,而而而而不不不不能能能能从从从从外外
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 第9章 面向对象方法学精选文档 面向 对象 方法 精选 文档
限制150内