软件构件技术

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

软件构件技术

软件工程张显良 20081120152

随着计算机和互联网的广泛普及和应用,计算机软件已成为信息时代社会的最重要的基础设施。广大用户对软件的数量与质量的要求也是与日俱增。那么显然用传统的软件开发方式,显然已经无法满足消费者的需求,在这样的环境下,软件构件技术是必然的选择,它不仅能缩短开发周期也节省了开发的成本,提高了软件的开发效率。那么什么是构件技术?

1、构件技术的背景及提出的目的

1968年NATO软件工程会议,Mcllroy在提交会议的论文《大量生产的软件构件》中,提出了“软件组装生产线”的思想。从那以后,采用构件技术实现软件复用,采用“搭积木”的方式生产软件,成为软件开发人员长期的梦想。软件复用是指重复使用“为了复用目的而设计的软件”的过程。就软件开发而言,软件复用包括:早期的函数复用、面向对象言语中的类的复用,以及互联网时代的完整软件体系的构件复用。

1999年2月美国总统 IT 顾问委员会也在一份报告中列举了大量的事实论证 IT 技术对社会和国家以及人民生活的重要作用。建议美国政府加大对IT 技术发展研究的投入。在建议重点支持的四大项

目中,把软件列在首位。因为报告认为软件是信息时代社会的最重要的基础设施。然而现实上这个基础却相当脆弱和不可靠。软件越来越普及而且越来越复杂,但缺乏开发安全可靠的软件的适用技术。软件的生产能力远远满足不了飞速发展的实际需求。为此,报告建议重点支持四个方面的软件技术的发展和研究,第一个就是支持软件开发方法和构件技术的基础研究。什么是软件构件技术,为什么把它提得这么高,它究竟对软件的开发和应用有些什么作用,构件技术的突破对软件产业的发展会带来什么影响呢?

有效的软件复用是可以提高软件开发的效率和质量。建立在构件复用基础上的软件复用将会带来极大的价值,《Software Reuse》指出很多公司通过复用取得的成就使们坚信,管理层可以期待获得如下优势。

1)投放市场时间:减少为原来的1/2到1/5;

2)缺陷密度:降低为原来的1/5到1/10;

3)维护成本:降低为原来的1/5到1/10;

4)整体软件开发成本:降低大约15%,长期项目可降低高达75%。

基于这样的背景,软件构件技术在短短的数年间,迅速发展,到现在已经初具雏形,下面让我们来看看它的现状。

2、软件构件技术的现状

美国军方与政府资助的项目中,已建立了若干构件库系统,如CARDS、ASSET、DSRS等。由DARPA发起,由美国军方、SEI和MITRE 支持的 STARS项目在此基础上考虑了开放体系结构的构件库之间共

享资源和无缝互操作的问题,并于1992年提交了ALOAF(Asset Library Open Architecture Framework,开放体系结构的构件库框架)Version1.2版本。这一报告体现了STARS对可复用构件库系统的认识,给出了一个构件库框架的参考模型,并就此实现了ALOAF规约作为该参考模型的实例,由此证明以公共元模型为基础,在构件库之间交换信息和创建易于移植的复用工具是可能的和必要的。

另外,中国在构件技术方面是处于领先水平的,我国已经建立有投入使用的构件库,并有大批项目在建设当中。如:

(1)北京大学软件工程研究所

北京大学软件工程研究所是一个专注于软件工程及其相关领域的研究和实践的学术机构,其前身是建立于1983年的软件工程教研室,1999年正式挂牌成为北京大学的一个专业研究所。

近年来,研究所在所长杨芙清院士的领导下,对软件复用与软件构件技术进行了深入的研究。成果代号为青鸟工程,历经“七五”、“八五”“九五”。青鸟工程在软件复用和构件技术领域成绩斐然。(2)中国科学院软件研究所

中科院软件所软件工程技术研究中心,在首席研究员冯玉琳博士带领下,对构件技术深入研究,硕果累累。其中作为知识创新工程的成果的信息化基础软件核心平台是其代表。

(3)上海普元

普元是国内最早推进面向构件技术的厂商之一,也是目前国内唯一一家提供真正意义上的面向构件的互联网应用基础平台的专业化

厂商。普元把崭新的互联网相关技术与先进的构件复用技术以及可视化开发技术完美地结合起来,创造了一套具有国际领先水平的面向构件的互联网的应用基础平台----EOS。

(4)互联网实验室

互联网实验室是我国著名的IT研究机构,长期从事构件技术及软件产业的研究,并2004年1月16日发布了《面向构件的互联网应用基础平台研究报告》,是目前国内较为详尽的关于构件技术研究的专业报告。

3、技术支持

互联网应用时代的到来,不仅仅增加了应用需求和软件的复杂性。构件技术在互联网时代突飞猛进,已经为实现软件复用的理想,解决软件危机带来了曙光!

面向构件技术对一组类的组合进行封装,并代表完成一个或多个功能的特定服务,也为用户提供了多个接口。整个构件隐藏了具体的实现,只用接口提供服务。这样,在不同层次上,构件均可以将底层的多个逻辑组合成高层次上的粒度更大的新构件,甚至直接封装到一个系统,使模块的重用从代码级、对象级、架构级到系统级都可能实现,从而使软件像硬件一样,能任人装配定制而成的梦想得以实现。

构件技术标准走向成熟

目前主流的软件构件技术标准有:微软提出的COM/COM+、SUN公司提出的JavaBean/EJB、OMG提出的Corba。它们为应用软件的开发提供了可移植性、异构性的实现环境和健壮平台,结束了面向对象中

的开发语言混乱的局面,解决软件复用在通信、互操作等环境异构的瓶颈问题。

4、未来前景

从我国整个软件产业来看,无论是大的软件企业还是小的软件企业,目前很多都在做ERP。如果采用构件技术,小企业可以只做某些模块的构件,而大企业负责组装构件。这样,小企业就可以把构件卖给大企业,不仅大企业的成本降低了,小企业也能从中赚取利润。现在,国际上大的软件企业就是通过这种方式把一些软件工程的一部分外包给小企业,从而提高生产效率,提升规模化生产能力。

在这种新的软件开发方式下,软件公司将以开发构件为主要业务,提供规格化的软部件。系统集成商则汇总部件,组合成能完成不同功能的软构件,将自己的核心技术构件化。正是这两者之间分工的泾渭分明,将软件行业工业化逐渐推向成功。

可以想像,未来的软件产业将划分为三种业态:

第一个是构件业,类似传统产业的零部件,这些构件是可以买卖的。国家工程研究中心的构件库现在已经具备了这样的职能。

第二个是集成组装业,相当于汽车工厂,根据市场的需要先设计汽车的款型,然后到市场上采购通用零部件,特别需求还可以委托专门生产零部件的企业去设计生产,最后把这些零部件组装在一起。

第三个是服务业,基于互联网平台上的软件服务是当前正在推行的一种软件应用模式,未来这种应用将更加普遍。

这是一个美好而且不很遥远的想象,也许几年之内就可能实现。

相关文档
最新文档