您好,欢迎访问三七文档
第一章面向对象技术研究与发展面向对象技术地位面向对象技术简介新技术的发展动因现代面向对象技术新技术的发展机遇1.1面向对象技术地位信息革命的核心–集成电路是细胞通讯网络是动脉–计算机是大脑信息资源是血浆–应用需求是心脏安全是免疫系统–软件是灵魂软件产业的地位–第一大产业面向对象是软件技术的基本指导思想–发展过程:个人技巧-结构化-面向对象–覆盖范围:运行技术工具技术过程技术–两个侧面:学术界工业界–具体实例:操作系统数据库系统高级语言开发平台应用系统开发技术1.2面向对象技术简介结构化方法+软件工程面向对象方法1.2.1结构化方法+软件工程早期的软件开发–硬件环境:CPU为核心,存贮量小–应用特点:科学计算,计算量大,输入输出量小–主要对象:小型程序,顺序程序–软件开发:方式:个体工作方法:个人技巧准则:执行功效平台和应用需求变化–硬件环境:外部设备发展迅速–应用特点:非数值应用,计算量小,输入输出量大–主要问题:大型程序,并发程序软件危机–软件开发:方式:合作开发需求方法:新方法的探讨准则:执行工效+易理解性+开发工效结果:结构化方法+软件工程奠基性的工作:Dijkstra的论文–Goto语句的讨论结构化方法–开发结构良好(Top-down,Buttom-up)–结果结构良好(无goto结构)主要目标–适合人的思维过程–开发复杂性的分层控制主要应用程序设计==结构化分析,结构化设计主要问题(以人思维为核心)–功能抽象困难–功能易变性–分解结构随意解决途径:面向现实世界,发现不变性1.2.2面向对象方法现实世界抽象–客观对象=基本成分–相互联系=连接/协同–概念描述=表达方式计算世界抽象–数据操作=属性行为–方法调用=通信联系–类与继承=按类分层基本机制对象与交互类与继承多态与动态定链基本含义所谓面向对象就是基于对象概念,以对象为中心,以类和继承为构造机制,充分利用多态和动态定连提供灵活性,来认识、理解刻划客观世界和设计,构建相应的软件系统主要特征综合了平台人问题三要素缩小差异:问题空间认知空间机器平台发展过程–60年代后期:Simula67,基本思想–70年代后期:Smalltalk80,实用化–80年代:C++,Eiffel商业化–90年代:设计与分析,全面发展1.3新技术的发展动因计算平台的快速发展计算机应用规模扩大嵌入式对象技术并行面向对象技术分布对象技术面向对象技术1.3.1嵌入式对象技术计算机技术的快速发展–第一台计算机:1946年2月15日需求:编制新型武器的射程表研制单位:宾西法利亚大学阿伯丁弹道实验室规模:1.8万电子管,7万只电阻,1万只电容,耗电量150千瓦重30吨占地170平方个人计算机的发展–1971年11月15日,Intel发布第一个微处理器4004;–1974年底,出现第一个个人计算机MITSAltair8800;–1981年,IBMPC诞生;–1981年2million台,1982年5.5million,10年后65million;–286,386,486,586,686,。。,–发展速度概括5-8年:速度提高10倍,体积缩小10倍,价格降低10倍–微型化的发展笔记本,嵌入式系统,可穿戴计算机后PC时代(Post-PCEra)–PC时代:PC无处不在,PC处处可见。–后PC时代的特征:嵌入式系统无所不在,功能集中:CellPhone,Printer,WearableComputer,etc隐身作用,通信为主:SystemonChip--Disappearingcomputer--WirelessConnection--UniversalNetwork嵌入方式:嵌入设备,嵌入人体发展过程60年代:Mainframe+批处理70年代:分时系统+个人介入80年代:PC机+个人信息处理90年代:个人为中心+可穿戴,嵌入式人围着计算机--计算机围着人计算无处不在--信息无处不在面临的技术挑战–建立一种有效的基础设施,它可支持在网络环境下挂接各种嵌入式设备。–可挂接设备的三要素:aprocessor+somememory+anetworkconnection.例,计算机,打印机,存储设备和专门的硬件等。此外,cellphone,PDA,等也将包括在其中–网络是一个long-lived网络,各种设备采用一种independently和incrementally的方式挂接在网络上或从网络撤离。解决途径之一:嵌入式对象技术1.3.2并行面向对象技术超级并行机的发展–顺序机的发展极限:技术问题和光速限制–超级并行机的发展1983年银河-1亿次机1992年银河-210亿次机1993年曙光100025亿次1997年银河-3百亿次美国计划2008年千万亿次–主要动因国家安全:军事应用专门应用:智能应用:深蓝机石油部门:地质构造推广普及:高性能服务器,Sun,SGI,HP–主要需求峰值速度与常规速度并行算法与并行软件–面临的技术挑战并行软件的性质要求正确性无死锁等体系结构的多样性编程困难、调试困难和验证困难解决途径之一:并行面向对象技术1.3.3分布对象技术计算机网络–Internet–Internet在中国,据统计1994年2000户1995年8万户1996年20万户1997年67万户1998年210万户1999年630万户–计算机应用的基础设施连接信息资源,还可以连接家电设备连接工作群体连接计算资源连接。。。。。面临的主要挑战–从单机看网络机:异构+通信+同步+容错–Heterogeneity:硬件平台和软件平台–Latency:较长的网络通信事件,影响分布系统分量间的有效协同。–Synchronization:异步性给同步控制带来困难。–Partialfailure:一个或多个分量出现问题,如何处理。解决途径之一:分布对象技术1.3.4面向对象技术应用需求的不断增加和规模增大–例1,大型软件开发的例航天飞机:40millionlinesofcode空间站:估计1000millionlines30majorcompanies1000persons–Windows系统:45-60millionlinesofcode–星球大战计划导弹防御系统:30millionlines取消的原因之一是软件太大面临的技术挑战例2,据统计,软件需求量每年增加12%生产率每年增加4%例3,“2000问题说明了不可靠性和升档的困难;大量黑客的侵入说明了不安全性;软件开发者依赖用户来发现软件中的错误说明测试难以根除错误。面临的主要问题:SoftwareGap(问题的现象)TheNationonFragileSoftware.(软件的产品侧面)缺乏构造可靠与安全软件的技术(软件的开发侧面)提高生产率,保证质量是根本–软件开发过程的改进:面向问题需求、设计和编码软件开发模型–软件开发方式的变革:软件复用从多种角度支持复用解决途径之一面向对象技术1.4现代面向对象技术从平台的角度看面向对象新技术–分布对象技术-计算机网络平台–嵌人对象技术-嵌入式系统平台–并行对象技术-并行计算机平台从软件开发方式看面向对象新技术–构件软件技术–设计模式技术–应用框架技术面向对象软件开发全过程–面向对象分析–面向对象设计–面向对象程序设计–面向对象开发模型1.5新技术的发展机遇网络平台提供的机遇–TheNetworkisComputer–新的平台意味着新的底层技术新的操作系统新的程序语言新的方法学新的应用领域。。。。。。Internet平台的特点–在资源链接方面广泛的开放性和动态性–在资源使用方面高度的个性化和灵活性面向对象方法学(机器、人,问题)–平台层次:高级程序设计语言从机器层次给出了各种高级语言的结构,在保证高效执行的前提下,尽可能方便编程;–思维层次:结构程序设计思想从思维层次给出了高级语言中各个结构的机理,从而在保证易于理解的前提下,便于机器执行和问题求解;–问题层次:面向对象程序设计在问题层次考虑问题求解的需求,并给出相应模型将上述成果有机综合;Internetware方法学–平台层次:移动agent方法适合Internet环境但自主性、移动性、协同性等的机理不十分清晰–思维层次:智能agent社会环境:Internet,海量、动态、开放;个体形态:思考型和反应型-自主性和智能性协同行为:agent协商和规划-移动性和协同性主要目标:网络环境的动态适应性–问题层次:应用提炼
本文标题:面向对象研究与发展
链接地址:https://www.777doc.com/doc-549769 .html