来知道电脑站

您的位置: 主页>软件> (软件工程里的术语)什么是构件?

(软件工程里的术语)什么是构件?

 问倒你 

(软件工程里的术语)什么是构件?


(软件工程里的术语)什么是构件?

解决方法



一、构件的描述性定义



(1)著名的Brown和Wallnau描述构件为“一个非平凡的、几乎独立的、可替换的系统组成部分,它在定义完善的体系结构环境中实现某一清晰的功能”(a nontrivial, nearly independent, and replaceable part of a system that fulfils a clear function in the context of a well defined architecture)。同时他们进一步认为软件构件只能是“一个说明了合同并且明显地与语境无关的组合单元”(A unit of composition with contractually specified and explicit context dependencies only”)。

(2)Clemens认为:构件是一个独立部署的的单元,是一个第三方合成的单元,构件没有一致性的状态(A component is a unit of independent deployment .A component is a unit of third-party composition. A component has no persistent state).[见《构件是什么,不是什么》]

(3)OMG的定义更通俗、详细一些,在Modeling Language Specification(Revision1.3)写道:构件是一个物理的、可替换的系统组成部分,它包装了实现体且提供了对一组接口的实现方法。构件表示了系统实现体的一个物理片段,包括软件代码(源代码、二进制代码或可执行代码),或者等同体,例如脚本或命令文件。由之,构件自身必须相容于接口且实现接口,接口表示了驻留在构件内的成分所实现的服务。这些服务定义了的一个整合的行为,从一些构件实例提供给其它客户端构件实例。UML里,构件是一个分类器(classifier),是一个建模成分的聚集,它也许实现了接口,有着可执行行为和状态,在执行时驻留在一个节点上。

(4)Gartner Group定义:运行时软件构件是一个可动态绑定的、含一个或多个程序的软件包,它作为一个独立单位,通过运行时可辨别的文档化接口加以管理和存取(A runtime software component is a dynamically bindable package of one or more programs managed as a unit and accessed through documented interfaces that can be discovered at runtime.)。

(5)BertrandMeyer定义了构件的七个条件,

a.也许被其它软件成分使用(客户)。

b.也许客户的使用并不干扰构件的开发者。

c.包括以来的全部说明(硬软件平台、版本、其它构件)。

d.包括它提供功能的精确说明。

e.说明是它的唯一使用依据。

f.可以和其它构件合成。

g.可以快速且平滑地集成到系统。





二、构件的理论模型



理论上,一直没有停止对构件模型的争论,有代表性的理论模型包括:

(1)3C模型

3C模型是学术界普遍认同的一个具有指导性作用的构件模型。该模型从概念(concept)、内容(content)和语境(context)三个不同方面来描述构件。

*概念 关于“构件做什么”的抽象描述,可以通过概念去理解构件的功能。概念包括接口规约和语义描述两个部分;

*内容 概念的具体实现,描述构件如何完成概念所刻划的功能;

*语境 构件和外围环境在概念级和内容级的关系。语境刻划构件的应用环境,为构件的选用和适应性修改提供指导。

(2)REBOOT模型(刻面模型)

REBOOT模型是基于已有软构件的一种刻面分类和检索模型,从各个角度,即刻面(Facet)刻画软构件属性。

共2页: 上一页 1 [2] 下一页

上一篇:photoshop 通道抠图问题    下一篇:请熟悉CAXA和MASTERCAM的朋友指教

软件相关文章

软件热门文章

软件推荐文章