2009年某大学计算机组件技术教学课程

上传人:策**** 文档编号:717025 上传时间:2017-05-12 格式:PPT 页数:62 大小:937.50KB
返回 下载 相关 举报
2009年某大学计算机组件技术教学课程_第1页
第1页 / 共62页
2009年某大学计算机组件技术教学课程_第2页
第2页 / 共62页
2009年某大学计算机组件技术教学课程_第3页
第3页 / 共62页
2009年某大学计算机组件技术教学课程_第4页
第4页 / 共62页
2009年某大学计算机组件技术教学课程_第5页
第5页 / 共62页
点击查看更多>>
资源描述

《2009年某大学计算机组件技术教学课程》由会员分享,可在线阅读,更多相关《2009年某大学计算机组件技术教学课程(62页珍藏版)》请在金锄头文库上搜索。

1、北京大学计算机研究所 2002-9-13 组件技术 内容 关于本课程 软件技术的发展 当前软件状况 COM和 CORBA简介 本课程的内容和安排 (optional)基础: C+ Overview 关于本课程 历史: 2001年上半年第一次开设课程 请参考 http:/ 这学期的变化和调整 缩小 COM部分的比重,加强 Patterns部分的比重 还有将来吗 动机: 加强基础 展示最新软件技术 提高软件设计能力 课程的风格 计算机科学的本质 计算机的定义 冯 -诺伊曼定义: define a computer as a device that accepts data, processes d

2、ata, stores data, and produces output. 指令流处理方式 本质: 动态 计算 静态 存储 软件领域的发展 程序设计方法的发展 软件需求的变化 软件环境的变化 软件开发模式的变化 程序设计方法的发展 功能分解法 计算任务 结构化程序设计 以数据为中心 面向对象程序设计 以对象为中心 组件程序设计 以组件为中心 综 合 使 用 软件需求的变化 计算 实用 管理 (MIS) 分布式系统 软件环境的变化 单任务 多任务 文字界面 图形界面 单线程 多线程 平台相关 跨平台 单机 (本地 ) 网络 (分布式 ) 单一语言 多种语言 软件开发模式 机器码 高级语言 和脚

3、本代码 OS + Compiler + Editor OS + Compilers + IDEs + Libraries + Wizards + Components + other inforstructures + 经验 发展变化的结果 软件学科的形成 不变因素: 计算机的基本运作模式 探求新的计算模型 量子计算 软件学科怎么办 ? 生物信息学 (?) 回顾软件学科 10多年来的变化 软件的产生过程: 原始代码 -编译 -Link-终代码、脚本 混合 软件的分发过程: 文档、说明书、自动安装工具、培训、升级 软件工程: 需求 - 分析 - 设计 - code-test-使用 对象技术和组件

4、技术的不断普及,与大环境发展相结合 对象技术 用一种新的思路来看待问题 10多年的发展证明了 OO符合软件的规律 对象技术的发展需要开发工具和开发语言的支持 三大特性:封装性、继承性、多态性 两种思想 Object-Based Object-Oriented 组件技术 组件技术适合于现代的软件环境 软件更新快、规模大、强调协作等 组件的概念、软件 IC 组件的可独立发布性要求 “ 接口与实现分离 ” 组件 infrastructure,组件体系 COM、 CORBA(和 Java) 中间件 (middleware)市场 国内的状况 在对象技术和组件技术方面,国内落后 问题: 好的技术没能及时引

5、进来 (怎么引进来 ?) 缺乏好的教材、技术杂志、技术书籍 (?) 缺乏良好的教育环境和工业环境 基础 编译过程,程序产生的过程 回归 “ 冯 -诺伊曼 ” 模型 C+之必要性: 最能反映对象技术、组件技术的核心概念 存在的问题: 缺乏好的书籍 (?) 国内的应用领域不够广泛 (?) 概念:类、对象 类是定义,它封装了状态和操作 对象是实例,它反映了具体的事物 对象由类来定义 一个对象可以与多个具有继承关系的类相联系 概念:组件 定义:可独立发布的二进制单元 有的地方称作 “ package” 容易混淆: 服务器 (server)、对象 例如: COM组件、 Java Applet 概念: r

6、euse(重用、复用) 软件设计的目标 不同形式的 reuse 不同层次的 reuse 例子: 类库、中间件 概念:接口与实现分离 Interface and implementation 对象技术和组件技术都强调 接口是对象或者组件的通信协议 实现是对象或者组件的内部细节 接口的发布 客户只关心接口 概念: decouple 去耦 尽可能地消除软件之间或者软件的不同部分之间的联系 是软件设计的重要手段,也是目标 不同层次上的 decouple 概念:多态性 (polymorphism) 对象技术中的重要概念 以一致的方式来看待不同的事物 在 C+中,通过继承和虚成员函数来实现 运行时刻绑定:

7、 runtime binding 区分两个词: overload vs. override 在组件技术中,通过接口来体现 概念: module 模块 不同层次上有不同的定义 在 Windows和 Linux中,指可独立装载的二进制代码单元 有些操作与模块相关 概念:模板 (template) 函数模板和类模板 抽象层次更高 泛型技术 (generic programming) 已纳入 C+标准之中 例子: STL、 ATL 概念: C/S和多层结构 这是指软件的结构 C/S是基础 多层结构具有较好的灵活性和可扩展性 多层结构与基于组件的系统相结合 变种: B/S 概念:其他 现代软件的发展形成

8、了很多重要的概念 掌握这些概念对于提高自己的软件理解水平非常重要 防止混淆和滥用概念 软件形式 单机软件 整体发布 Client/Server软件 简单的网络应用 分布式软件 软件发展面临的问题 软件的复杂度增加 代码开发管理 软件升级和更新 牵一而发动全身? 分布式软件的发布和配置 用户需要培训,程序员和设计人员更需要 软件发展面临的问题 (续 ) Custom-made versus standard software 如何平衡? 依赖于全才开发人员 软件层次划分 软件的可扩展性 用户可定制、脚本支持 与标准接轨 如 Web B/S 软件发展趋势 组件软件、软件组件 中间件市场已经形成 软

9、件基础设施的重要性 经验和成果的重用 软件的可重用性要求 重用粒度不同 API的多样化 软件方案 (solution), consulting市场 组件软件 部分升级 补丁 缩短软件的更新周期 增加了异构软件的可能 标准接口、标准规范、标准协议 动态组合,提高软件生产力 符合现代软件的发展要求 软件组件 关键:接口设计 接口不变性 接口可扩展性 对基础设施的依赖 COM、 CORBA、 . 内部独立设计、独立开发 独立发布、独立测试 基础设施:组件体系 COM(Component Object Model) 93年发布,脱胎于 MS的 OLE 规范 +实现 CORBA(Common Objec

10、t Request Broker Architecture) 91年第 1版, OMG(Object Management Group) 规范 +实现 COM: 组件对象模型 建立在二进制层次上的标准 许多概念与 C+的特征相似,如 vtable 程序与程序之间的通信建立在此基础上 COM规范 平台无关 定义了大量的标准接口用于各种用途 COM实现 平台相关 Windows实现了规范要求以及许多辅助功能 COM特性 语言无关 规范和实现都是语言无关的 进程透明 位置透明 inproc server、 out-of-proc server 可重用性 多线程特性 可扩展性 COM: 接口 COM接

11、口 IID: 128位整数 接口定义语言 COM IDL 对应于 C+中由纯虚函数组成的类 单继承,基接口: IUnknown COM接口特性: 接口不变性 继承性 多态性 运行时刻的多态性 COM: 对象 COM对象 CLSID 实现多个接口 COM对象特性: 身份确定 封装 可重用 O b je c tIU n k n o w nI n te rf a c e 1I n te rf a c e 2COM: 组件 COM对象的载体 包含多个 COM对象 进程内组件 DLL Export Entrys 进程外组件 IPC: RPC/LPC COM: 进程内组件 Inproc server Ex

12、port Entrys 客户 组件COM: 进程外组件 Out-of-proc server 客户 C O M运行库安全提供器L P CD C E R P CC O M运行库安全提供器L P CD C E R P C组件客户程序(客户进程)代理对象组件程序(组件进程)存根代码L P C / R P C组件对象COM: 远程组件 remote server 客户 CO M运行库安全提供器协议栈DC E R P CCO M运行库安全提供器协议栈DC E R P C组件DC OM 网络协议COM: 组件信息发布 注册表 发布组件的信息、对象的信息、接口的信息等 注册工具和配置工具 Regsvr32.

13、exe .reg 自注册 -RegServer DCOMCNFG.EXE MTS Explorer、 活动目录 COM: 创建 COM对象 对象的创建过程 客户 组件COM 库(OL E3 2 . DL L )S CM(RP C S S . E X E)S CM(RP C S S . E X E)RP C调用创建函数远程创建创建进程和对象COM: COM对象管理 客户使用规则,控制对象生命周期 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的分布式应用提供了基础设施 T

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 大杂烩/其它

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号