欢迎来到天天文库
浏览记录
ID:40838373
大小:1.20 MB
页数:139页
时间:2019-08-08
《ch53面向对象软件开发方法》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、面向对象方法概述面向对象(OO,ObjectOriented)技术是软件工程领域中的重要技术,这种软件开发思想比较自然地模拟了人类认识客观世界的方式,成为当前计算机软件工程学中的主流方法“面向对象”(Object-Oriented)是针对“面向过程”一词提出的,是从本质上区别于传统的结构化方法的一种新方法,新思路应该特别强调的是,面向对象技术不仅仅是一种程序设计方法,更重要的是一种对真实世界的抽象思维方式面向对象方法概述——背景传统开发方法由一整套过程、方法和工具作为支撑,在一定时期内对解决软件危机起了很大作用,曾指导开发出很多成功的系统,但其缺点也日益显现传统软件
2、开发方法不能完全消除软件危机,并且生产率的提高不能满足需要从50年代到80年代,美国的软件生产率翻了两翻。但社会对软件的需求每年以两位数字的百分比在增长。软件的开发已成为影响计算机应用的瓶颈面向对象方法概述——背景(1)传统开发方法存在的问题软件维护系统是围绕着如何实现一定的行为来进行的,当系统行为易变,需要常常修改时,修改极为困难软件结构严重依赖于系统功能,基于功能分解的系统结构将很难进行修改和扩充用户功能需求的改变将导致软件结构的相应改变,给软件的开发及维护造成很大困难数据和对数据的处理操作是分离的,对数据的修改将影响某个功能的实现传统开发方法的软件维护比软件开
3、发效率低几十倍。80年代,美国一年花费的软件维护费用高达300多亿美元。90年代,软件维护费用占系统研制、开发总费用的70%。面向对象方法概述——背景(2)传统开发方法存在的问题自顶向下功能分解的分析方法极大地限制了软件的可重用性结构化分析、设计技术的本质是功能分析从代表目标系统整体功能的单个处理着手,自顶向下不断把复杂的处理分解为子处理,层层分解下去,直至仅剩下若干个容易实现的子处理为止传统方法通过建立标准函数库和子程序库实现软件的可重用性,然而标准函数库等只是对建立在数学模型基础上的应用问题有可重用的功效,而对其它实际应用问题则不能很好地进行软件重用面向对象方法
4、概述——背景(3)传统开发方法存在的问题以输入-处理-输出为核心的分析和设计方法不符合人类的思维方式软件不能真正了解用户的需要,以致开发出的软件系统与用户预期的系统不一致,不能满足用户的需要功能与数据分离的软件设计结构与人类的现实世界环境很不一样,和人的自然思维也就很不一致,因此对现实世界的认识与编程之间存在着一道很深的理解上的鸿沟Standish94报告中指出:31%软件项目没有完全完成,53%的项目花费最先预算的200%之多,并且估计美国的公司和政府机构在1995年为了取消软件项目的生产而花费了810亿美元面向对象方法概述——背景(4)传统开发方法存在的问题系统
5、中模块之间控制作用的重要影响在系统中,实际控制发生的根源来自分散的各个模块之中时,由于在“好的模块结构”中的模块间的控制作用只能通过上下之间的调用关系来进行,造成信息传递路径过长,效率低,易受干扰,甚至出错面向对象方法概述——背景(5)为了解决传统开发方法的问题,在软件开发实践中人们提出了许多针对具体开发的方法快速原型法面向对象方法…….诞生了面向对象程序设计语言,并基于面向对象思想诞生了面向对象软件开发方法面向对象方法概述——发展历程面向对象的思想最初出现于挪威奥斯陆大学和挪威计算中心于60年代末共同研制推出的S1mula67语言中,该语言首先引入了类的概念和继承
6、机制80年代,美国加利福尼亚Xerox研究中心推出的Smalltalk-76和Smalltalk-80语言,它具备了面向对象语言的继承和封装的主要特征,比较完善地实现了面向对象的程序设计,推动了面向对象技术的飞速发展面向对象方法概述——发展历程(1)从80年代中期到90年代,面向对象语言十分热门,涌现出大批比较实用的面向对象编程语言如C++、ObjectPascal等随着面向对象编程语言走向实用,开始了对面向对象分析和面向对象设计的研究面向对象的分析和设计技术逐渐走向实用,最终形成了由分析、设计到编程、测试与维护一整套的软件工程体系组成的面向对象软件开发方法面向对象
7、方法概述——发展历程(2)在面向对象软件开发方法发展中,出现了很多方法,典型的以发明者命名的方法有:Booch法、Rambaugh法、Jacobson法、Coad和Yourdon法、Wirfs-Broch法等1995年,GradyBooch、IvarJacobson和JamesRumbaugh一起合作,将各自的方法组合成一种统一的方法,称为“统一建模语言”,即(UnifiedModelingLanguage,UML)1997年提出UML1.0版本UML现已在整个行业使用OO技术的基本原理按照问题域的基本事物实现自然分割,按人们通常的思维方式建立问题域的模型,设计
此文档下载收益归作者所有