以文本方式查看主题

-  计算机科学论坛  (http://bbs.xml.org.cn/index.asp)
--  『 软件工程论坛 』   (http://bbs.xml.org.cn/list.asp?boardid=48)
----  [转帖]软件构件技术  (http://bbs.xml.org.cn/dispbbs.asp?boardid=48&rootid=&id=31300)


--  作者:wcdxyl
--  发布时间:4/26/2006 12:33:00 PM

--  [转帖]软件构件技术
软构件技术概述

  软件行业的工业化趋势导致了软构件的产生。能够像硬件系统那样,将部分软件组合起来构建软件系统,一直是软件行业多年来追求的目标。特别是对于象很多应用软件的开发(例如很多行业和单位的MIS系统),若能结合系统的实际情况充分利用已有的软件构件,将会大大提高生产效率,减少大量的重复劳动。可以说,软构件技术的出现是对传统软件开发过程的一次变革。构件(Component)是可复用的软件组成成分,可被用来构造其它软件。它可以是被封装的对象类、类树、一些功能模块、软件框架、软件构架(或体系结构)、文档、分析件、设计模式等。从广义上讲,软构件技术是基于面向对象的,以嵌入后马上可以使用的即插即用型软构件概念为中心,通过构件的组合来建立应用的技术体系。狭义上讲,它是通过构件组合支持应用的开发环境和系统的总称。我们可以按多个侧面对构件进行分类:
 
  按开发过程构件可分为分析件、设计件、程序件和数据件。
 
  按功能分,分为三层:基础层为基本数据类构件和系统支撑构件;中间层为各种通用的中间件;顶层为针对各种领域的专用构件或子系统构件。从粒度上看通常底层的粒度为较小,而顶层的粒度为较大。
 
  按使用方式分为动态和静态两种。
 
  按构件的结构分为原子构件及由多个构件聚集的组合构件。
 
  在这种新的软件开发方式下,软件公司以开发软部件为主要业务,提供规格化的软部件。系统集成商则汇总部件,组合成能完成不同功能的软构件,将自己的核心技术构件化。正是这两者之间分工的泾渭分明,将软件行业工业化逐渐推向成功。

  目前,采用软构件思想开发的软件产品相继出台,而主流是以美、日大公司为首的产品。由于采用其思想的开发工具推出的时间还不足五年。因此,真正使用软构件的用户还屈指可数。尽管软构件技术还存在着很多不成熟之处,但人们都相信软构件带来的好处是不可估量的,它代表了新一代软件技术的发展方向。

传统的MIS开发方法
 
自底向上法和自顶向下法

  自底向上法出现于早期的计算机管理应用系统,即在进行系统分析和设计时自下而上,先从底层模块做起,然后逐步完成整个系统。自底向上法使得MIS的开发易于适应组织机构真正的需要;有助于发现系统的增长需要,所获得的经验有助于下一阶段的开发,易于控制和管理。但由于方法的演变性质,自底向上法使MIS难以实现其整体性;同时由于系统未进行全局规划,数据一致性和完整性难以保证;而且为了保证系统性能的需求,往往要重新调整,甚至重新设计系统。
  随着MIS规划的扩大和对开发经验的总结与归纳,自顶向下的系统分析方法论逐步得到了发展和完善。自顶向下法要求开发者首先制定系统的总体规划,然后逐步分离出高度结构化的子系统,从上至下实现整个系统。运用这类方法可以为企业或机构MIS的中期或长期发展规划奠定基础,同时支持MIS的整体性,为系统的总体规划、子系统的协调和通信提供保证。但它同样也存在缺点:对系统分析、设计人员要求较高,在大系统中,对下层系统的实施往往缺乏约束力,开发的周期长,系统复杂,成本较高。
 

快速原型法
 
  原型法的核心是原型,即模型,是系统的早期可运行版本。随着用户或开发者对系统理解的加深,不断地对原型进行补充和细化。系统的定义是在逐步发现的过程中进行,这就是快速原型法的基本出发点。快速原型法的开发过程体现了不断迭代的快速修改过程,是一种动态定义技术。

  快速原型法的最大优点是能够大大减少软件系统的后期维护费用,使系统功能能正确反映用户的需求。原型本身及这种方法的不足之处在于,如果原型本身功能设置不齐全、性能不好,会导致原型的设计和使用超出预期的花费和时间。另一个关键不足是原型法需要一个合适的软件开发环境,以便原型能直接转换成现实的系统。

  以上方法各有其优缺点。“自底向上”法只重局部而忽视了对整体的把握;“自顶向下”法开发周期长、见效慢、缺乏灵活性和适应性;快速原型法虽然具有很明显的优越性,但因其依赖于快速开发工具的支持,又不能不令许多系统开发者望而却步。因此通过对软构件技术的研究,我们提出一种新的开发方法——积木法。
 

利用软构件技术开发MIS系统
 
  采用积木法开发MIS系统的过程与搭积木的过程很类似,一般是先构筑系统的总体框架,然后构造各个构件,并依次把构件安装到系统中去。   积木法克服了快速原型法需要快速工具支持的不足,取而代之以软件构件化技术来构造系统。大部分MIS系统,在功能上有类似之处,因而利用软件的重用技术就可以把开发过程大大简化。积木法的提出正是基于这种设想。积木法在确定系统总体框架、构筑总体框架、修改总体框架、构造构件以及修改构件等阶段,都同一个叫做“软构件集合”的实体打交道,这个软构件集合也被称为“软构件库”。在开发MIS系统之初就应该着手准备这个软构件集合,比如可以搜集一些已经开发出的MIS系统的总体设计、规范、局部流程以及某些人机界面、通用功能模块、简单开发工具。开发MIS系统的大部分工作都集中在构造软件阶段。这一阶段的工作特点是尽量使开发出的积木块具有较大的灵活性和变通性,为重用作好准备。每开发出一个积木块,都要把该积木块及其功能、调用接口等信息放入软构件集合。采用积木法的关键就是要借助对积木构件的重用组合技术,系统开发人员绝不能忽视对软构件集合的管理。如果缺少了这一点,积木法就丧失了优越性,自顶向下法及快速原型法所暴露出的缺陷也会接踵而至。


系统总体设计与实现

MIS构件的定义、分类和生成流程
 
  MIS构件是具有一定处理功能的程序框架,其逻辑结构已定,且软构件体的程序框架由固定部分——程序框架、可变部分——宏结点(产生替代该宏结点的规则序列)组成。

  由上述软构件定义可知,软构件并不是简单的一段程序,生成应用功能构件的过程是执行规则、产生代码替换宏结点的过程。

  通用MIS构件可分为以下两类:
 

用户软构件
 
  它又可分为通用处理软构件和专用处理软构件。其中用户引用前者时,通过给出适当的参数,系统将生成相应的功能构件。后者是用户自己使用的软构件,相当于固定功能构件。
 
控制软构件
 
  指标准的控制功能构件及界面构件等。
  MIS构件的生成流程可抽象成几个公共操作过程,作为生成的规则,MIS构件生成过程就是根据软构件宏结点提供的信息(规则)采取的生成动作,即读取用户输入的参数并生成相应的程序段,然后用该生成的程序段代替宏结点的过程。
 
系统生成方案
 
  采用软构件技术开发MIS系统的设计目标是以积木组合开放式结构构造MIS集成一体化的环境。根据MIS系统的一般结构,完整的MIS系统应具有以下主要生成功能:数据库文件、功能菜单、数据库维护、查询、索引排序、统计计算、图形生成与分析、报表生成、打印、数据一致性检验、数据一致性维护及应用系统文档信息。

  MIS系统生成是建立在一个个积木块——软构件的基础之上的。MIS系统的生成过程也就是从软构件库中提取软构件,并将它们按照集成算法组合的过程。

  为了适应多种MIS系统开发的需要,软构件库中应含有大量的各类软构件,但若软构件很多,又会带来软构件的查找、使用和维护的困难。为此,需要设计软构件库的管理程序。

  软构件库的管理程序主要完成以下几个功能:

  软构件查找:在软构件中查找到所要求的软构件;
  软构件扩充:加入一个软构件到软构件库中;
  软构件集成:利用已有的软构件集成软件系统;
  软构件删除:删除一个已存在的软构件;
  软构件修改:修改一个已存在的软构件。

  MIS系统采用软构件设计方法,把应用系统划分为若干积木块,把程序生成问题转化为软构件的设计、处理问题。对于不同的应用系统,通过分析发现它们之间的共性与个性,把共性部分作成标准软构件,把用户要求存入规则库。根据软构件集成算法,将软构件连接成完整的系统。

总结与展望


  软构件技术的出现,极大地满足了多个应用领域的要求,使得各种技术形成的软构件可以最大程度地进行重用。这就引出了大规模软件开发所面临的另一个问题:如何建造面向对象的软构件库结构,并有效地组织和管理。在大型软构件库的支持下,利用现有的、质量好、可靠性强的软构件,按照大规模软件开发的工程规范进行开发,是满足这些大型系统要求的良好途径。   现在人们越来越多地寄希望于具有分散和联合处理能力的开放性分布式软构件技术。分布式软构件技术的目标是实现开放的软构件产品,使应用程序能相互操作,降低开发与管理费用。到目前为止,还没有出现一个完整的开放式软构件系统的实施方案。但我们相信,软构件化是软件工业化的必然。


--  作者:pennyliang
--  发布时间:4/30/2006 9:23:00 AM

--  
软件构件的思想早在1968年就已经被提出,轮子只要做一次就可以了,重复劳动是对生产力的巨大浪费,必须找到一个方法,积累过去的知识,重用就成为产业界和学界不断探讨的问题,重用大致分为
      人员重用[挖人,或者留人]
      设计重用[设计模式]
      代码重用[just include it]
      框架重用[MFC,或者一些开源的领域特定框架]
重用的层次越来越高.
W 3 C h i n a ( since 2003 ) 旗 下 站 点
苏ICP备05006046号《全国人大常委会关于维护互联网安全的决定》《计算机信息网络国际联网安全保护管理办法》
46.875ms