- 1、本文档共141页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
面向对象方法概述
面向对象(OO,Object Oriented)技术是软件工程领域中的重要技术,这种软件开发思想比较自然地模拟了人类认识客观世界的方式,成为当前计算机软件工程学中的主流方法
“面向对象”(Object-Oriented)是针对“面向过程”一词提出的,是从本质上区别于传统的结构化方法的一种新方法,新思路
应该特别强调的是,面向对象技术不仅仅是一种程序设计方法,更重要的是一种对真实世界的抽象思维方式 ;面向对象方法概述——背景
传统开发方法由一整套过程、方法和工具作为支撑,在一定时期内对解决软件危机起了很大作用,曾指导开发出很多成功的系统,但其缺点也日益显现
传统软件开发方法不能完全消除软件危机,并且生产率的提高不能满足需要;面向对象方法概述——背景(1)
传统开发方法存在的问题
软件维护
系统是围绕着如何实现一定的行为来进行的,当系统行为易变,需要常常修改时,修改极为困难
软件结构严重依赖于系统功能,基于功能分解的系统结构将很难进行修改和扩充
用户功能需求的改变将导致软件结构的相应改变,给软件的开发及维护造成很大困难
数据和对数据的处理操作是分离的,对数据的修改将影响某个功能的实现
;面向对象方法概述——背景(2)
传统开发方法存在的问题
自顶向下功能分解的分析方法极大地限制了软件的可重用性
结构化分析、设计技术的本质是功能分析
从代表目标系统整体功能的单个处理着手,自顶向下不断把复杂的处理分解为子处理,层层分解下去,直至仅剩下若干个容易实现的子处理为止
;面向对象方法概述——背景(3)
传统开发方法存在的问题
以输入-处理-输出为核心的分析和设计方法不符合人类的思维方式
软件不能真正了解用户的需要,以致开发出的软件系统与用户预期的系统不一致,不能满足用户的需要
功能与数据分离的软件设计结构与人类的现实世界环境很不一样,和人的自然思维也就很不一致,因此对现实世界的认识与编程之间存在着一道很深的理解上的鸿沟;面向对象方法概述——背景(4)
传统开发方法存在的问题
系统中模块之间控制作用的重要影响
在系统中,实际控制发生的???源来自分散的各个模块之中时,由于在“好的模块结构”中的模块间的控制作用只能通过上下之间的调用关系来进行,造成信息传递路径过长,效率低,易受干扰,甚至出错;面向对象方法概述——背景(5)
为了解决传统开发方法的问题,在软件开发实践中人们提出了许多针对具体开发的方法
快速原型法
面向对象方法
…….
诞生了面向对象程序设计语言,并基于面向对象思想诞生了面向对象软件开发方法;面向对象方法概述——发展历程
面向对象的思想最初出现于挪威奥斯陆大学和挪威计算中心于60年代末共同研制推出的S1mula67语言中,该语言首先引入了类的概念和继承机制
80年代 ,美国加利福尼亚Xerox研究中心推出的Smalltalk-76和Smalltalk-80语言,它具备了面向对象语言的继承和封装的主要特征,比较完善地实现了面向对象的程序设计,推动了面向对象技术的飞速发展 ;面向对象方法概述——发展历程(1)
从80年代中期到90年代,面向对象语言十分热门,涌现出大批比较实用的面向对象编程语言
如C++、Object Pascal等
随着面向对象编程语言走向实用,开始了对面向对象分析和面向对象设计的研究
面向对象的分析和设计技术逐渐走向实用,最终形成了由分析、设计到编程、测试与维护一整套的软件工程体系组成的面向对象软件开发方法 ;面向对象方法概述——发展历程(2)
在面向对象软件开发方法发展中,出现了很多方法,典型的以发明者命名的方法有:Booch法、Rambaugh法、Jacobson法、Coad和Yourdon法、Wirfs-Broch法等
1995年,Grady Booch、Ivar Jacobson和James Rumbaugh一起合作,将各自的方法组合成一种统一的方法,称为“统一建模语言”,即(Unified Modeling Language, UML)
1997年提出UML1.0版本
UML现已在整个行业使用;OO技术的基本原理
按照问题域的基本事物实现自然分割,按人们通常的思维方式建立问题域的模型,设计尽可能直接自然表现问题求解的软件系统。
OO技术引入了对象(object)概念来表现事物;用消息(message)传递建立事物间的联系;用类(class)和继承(inheritance)作为适应人们一般思维方式的描述模型;用方法(method)表示作用在对象上的各种操作。;OO技术的基本原理(1)
传统的程序设计方法,针对的是数学模型,出发点是“怎样做(How)?”
用计算机求解一个实际问题应该怎样做?
从实际问题到求解模型(数学模型)的抽象都是围绕怎样做?去进行的
面向对象(OO)方法的出发点是“是什
您可能关注的文档
- 质量管理员注意事项.pptx
- 质量管理和现场管理培训资料(ppt51).pptx
- 质量管理(第四章).pptx
- 质量管理审核案例.pptx
- 质量管理小组活动.pptx
- 质量管理批量投产前的质量保证系统FMEA.pptx
- 质量管理常用七大手法.pptx
- 质量管理教育培训课程.pptx
- 质量管理培训(师伟).pptx
- 质量管理概论与JCI国际标准.pptx
- 超星尔雅学习通《劳动通论》章节测试题100道附答案【能力提升】.docx
- 湖北省鄂州市社会工作者职业资格社会工作综合能力(初级)真题(含答案).docx
- 2022年吉林省辽源市社会工作者职业资格社会工作综合能力(初级)预测试题(含答案).docx
- 2021-2022年广东省广州市社会工作者职业资格社会工作综合能力(初级)模拟考试(含答案).docx
- 2021-2022年四川省内江市社会工作者职业资格社会工作综合能力(初级)专项练习(含答案).docx
- 2022-2023年陕西省咸阳市社会工作者职业资格社会工作综合能力(初级)预测试题(含答案).docx
- 河南省郑州市注册会计财务成本管理模拟考试(含答案).docx
- 2021-2022年陕西省铜川市注册会计财务成本管理预测试题(含答案).docx
- 广东省河源市导游资格全国导游基础知识重点汇总(含答案).docx
- 山西省太原市导游资格全国导游基础知识预测试题(含答案).docx
文档评论(0)