计算机软件组件技术的发展



《计算机软件组件技术的发展》由会员分享,可在线阅读,更多相关《计算机软件组件技术的发展(45页珍藏版)》请在装配图网上搜索。
1、,*,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,组件技术,计算机科学的本质,计算机的定义,冯-诺伊曼定义:,define a computer as a device that accepts data,processes data,stores data,and produces output.,指令流处理方式,本质:,动态 计算,静态 存储,软件领域的发展,程序设计方法的发展,软件需求的变化,软件环境的变化,软件开发模式的变化,程序设计方法的发展,功能分解法,计算任务,结构化程序设计,以数据为中心,面向对象程序设计,以对象为中心,组件程序设计,以组
2、件为中心,综,合,使,用,软件需求的变化,计算,实用,管理,(,MIS),分布式系统,软件环境的变化,单任务,多任务,文字界面,图形界面,单线程,多线程,平台相关,跨平台,单机,(,本地,),网络,(,分布式,),单一语言,多种语言,软件开发模式,机器码,高级语言,和脚本代码,OS+Compiler+Editor,OS+Compilers+,IDEs,+Libraries+Wizards,+Components,+other,inforstructures,+,经验,发展变化的结果,软件学科的形成,不变因素:,计算机的基本运作模式,探求新的计算模型,量子计算 软件学科怎么办?,生物信息学(?)
3、,回顾软件学科,10,多年来的变化,软件的产生过程:,原始代码,-,编译,-,Link-,终代码、脚本,混合,软件的分发过程:,文档、说明书、自动安装工具、培训、升级,软件工程:,需求,-,分析,-,设计,-,code-test-,使用,对象技术和组件技术的不断普及,与大环境发展相结合,对象技术,用一种新的思路来看待问题,10,多年的发展证明了,OO,符合软件的规律,对象技术的发展需要开发工具和开发语言的支持,三大特性:封装性、继承性、多态性,两种思想,Object-Based,Object-Oriented,组件技术,组件技术适合于现代的软件环境,软件更新快、规模大、强调协作等,组件的概念、
4、软件,IC,组件的可独立发布性要求“接口与实现分离”,组件,infrastructure,,组件体系,COM,、,CORBA,(和,Java,),中间件,(,middleware),市场,国内的状况,在对象技术和组件技术方面,国内落后,问题:,好的技术没能及时引进来(怎么引进来,?),缺乏好的教材、技术杂志、技术书籍(?),缺乏良好的教育环境和工业环境,基础,编译过程,程序产生的过程,回归“冯-诺伊曼”模型,C+,之必要性:,最能反映对象技术、组件技术的核心概念,存在的问题:,缺乏好的书籍(?),国内的应用领域不够广泛(?),概念:类、对象,类是定义,它封装了状态和操作,对象是实例,它反映了具
5、体的事物,对象由类来定义,一个对象可以与多个具有继承关系的类相联系,概念:组件,定义:可独立发布的二进制单元,有的地方称作“,package”,容易混淆:,服务器,(,server),、对象,例如:,COM,组件、,Java Applet,概念:,reuse,(重用、复用),软件设计的目标,不同形式的,reuse,不同层次的,reuse,例子:,类库、中间件,概念:接口与实现分离,Interface and implementation,对象技术和组件技术都强调,接口是对象或者组件的通信协议,实现是对象或者组件的内部细节,接口的发布,客户只关心接口,概念:,decouple,去耦,尽可能地消除
6、软件之间或者软件的不同部分之间的联系,是软件设计的重要手段,也是目标,不同层次上的,decouple,概念:多态性,(,polymorphism),对象技术中的重要概念,以一致的方式来看待不同的事物,在,C+,中,通过继承和虚成员函数来实现,运行时刻绑定:,runtime binding,区分两个词:,overload vs.override,在组件技术中,通过接口来体现,概念:,module,模块,不同层次上有不同的定义,在,Windows,和,Linux,中,指可独立装载的二进制代码单元,有些操作与模块相关,概念:模板,(,template),函数模板和类模板,抽象层次更高,泛型技术,(,
7、generic programming),已纳入,C+,标准之中,例子:,STL,、,ATL,概念:,C/S,和多层结构,这是指软件的结构,C/S,是基础,多层结构具有较好的灵活性和可扩展性,多层结构与基于组件的系统相结合,变种:,B/S,概念:其他,现代软件的发展形成了很多重要的概念,掌握这些概念对于提高自己的软件理解水平非常重要,防止混淆和滥用概念,软件形式,单机软件,整体发布,Client/Server,软件,简单的网络应用,分布式软件,软件发展面临的问题,软件的复杂度增加,代码开发管理,软件升级和更新,牵一而发动全身?,分布式软件的发布和配置,用户需要培训,程序员和设计人员更需要,软件
8、发展面临的问题(续),Custom-made versus standard software,如何平衡?,依赖于全才开发人员,软件层次划分,软件的可扩展性,用户可定制、脚本支持,与标准接轨,如,Web B/S,软件发展趋势,组件软件、软件组件,中间件市场已经形成,软件基础设施的重要性,经验和成果的重用,软件的可重用性要求,重用粒度不同,API,的多样化,软件方案(,solution),consulting,市场,组件软件,部分升级,补丁,缩短软件的更新周期,增加了异构软件的可能,标准接口、标准规范、标准协议,动态组合,提高软件生产力,符合现代软件的发展要求,软件组件,关键:接口设计,接口不变
9、性,接口可扩展性,对基础设施的依赖,COM、CORBA、.,内部独立设计、独立开发,独立发布、独立测试,基础设施:组件体系,COM(Component Object Model),93年发布,脱胎于,MS,的,OLE,规范+实现,CORBA(Common Object Request Broker Architecture),91,年第1版,,OMG(Object Management Group),规范+实现,COM:,组件对象模型,建立在二进制层次上的标准,许多概念与,C+,的特征相似,如,vtable,程序与程序之间的通信建立在此基础上,COM规范,平台无关,定义了大量的标准接口用于各种
10、用途,COM实现,平台相关,Windows实现了规范要求以及许多辅助功能,COM,特性,语言无关,规范和实现都是语言无关的,进程透明 位置透明,inproc server、out-of-proc server,可重用性,多线程特性,可扩展性,COM:,接口,COM,接口,IID:128,位整数,接口定义语言COM IDL,对应于C+中由纯虚函数组成的类,单继承,基接口:IUnknown,COM接口特性:,接口不变性,继承性,多态性运行时刻的多态性,COM:,对象,COM,对象,CLSID,实现多个接口,COM对象特性:,身份确定,封装,可重用,COM:,组件,COM,对象的载体,包含多个,CO
11、M,对象,进程内组件,DLL,Export Entrys,进程外组件,IPC:RPC/LPC,COM:,进程内组件,Inproc,server,Export Entrys,COM:,进程外组件,Out-of-proc server,COM:,远程组件,remote server,COM:,组件信息发布,注册表,发布组件的信息、对象的信息、接口的信息等,注册工具和配置工具,Regsvr32,.,exe,.,reg,自注册-,RegServer,DCOMCNFG,.,EXE,MTS Explorer、,活动目录,COM:,创建,COM,对象,对象的创建过程,(略),COM:COM,对象管理,客户使
12、用规则,控制对象生命周期,COM,实现优化,各种辅助手段,组件类别,component category,MTS,和,COM+,COM:COM,体系,基本的功能,扩展功能,连接点,结构化存储,名字服务,自动化,其他,COM+,COM:COM+,建立在,COM,的基础上,,COM,的自然延伸,Services,事件服务,队列服务,事务服务,负载平衡,其他,COM:,应用,OLE,ActiveX control,脚本功能扩展,OLE DB,ADSI,ASP,其他,COM:,分布式应用,COM/COM+,为基于,Windows,的分布式应用提供了基础设施,Transaction,Security,OLE DB,Web,集成,Active Directory,管理功能,
- 温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 36个关键词详解2025政府工作报告
- 学习2025年政府工作报告中的八大科技关键词
- 2025年政府工作报告要点速览接续奋斗共谱新篇
- 学习2025政府工作报告里的加减乘除
- 深化农村改革党课ppt课件(20250305)
- 弘扬雷锋精神凝聚奋进力量学习雷锋精神的丰富内涵和时代价值
- 深化农村改革推进乡村全面振兴心得体会范文(三篇)
- 2025年民营企业座谈会深度解读PPT课件
- 领导干部2024年述职述廉述责述学述法个人报告范文(四篇)
- 读懂2025中央一号党课ppt课件
- 2025年道路运输企业主要负责人安全考试练习题[含答案]
- 2024四川省雅安市中考英语真题[含答案]
- 2024湖南省中考英语真题[含答案]
- 2024宁夏中考英语真题[含答案]
- 2024四川省内江市中考英语真题[含答案]