- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第八讲 面向对象的软件工程 讲解纲要 一、传统与面向对象的开发方法—本质 本质:开发工作开始之前,通过需求分析预先定义软件需求,然后分阶段有条不紊地开发,实现用户需求。 生命周期方法学是一个巨大的进步,对实现软件开发工程化曾经起了重要的促进作用,部分地缓解了软件危机。但实践表明,传统的生命周期方法学并不能完全消除软件危机。 对某些类型的软件开发较适用,对另一些类型的软件则可能完全不适用。 近年来软件工程的新途径——快速原型法和面向对象方法学——已经进入实用阶段,应用得越来越广泛。 一、传统与面向对象的开发方法—要点 面向对象方法学的出发点和基本原则 尽可能模拟人类习惯的思维方式,使开发软件的方法与过程尽可能接近人类认识世界解决问题的方法与过程; 也就是使描述问题的问题空间(也称为问题域)与实现解法的解空间(也称为求解域)在结构上尽可能一致。 问题空间 客观世界的问题都是由客观世界中的实体及实体间相互间的关系构成的。 把客观世界中的一个实体抽象为问题域中的对象(Object)。 从动态观点看,对对象施加的操作就是该对象的行为。 通常,客观世界中的实体既具有静态的属性又具有动态的行为。 传统方法中问题空间和解空间的映射关系 在问题空间中(即客观世界中的实体)既具有静态的属性又具有动态的行为。 在解空间中,传统方法把数据(静态的属性)和处理(动态的行为)人为地分离成两个独立的部分,这使得描述问题的问题空间(也称为问题域)与实现解法的解空间(也称为求解域)在结构上不一致。 增加了软件开发的难度。 面向对象方法中问题空间和解空间的映射关系 尽可能模拟客观世界,它把数据以及在这些数据上的操作所构成的统一体称为“对象”。 对象是进行处理的主体。必须发消息请求对象执行它的某些操作,处理它的私有数据,而不能从外界直接对它的私有数据进行操作。 可以根据问题空间的结构,定义或选取解空间对象,然后用一系列离散的解空间对象的集合组成软件系统。对象彼此间通过发送消息而相互作用,从而得出问题的解。 面向对象是一种新的思维方法,它不是把程序看作是工作在数据上的一系列过程或函数的集合,而是把程序看作是相互协作而又彼此独立的对象的集合。 在许多系统中解空间对象都可以直接模拟问题空间的对象,解空间与问题空间的结构十分一致,程序易于理解和维护。 面向对象方法的四个要点 认为客观世界是由各种对象组成的,任何事物都是对象;复杂的对象可以由比较简单的对象以某种方式组合而成。 因此,面向对象的软件系统是由各种对象组成的; 任何元素都是对象,复杂的对象可以由比较简单的对象某种方式组合而成。 按照子类(或称为派生类)与父类(或称为基类)的关系,把若干个对象类组成一个层次结构的系统(也称为类等级)。 派生类具有基类的特性(包括数据和方法),但是派生类又有某些基类没有的特性。 这种现象称为继承(Inheritance)。 面向对象方法学方程 OO = Objects + Classes + Inheritance + Communication with messages 也就是说,面向对象就是既使用对象又使用类和继承等机制,而且对象之间仅能通过传递消息实现彼此通信。 面向对象方法的主要优点 与人类习惯的思维方法一致 面向过程的设计方法: 以算法为核心,把数据和过程作为相互独立的部分。 面向对象的设计方法: 以对象为核心,开发出的软件系统由对象组成。 对象之间通过传递消息互相联系,以模拟现实世界中不同事物彼此之间的联系。 面向对象方法的主要优点 稳定性好 面向过程的设计方法: 以算法为核心,开发过程基于功能分析和功能分解。软件系统的结构紧密依赖于系统所要完成的功能,当功能需求发生变化时将引起软件结构的整体修改。 面向对象的设计方法: 以对象为中心构造软件系统。用对象模拟问题领域中的实体,以对象间的联系刻画实体间的联系。当系统的功能需求变化时,往往只需要作一些局部性的修改。这样的软件系统比较稳定。 面向对象方法的主要优点 可重用性好 传统的软件重用技术: 用标准函数库中的函数作为“预制件”来建造新的软件系统。但标准函数缺乏必要的“柔性”,不能适应不同的应用场合,不是理想的可重用的软件成分。 面向对象的设计方法: 重用一个对象类有两种方法,一种方法是创建该类的实例,从而直接使用它;另一种方法是从它派生出一个满足当前需要的新类。继承性机制使得子类不仅可以重用其父类的数据结构和程序代码,而且可以在父类代码的基础上方便地修改和扩充,这种修改并不影响对原有类的使用。 面向对象方法的主要优点 较易开发大型软件产品 可以将大系统分解成相互独立的小产品来处理 可以降低成本,提高质量 可维护性好 面向对象的软件稳定性比较好。 面向对象的软件比较容易修改。 面向对象的软件
您可能关注的文档
最近下载
- 能源科技有限公司100MW200MWh储能项目110KV升压站安全预评价报告.doc VIP
- 评估公司内部管理制度.doc VIP
- 西师大版五年级上册小学数学期中试卷.pdf VIP
- PEP三年级英语上册 Unit 6单元练习题.doc VIP
- 新解读《EJ_T 287-2000氚内照射剂量估算与评价方法》最新解读.docx VIP
- 统编人教版高中地理必修第一册第一、二章章节单元测试卷(含答案解析).pdf VIP
- 北师大版八年级数学上册 第二章 实数 单元检测试题(有答案).docx VIP
- 风电、光伏项目前期及建设手续办理流程汇编.docx
- 地籍档案管理基本知识 完整版2025.pdf VIP
- 金属非金属矿山安全规程培训.pptx
文档评论(0)