中间件技术06.ppt_第1页
中间件技术06.ppt_第2页
中间件技术06.ppt_第3页
中间件技术06.ppt_第4页
中间件技术06.ppt_第5页
已阅读5页,还剩30页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、1,软 件 构 件,2,“管理变化性与复杂性 是基于构件软件开发的动力” Booch, 2001,3,内容,一、动因 二、什么是软件构件 三、与软件构件技术相关的过程,4,一、动因,为什么要研究软件构件技术? 软件复用:以构件技术为核心 软件体系结构:构件 + 构件之间的关系 网络环境:软件分布在不同结点上,5,The task of the software development team is to engineer the illusion of simplicity Booch.,6,1968 年 NATO 软件工程会议上 Mcllroy的论文提出了 “大量生产的软件构件” 第一次引

2、入了 软件复用 概念,7,软件复用思想的历史背景 子程序的概念即体现了复用的思想 程序库 将一些通用子程序收集到程序库中 供其他程序员在编程时使用 例如 数学程序库等 在其后的发展过程中 有许多 复用技术的研究成果 和 成功的复用实践活动 但是 技术上的不成熟 使得软件复用未得到应有的进展,8,近十几年来 面向对象技术逐步成为主流技术 为软件复用提供了基本的技术支持 软件复用研究 重新成为热点 软件复用 被视为 解决软件危机 提高软件生产效率和质量 的 现实可行途径,9,分析传统工业 如机械、建筑等行业 以及 计算机硬件产业 其成功的基本模式 是 符合标准的零部件(构件)生产、 基于标准零部件

3、的产品生产(组装) 其中:复用 是 必需的手段 构件 是 核心和基础 这种模式 是 产业工程化、工业化的必由之路 也 是 软件产业发展的必然途径 这是软件复用与软件构件技术受到高度重视的根本原因,软件复用的两种方法 产品复用:复用已有的软件构件,通过集成(组装) 构件得到新系统 过程复用:复用已有的软件开发过程,使用可复用的 应用生成器来自动或半自动生成系统 过程复用 依赖于 软件自动化技术的发展 目前只适用于一些特殊应用领域 产品复用 是 目前现实的、主流的途径,产品复用的两种方式 黑盒复用:不需对构件作任何修改即可直接复用 这是理想的复用方式 白盒复用:已有构件并不能完全符合用户需求 需要

4、根据用户需求进行适应性修改,12,产品复用的两个过程 可复用软件构件的开发 如何开发出便于复用的软件构件 基于可复用软件构件的应用系统构造 如何利用现有的软件构件开发出目标系统,13,其他分类方式: 从复用程度区分: 个别复用:无目的地 个别地进行复用 系统化复用:有目的地 创建、管理、支持并复用构件 复用成熟度RMM( Reuse Maturity Model:IBM) 初始级:不协调的复用努力 监控级:管理上知道复用,但不作为重点 协调级:鼓励复用,但没有投资 计划级:存在组织上的复用支持 固有级:规范化的复用支持,14,实现软件复用的关键因素 软件构件技术(Software Compon

5、ent) 领域工程(Domain Engineering) 软件体系结构(Software Architecture) 软件再工程(Software Reengineering) 开放系统(Open System) 软件过程(Software Process) CASE技术 非技术因素,15,CASE技术,软 件 过 程,非 技 术 因 素,领域工程,构件、构架 获取,软件构件技术,应用系统 领域,软件再工程,软件构架技术,开放系统技术,构件标准 化与描述,构件分类、 存储与检索,构件组装,遗产软件 系统,软件构件技术是软件复用的关键技术,16,目前得到发展的主要原因 软件开发组织的需求 复用

6、、构件 软件运行环境的支持 互操作基本解决,17,典型的可复用软件成分(制品、资产): 项目计划 成本估计 体系结构 需求模型 系统设计 代码 技术文档 用户界面 数据 测试用例,二、什么是软件构件,18,从一般意义上讲 构件是 系统中可以明确辨识的构成成分 软件构件则是 软件系统中 具有一定意义的 相对独立的构成成分 由于目前讨论的软件构件 主要着眼于其复用意义 因此软件构件主要是指 可复用软件构件 (Reusable software component:RSC),19,代码(程序),目标码态,源代码态,运行态,存储态,文档,编译,加载,软件,=,程序,+,文档,静态,20,定义1 Szy

7、perski 1996 一个构件是一个组装单元 它具有约定式规范的接口以及明确的依赖环境 构件可以被独立地部署,由第三方组装,定义2 SEI 2001 构件是一个不透明的功能实现体 能够被第三方所组装,且符合一个构件模型,21,定义3: 构件是可以被复用的软件构成成分, 由构件规约与构件实现两部分组成 复用可以发生在不同应用领域的软件系统之间 可以发生在相同领域内的不同系统之间, 可以发生在一个系统在演化过程中的不同阶段之间,22,构件规约(specification) 构件规约用于描述如何对构件进行使用与管理 是对构件外部特征的形式化描述 是关于构件的知识,构件规约,构件接口(客户合约),构

8、件静态管理信息,构件的运行管理规约,23,构件实现(Implementation) 构件实现是构件内部的代码实现体 对于一个面向过程的系统 一个构件由系统的一个或多个紧耦合的模块组成 对于一个面向对象的软件系统 一个构件由系统的一个或多个紧耦合的对象组成,24,(a),(b),(,c,),构件,构件实现,构件规约,构件实现,构件规约,1,构件规约,2,构件实现,1,构件规约,构件规约,构件实现,2,构件的规约与实现,25,构件分类:,每个应用系统的特有构成成分 专用构件,应用系统所属领域的共性构成成分 领域构件,特定于计算机系统的构成成分 基础构件,根据构件功能分类:,26,构件模型,构件模型

9、是对构件本质特征的抽象描述 是实现系统化复用的关键因素 由于面临的问题不同 关注的焦点不同 解决的方式不同 因此 国际上已经形成了许多构件模型 有的属于描述模型 有的属于规约模型 有的属于实现模型,27,描述模型(分类): 以综合的方式描述构件 便于构件的管理 例如: REBOOT模型 ALOAF模型 UDM、BIDM模型等,28,REBOOT项目的构件模型 REBOOT:REuse Based on Object-Oriented Techniques 可复用构件是为复用而开发的软件产品 可复用构件的基本特征 可辨识identifiability分类和检索构件获取 可理解understand

10、ability 文档和逆向构件理解 可靠性confidence 度量和认证构件评价 REBOOT的构件模型是一个基于构件库的、 面向开发过程的构件模型 刻面分类(抽象/操作/操作对象/依赖) 给出了构件的实体关系模型(对应到数据库模式),29,规约模型: 以描述构件的功能(行为)为主要目标 例如: 3C模型 RESOLVE模型 JBCOM模型等,30,概念(Concept) 关于“构件做什么”的抽象描述 可以通过概念去理解构件的功能 概念包括接口规约和语义描述两个部分 内容(Content) 概念的具体实现 描述构件如何完成概念所刻划的功能 语境(Context) 构件和外围环境在概念级和内容

11、级的关系 语境刻划构件的应用环境 为构件的选用和适应性修改提供指导,Will Tracz 的3C模型,31,青鸟构件模型(JBCOM): 与实现模型相容的规约模型,提供的功能,参数化属性,所需的构件,构件名称,功能描述,具体成员,虚拟成员,成员关系,32,青鸟构件模型由外部接口与内部结构两部分组成 外部接口 构件的外部接口是指构件向其复用者提供的基本信息 包括:构件名称 功能描述 对外功能接口 所需的构件 参数化属性 内部结构 构件的内部结构包括两方面内容: 内部成员,以及成员之间的关系 内部成员包括具体成员与虚拟成员 而成员关系包括包括内部成员之间的互联 以及内部成员与外部接口之间的互联,33,以如何具体实现构件为主要目标 与分布式对象技术充分结合 例如: OMG的CCM模型 微软的DCOM模型 SUN的EJB模型 这些实现模型将构件的接口与实现进行有效的分离 增加了复用的机会 与网络环境下大型软件系统的需要 相适应 支持运行态的软件构件,实现模型:,34,构件的获取:领域工程 构件的管理:构件管理工程 构件的复用:应用工程,活动,构架、构件生

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论