基于构件开发方法的概念、目标和意义

基于构件开发方法的概念、目标和意义,第1张

基于构件开发方法的概念、目标和意义,第2张

基于构件的开发(Component-Based Development,简称CBD)或基于构件的软件工程(Component-Based Software Engineering,简称CBSE)是一种软件开发新范型,它是在一定构件模型的支持下,复用构件库中的一个或多个软件构件,通过组合手段高效率、高质量地构造应用软件系统的过程[Brown00]。由于以分布式对象为基础的构件实现技术日趋成熟,CBD已经成为现今软件复用实践的研究热点,被认为是潜力的软件工程发展方向之一。

一、 基本概念
  下面简单介绍与本文相关的一些概念,包括构件、接口、契约、接口描述语言、构件框架等,另外还介绍了CBD的开发模式,以及构件技术和对象技术的关系。

  在文献[Szyperski97]中,Szyperski把构件定义为“软件构件是一个仅带特定契约接口和显式语境依赖的结构单元”,同时他还写道:“软件构件可以独立部署,易于第三方整合。”

  根据这个观点,可以认为构件由一方定义其规格说明,被另一方实现,然后供给第三方使用。接口(interface)是用户与构件发生交互的连接渠道,第三方只能通过构件接口的规格说明理解和复用构件,接口规格说明也是一种“契约”(contract),它足够精确地描述构件实现的功能,同时又不把构件限定于的实现方法,这种不确定带来多解决方案的灵活性。另一方面,虽然构件可以独立部署的,但是一个构件可能会用到其它构件或平台提供的服务,或者说基于构件的软件系统中通常是多个构件协作完成一定功能,所以构件依赖于组装环境或称为语境(context)。

  构件基础设施(infrastructure)是异构构件互操作的标准和通信平台,构件框架(Framework)是构件实例“即插即用”的支撑结构。通过一定的环境条件和交互规则,构件框架允许一组构件形成一个“孤岛”,独立地与外部构件或其他框架交互和协作,因此构件框架及其内含的构件也可以视为一个构件,于是构件通过不断的迭代和合成,构成一个结构复杂的应用系统。目前,有多个组织和公司制定了构件基础设施的标准或开发了相关产品,也为构件、构件框架和接口建立了模型和技术规范,其中OMG CORBA[OMG01]、Microsoft COM/DCOM(或.NET)[Microsoft01, Box99]以及Sun JavaBean/EJB[Perrone01]占主导地位,本文第六章将重点讨论CORBA CCM(CORBA Component Model)构件模型,并介绍基于CCM技术的演化构件模型。

  特别地,通过购买获得的第三方构件称为COTS(commercial off-the-shelf ,简称COTS)构件,作为内部(in-house)构件的对应概念。使用COTS是无源码的完全黑盒复用,既有成本低、即买即用的优点,又有不一定满足需求或误配的风险。

  CBD遵循“购买而不创建(buy, don’t build)”的开发哲学[Clements95],让人们从“一切从头开始”(build from scratch)的程序编制转向软件组装。基于构件的开发任务包括创建、检索和评价、适配(adaptation)、组装、测试和验证、配置和部署(deployment)、维护和演进,以及遗产系统(legacy)的再工程等主要活动,它们与传统的生命周期中的方法不尽相同。首先,CBD采用以构件库为中心的开发模式,构件检索和评价是CBD的一项关键任务,这里我们理解的构件库不仅仅是一个独立的数据库,而是广泛的、一切可获得的构件资源,尤其是通过互联网发布的软件构件。其次,构件形成是一种在软件体系结构支持下的组装过程,也就是说,在应用领域里需要用DSSA将独立的构件组装成完整的应用系统,可见构件的匹配和一致性验证也成为CBD的关键任务。再次,CBD过程中需要同一些技术标准化接轨,相同的构件可能由多个软件供应商生产,被多个用户使用,所以构件接口、构件基础设施必须标准化。最后,CBD需要配置管理(Configuration Management),即专门处理构件的集成、配置和发布(distribution)的有关事宜,于是构件的配置、适配和部署都是CBD的关键任务。

位律师回复
DABAN RP主题是一个优秀的主题,极致后台体验,无插件,集成会员系统
白度搜_经验知识百科全书 » 基于构件开发方法的概念、目标和意义

0条评论

发表评论

提供最优质的资源集合

立即查看 了解详情