- 1、本文档共110页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
软件工程第9章面向对象方法学引论讲述
面向对象方法学引论
开发模式(Paradigm)
开发模式又称为范型、范例、风范或模式(Pattern)。开发模式定义了
特定问题和应用的开发过程中将遵循的步骤;
确定将用于表示问题和解的那些成分的类型;
利用这些成分表示与问题解决有关的抽象;
直接得到问题的结构。
开发模式的选择影响到整个软件开发生存期。就是说,它支配了设计方法、编码语言、测试和检验技术的选择
目前流行多种开发模式,它们提供了许多方法,可进行系统分解。
面向过程的;
逻辑的;
面向存取的;
面向进程的;
面向对象的;
函数型的;
说明性的。
每个开发模式都有它的支持者和用户;
每个开发模式都特别适合于某种类型的问题或子问题;
每一个开发模式都用不同的方式考虑问题;
每一个开发模式都使用不同的方法来分解问题;
每一个开发模式都导致不同种类的块、过程、产生规则。
混合开发模式
在大型系统的开发中,很难说哪种开发模式对整个问题的解决最好。
系统开发时,通常把大型问题分解成一组子问题。对于每个子问题可以采用适当的软件开发模式。
这种设计需要有某种实现语言或一组协同语言的支持。许多流行的功能不断增强的语言可支持不只一种设计开发模式。
一个智能数据分析系统的设计,可把它看做是 4 个子系统。系统有
一个数据库界面,可以使用面向存取的方法进行设计;
智能数据分析用逻辑性的开发模式设计;
一组分析算法是过程性的;
用户界面是用面向对象开发模式设计出来的。
传统方法学的缺点
生命周期方法具有一定的先进性。曾经给软件产业带来巨大进步,部分地缓解了软件危机,使用这种方法学开发的许多中、小规模软件项目都获得了成功。
存在的问题
生产率提高的幅度远不能满足需要
软件重用程度很低
软件仍然很难维护
软件往往不能真正满足用户的需要
当把这种方法学应用于大型软件产品的开发时,似乎很少取得成功。
出现问题的原因
僵化的瀑布模型
某些类型的系统需求是模糊的
项目参与者之间存在通信鸿沟
预先定义的需求可能是过时的
结构化技术的缺点
面向过程,功能分解
面向过程开发模式
面向过程开发模式产生过程的抽象。
这些抽象的基础是把软件视为处理流,并定义成由一系列步骤构成的算法。
每一步骤都是带有预定输入和特定输出的一个过程,把这些步骤串联在一起可产生合理的稳定的贯通于整个程序的控制流,最终产生一个简单的具有静态结构的体系结构。
面向过程开发模式的特点
过程性开发模式侧重建立构成问题解决的处理流。
数据抽象、数据结构根据算法步骤的要求开发,它贯穿于过程,提供过程所要求操作的信息。
系统的状态是一组全局变量,这组全局变量保存状态的值,把它们从一个过程传送到另一个过程。
软件工程的新途径
快速原型法
快速原型法简介
用原型法开发软件的过程
抛弃原形法
演化原形法
面向对象方法学:到了20世纪90年代,面向对象方法学已经成为人们在开发软件时首选的范型。面向对象技术已成为当前最好的软件开发技术。
面向对象开发模式
在面向过程开发模式中优先考虑的是过程抽象,在面向对象开发模式中优先考虑的是实体(问题论域的对象)。
在面向对象开发模式中,把标识和模型化问题论域中的主要实体做为系统开发的起点,主要考虑对象的行为而不是必须执行的一系列动作。
9.1.1 面向对象方法学的要点
出发点和基本原则是尽可能模拟人类习惯的思维方式,使开发软件的方法与过程尽可能接近人类认识世界解决问题的方法与过程,也就是使描述问题的问题空间与实现解法的解空间在结构上尽可能一致。
9.1 面向对象方法学概述
面向对象方法学的四个要点
认为客观世界是由各种对象组成的,任何事物都是对象,复杂的对象可以由比较简单的对象以某种方式组合而成。
面向对象方法用对象分解取代了传统方法的功能分解。
面向对象方法学的四个要点
把所有对象都划分成各种对象类,每个对象类都定义了一组数据和方法。
数据用于表示对象的静态属性,是对象的状态信息。因此,每当建立该对象类的一个新实例时,就按照类中对数据的定义为这个新对象生成一组专用的数据,以便描述该对象独特的属性值。
类中定义的方法,是允许施加于该类对象上的操作,是该类所有对象共享的,并不需要为每个对象都复制操作的代码。
面向对象方法学的四个要点
按照子类与父类的关系,把若干个对象类组成一个层次结构的系统。通常下层的派生类具有和上层的基类相同的特性(包括数据和方法),这种现象称为继承。
但是,如果在派生类中对某些特性又做了重新描述,则在派生类中的这些特性将以新描述为准,也就是说,低层的特性将屏蔽高层的同名特性。
面向对象方法学的四个要点
对象彼此之间仅能通过传递消息互相联系。
对象是进行处理的主体,必须发消息请求它执行它的某个操作,处理它的私有数据。
一切局部于该对象的私有信息,都
文档评论(0)