技术开发 频道

何为构件式开发?

    五、软件复用概述

    软件复用的概念

    软件复用(或软件重用)是指充分利用过去软件开发中积累的成果、知识和经验,去开发新的软件系统,使人们在新系统的开发中着重于解决出现的新问题、满足新需求,从而避免或减少软件开发中的重复劳动。

    软件复用的意义

    软件复用使人们在软件开发中不必“重新发明轮子”或“一切从零开始”,提高了软件生产率和质量,缩短开发周期,降低开发成本。软件的重用中没有材料的消耗,而且软件通过多次重用后其质量和可靠性越来越高。据统计,软件系统的开发中若复用程度达到50%,则其生产率提高40%,开发成本降低约40%,软件出错率降低近50%。软件工程专家Bohem认为,近十年来软件复用已成为解决软件危机、提高软件生产率和质量的最有效、最具潜力的手段。

    软件复用的粒度

    根据软件复用的粒度可将其分为(按粒度从小到大)如下五类:代码和设计拷贝、源代码复用、设计和软件体系结构(software architecture)复用、应用程序生成器(application generator)和领域特定的软件体系结构(Domain-Specific Software Architecture,DSSA)的复用。

    软件复用的形式

    可以从不同的角度,对软件复用的形式分类。根据复用活动所跨越的领域可分为垂直式(纵向)复用和水平式(横向)复用;根据实现复用的途径可分为组装式(compositional)复用和生成式(generative)复用;根据复用的方式可分为黑盒服用和白盒复用等。

    六、软件构件相关标准规范

    1、构件模型

    软件构件模型是关于开发可复用软件构件和构件之间相互通信的一组标准的描述。通过复用已有的软构件,使用构件对象模型的软件开发者可以像搭积木一样快速构造应用程序。这样不仅可以节省时间和经费,提高工作效率,而且可以产生更加规范、更加可靠的应用软件。

    构件模型是为开发者定义软件构件而建立的体系结构和API集,使开发者可通过软件构件的动态组合来建立应用系统。构件模型由构件与容器两种主要成份构成。构件是具有可复用特性的基本软件部件。容器用于存放和安排构件,实现构件间的交互。容器也可以作为另一个容器的构件使用。目前,产业界广泛使用的具有代表性的构件模型主要有:对象管理组织OMG的CORBA、微软公司的COM/DCOM/COM+、SUN的J2EE和微软与IBM提出的Web Services。

    CORBA

    CORBA分布计算技术是OMG组织基于众多开放系统平台厂商提交的分布对象互操作内容的基础上制定的公共对象请求代理体系规范。 CORBA分布计算技术是由绝大多数分布计算平台厂商所支持和遵循的系统规范技术,具有模型完整、先进、独立于系统平台和开发语言,被支持程度广泛的特点,已逐渐成为分布计算技术的标准。

    COBRA标准主要分为3个层次:对象请求代理、公共对象服务和公共设施。最底层是对象请求代理ORB,规定了分布对象的定义(接口)和语言映射,实现对象间的通讯和互操作,是分布对象系统中的"软总线";在ORB之上定义了很多公共服务,可以提供诸如并发服务、名字服务、事务(交易)服务、安全服务等各种各样的服务;最上层的公共设施则定义了组件框架,提供可直接为业务对象使用的服务,规定业务对象有效协作所需的协定规则。 CORBA CCM(CORBA Component Model)技术是在支持POA的CORBA规范(版本 2.3以后)基础上结合EJB当前规范的基础上发展起来的。CORBA构件模型是OMG组织制定的一个用于开发和配置分布式应用的服务器端构件模型规范,它主要包括如下三项内容:

    ◆抽象构件模型,用以描述服务器端构件结构及构件间互操作的结构;

    ◆构件容器结构,用以提供通用的构件运行和管理环境,并支持对安全、事务、持久状态等系统服务的集成;

    ◆构件的配置和打包规范,CCM使用打包技术来管理构件的二进制、多语言版本的可执行代码和配置信息,并制定了构件包的具体内容和基于XML的文档内容标准。

    总之,CORBA的特点是大而全,互操作性和开放性非常好。CORBA的缺点是庞大而 复杂,并且技术和标准的更新相对较慢,COBRA规范从1.0升级到2.0所花的时间非常短,而再往上的版本的发布就相对十分缓慢了。在具体的应用中使用不是很多。

0
相关文章