05软件构件技术概述(一)

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

软件构件技术

计算机与信息学院

2010.12

声明

•本课件为计算机与信息学院2010级硕士研究生课程《软件复用》专用;

•本课件为非正式出版物,仅供选课同学参考,不得外传。

如有不当之处,欢迎指正、交流;

•在制作本课件的过程中,参阅了大量的学术论文、论著和教材,有些没有一一列举,对它们的作者表示真诚的感谢。

主要内容

一、软件构件

二、软件构件模型

三、应用框架

四、基于构件的软件开发方法

软件复用

硕士研究生课程

一、软件构件

1、构件的概念

定义1:

一个软件构件是一个可独立交付的软件单元,封装了设计和实现的内容,并向外提

供接口,通过接口与其它构件组装成更大的整体;定义2:

一个软件构件是一个仅通过契约化的接口和显式的语境依赖进行组装的单元,能够

被独立地部署和由第三方组装;定义3:

一个构件是体现一个目标问题域的语义,并独立于复杂的实现技术;定义4:

一个构件代表一个自包含(Self-Contained)的实体,能够向其环境输出功能并可通

过定义明确的开放的接口从环境输入功能;定义5:

一个构件由一个动态变化的对象集组成,这些对象既可以在构件的内部也可能是其

接口的一部分。构件间既可以直接交互,也可以通过独立的对象进行胶合。这是从对象实现技术的角度给出的构件定义;定义6:

一个通过接口向外提供服务的软件包。这是Microsoft 的技术文档给出的定义。

软件复用硕士研究生课

上述定义的共同要素是:软件构件是可以独立交付、发布的二进制功能单元,符合构件模型(或具有规范接口),

不同构件开发机构开发的构件能够按应用的需要进行组

装。

构件具有多种形态

类、类树、框架、构架等

构件具有多种层次

分析件、设计件、代码件、运行件等

构件需要多方面描述

名称、属性、对外接口、所需接口等

软件复用

硕士研究生课程

构件的表现

(1)打包角度(Packaging ):将构件作为发布、提交的单位。强调构件是一组单元,可以作为整体被复用;

(2)服务角度(Service ):将构件作为功能的提供者,看成向消费者提供服务的软件实体。同时

强调了提供者和消费者之间的协议概念。

(3)完整性角度(Integrity ):将构件看成一组软件共同维护它所操作数据的完整性,独立于

其它构件的执行。这一标准是构件易于更新的必要条件。这里强调的是软件替换的概念打包Packaging Component

服务完整性Component Specification Service Component Model Element

Independent

Component Interface

**

***1图4.1从三个角度表示构件

软件构件是一个可以独立开发与交付的软件单位,符合构件模型(或具有规范接口),向外界(如应用框架、其他构件或最终用户)提供服务。不同的构件开发机构开发的构件能够按需要进行组装。

•构件应该具有以下属性:

有用性、可用性、质量、适应性、可移植性。•

构件应该具备以下几个特征:自描述

可定制可集成

连接机制构件必须能够识别其属性、存取方法和事件,这些信息可以使开发环境将第三方软件构件无缝地结合起来提供一个典型的图形方式环境,

软件构件的属性只能通过控制面

板来设置

构件必须可以被编程语言直接控制。构件也可以和脚本语言

连接或者与从代码级访问构件

的环境连接构件必须能产生事件或者具有让程序员从语义上实现相互连

接的其他机制

2.软件构件及性质

构件是一个可独立开发和交付的软件单位,其设计和实

现封装在一起,通过接口向外界(应用框架、其它构件

或最终用户)提供服务。

(1)复用(reusability),复用是构件存在的意义,也是构件技术的目的和发展驱动力;

(2)封装(capsulizability),构件是一个自包含的实体,封装了设计和实现细节,仅通过接口与外界交互;

(3)定制(customizabiltiy),构件可按照不同的应用需求进行定制,定制是构件组装必不可少的步骤。

(4)组装(compositability),构件通过组装可以形成更大的整体(应用系统),组装是实施复用的手段。

软件复用硕士研究生课

程 2 主要研究内容(1)构件获取,是从事有目的的构件生产的第一步,对已有系统进行分析和研究,从中挖掘提取有复用价值的构件;

(2)构件模型,研究构件的本质特征和内部组织结构及构件间的关系,指导构件及构件系统的实现,如3C 模型;

(3)构件描述语言,以构件模型为基础,解决构件的精确描述、理解及组装问题,如构件描述语言、构件组装描述符等;

(4)构件分类与检索,研究构件分类策略、组织模式及检索策略,建立构件库系统,支持构件的有效管理;

(5)构件组装,在构件模型的基础上研究构件的组装机制,包括利用特定组装工具进行的静态组装和基于构件互操作性的运行级组装。

(6)标准化,包括构件模型的标准化和构件库系统的标准化。标准的建立和实施是构件技术得以充分发挥其优势的前提条件。

相关文档
最新文档