技术开发 频道

组件复用让软件开发事半功倍

二.软件复用的核心技术:组件复用

  软件组件是软件提供业务或技术功能的基本单元或元素,这些单元可以独立地部署。业务组件(Business components)是执行业务逻辑、遵循一定的业务规则并且管理相应的数据;而技术组件(Technical components)则是提供相应的平台以便业务组件可以运行,例如权限管理、组件管理等。
  
  (1)技术层面的复用
  通常包含三类: ①通用基本组件: 是应用系统的基本构成成分,如基本的数据结构、用户界面元素等,它们大同小义的存在于各种应用系统中。②领域共性组件: 是应用系统所属领域的共性构成成分,它们存在于该领域的各个应用系统中。③应用专用组件: 是每个应用系统的特有构成成分。应用系统开发中的重复劳动主要在于前两类构成成分的重复开发。
  
  在应用系统的前两类中,越靠底层的部分越容易复用,所以人们在软件复用方面的研究和应用经历了从底层到高层的过程,先后经历了库函数、面向对象、软件组件、开发框架等。目前各种开发框架复用已经得到广泛应用,例如在系统整体结构设计规划,包括全局组织与控制结构,组件间通信、同步和数据访问的协议,伸缩性和性能设计选择等。由于开发框架本身的通用性造成其组件粒度比较小,抽象程度比较高。所以,开发框架复用覆盖了可复用软件组件的所有活动。当开发同一领域中的新应用时,可以根据开发模型复用确定新应用的需求规格,并以此为基础选择可复用组件进行组装,从而形成新系统。
  
  (2)业务层面的复用
  许多开发者的软件复用大多是从技术角度出发的,例如J2EE组件框架是一个以库、类和接口形式提供的基础架构,最终构成应用的业务逻辑和表现/控制逻辑则要由建立在这个框架上的业务组件实现。而实际上,应用软件最终要解决的却是应用问题或者说是业务问题,如果软件能够在更高层次的业务层面上进行大范围复用,那么对提高软件开发效率的作用将会更大。
  
  由于大部分软件的开发过程是从抽象级别较高的形态向抽象级别较低的形态演化,所以较高级别的复用容易带动较低级别的复用,因而复用的级别越高,可得到的回报也越大。因为无论使用哪种技术,都需要首先形成一个个遵循一定业务规则、执行一定业务逻辑并管理一定数据,可在某一领域内多种项目中重复使用的组件。他们不同于Struts、JdonFramework、Hibernate这样的技术组件或者由技术组件形成的框架,后者并不能解决特定的业务问题,而是为业务组件提供赖以生存的运行基础。
  
  因此,组件技术正呈现业务化的发展趋势。随着技术层次组件的积累和成熟,企业应用开发迫切需要的不再是细粒度的技术组件,而是粗粒度的业务组件,以业务组件为中心的面向组件开发才能够真正提升开发速度、降低开发成本,并改善软件质量。

0
相关文章