| 《中国计算机报》上海构件化系列报道之一: |
构件化带动软件工业化 ——上海市走上构件技术产业化之路(上篇) 文/本报记者叶林海 实习记者 万国燕 2003 年10 月,上海市重大工程——大连路隧道按时通车。此前,上海宝信软件股份有限公司中标大连路隧道工程监控系统项目,而留给该公司的时间仅有9个月。大连路隧道工程监控系统项目软件规模达35 . 85 万行,采用传统的系统开发方式,要在短短9个月的工期里是不可能完成的。宝信项目组按照C MM 过程改进的具体要求和研发部的既定方针,直接使用已经成熟的软件构件。采用的构件化开发者复用软件的总代码行数达29.0万行,代码复用率达到81 % ,提高工作效率5.2 倍,准时地将高质量软件产品交付给用户使用。投入使用后,系统运行的稳定性达到了较高的水平。 大连路隧道工程监控系统项目是近年来上海推动软件构件化取得成功的典型案例之一,在上海,类似大连路隧道工程监控系统的项目还有不少,比如万达信息股份有限公司开发的上海市医疗保险计算机管理系统、上海普元信息技术有限责任公司开发的上海市土地交易系统、上海华博科技集团开发的华博,110 综合指挥调度系统等。透过这些案例,我们不难看到上海市在以构件化带动软件工业化的道路上迈出了坚实的一步。 产业发展新契机 “实践证明,我们走构件技术产业化之路方向是正确的,这条路没走错。”上海市科委信息技术处处长聂春泥在接受记者采访时如此表示。早在2002 年,上海召开软件工作大会。市有关部门特邀一些院士共商上海软件产业如何取得新一轮的突破性发展。席间,北京大学杨芙清院士与上海的一些知名专家学者的有关发展构件技术的建议引起人们的高度重视。 所谓构件技术,就是可以解决软件复用的技术,通过开发可复用构件和使用可复用构件开发,可以使软件企业提高生产率,降低生产成本,增强竞争力。而这一技术正可以使困扰软件企业的问题迎刃而解,如产品上市的时间短、开发效率高、使用质量好以及可持续更新维护等。 因此,上海计算机软件中心顾问、上海软件行业协会副理事长朱三元研究员指出:“上海的软件企业商务成本比外地要高,只有往高端走,只有提高劳动生产率,才能够生存下去,才能做大做强。构件技术就能大大提高软件开发的生产率,而且软件的质量能大大提高,价格又便宜。这样对软件企业来说,才有竞争能力。企业竞争能力强了以后,上海的软件产业才能够向前跨出一大步。” 1995 年在美国波斯顿召开的面向对象国际会议上调查的结果显示,增加软件复用率40 % ,可以缩短软件产品上市时间,提高质量,提高生产率,节省维护成本均在30 %-4 0%之间。因此,软件构件技术受到各国政府的高度重视,美国PITAC 将基于构件的开发方法、构件库等技术列为提高软件生产率和质量的主要手段。软件构件化已在发达国家形成一定规模。国际上先进软件商IBM 、Microsoft 、HP、0racle 、Sun 公司等的软件产品普遍采用基于构件的开发C BD ( Component -Based Development )方法。 鉴于这种情况,上海市科委设立重大专项对构件库及关键技术进行研发,组织相关单位申请了国家8 63 计划项目,同时构件库成为国家863 软件孵化器(上海)基地的主要技术支撑之一。 谈及推广构件技术的原因,聂春泥指出:“我们希望采用构件化把软件作坊式的开发变成基于构件复用组装的生产线式的开发,从技术角度来推动软件产业的发展。” 先搭“舞台”后“唱戏” 2002 年,上海构件库项目正式启动。截至2004 年6 月,上海构件库中收集构件总数达3 2 00 多个,其中领域构件400 多个,国外构件7O 多个,加上2 003 年上海市优秀构件55 个,实现了从构件描述、发布、存储管理、检索浏览、评估与推荐、在线购买到组装使用全过程的支持,并提供在线构件组装工具。短短两年多的时间,构件化的“舞台”初具规模。根据上海市科委的部署,上海构件库项目以“产、学、研”相结合的方式实施,具体承建单位有上海计算机软件技术开发中心、复旦大学、上海软件行业协会、上海华博系统工程股份有限公司、上海众恒信息产业有限公司、上海鹏达计算机系统开发有限公司、南京金鹰国际集团软件系统有限公司。谈及构件库服务平台时,上海计算机软件技术开发中心副主任葛孝苦诉记者:“上海构件库是推进上海软件构件化关键的技术服务设施,主要提供软件构件及相关的方法技术、标准规范、产品工具、应用示范等的交流、共享和推广,为软件企业实现构件化开发提供过程服务,目的在于促进软件工程化开发和工业化生产,提升上海软件产业的整体技术水平。” 构件库分为自由构件库、商业构件库领域构件库和企业私有构件库。商业构件库存放各类商业构件(Cots ) ; 领域构件库存放典型应用领域中使用的构件,如金融、教育、公安领域等;企业私有构件库中存放企业会员内部的构件信息;自由构件库是根据开放源码的思想,存放开放性的构件供免费使用。 就今后构件库的发展策略,葛孝堃表示:“一方面利用互联网扩大构件的来源、渠道,即以上海构件库为核心,把若干上海重点领域构件库(如金融、交通、教育、公安等)互联起来,形成分布式构件库.另一方面,就是要提高质量。现在软件质量发展的趋势是在设计阶段就把质量的因素考虑进去,国内外已有研究构件质量的标准、测试方法与质量保证的一些进展,引导企业关注构件质量是上海构件库近期的一个主要任务。” 针对构件库及复用资源,朱三元强调:“构件要加强管理,构件库提供了一个公共平台,构件的质量如何一定要有严格的把关,但是这也是一个逐步提高的过程,所以要求慢慢地提高,先要解决有还是无的问题,然后解决好还是坏的问题,这是发展的两个步骤。”
服务务必先行 “现在看来,构件化进程并没有想象的那么快,因为构件化牵涉到方方面面,需要一个逐步认识和推进的过程。”聂春泥表示。 实际上,构件化取决于市场的需求、投资的力度、组织管理、知识产权保护、运行机制、环境与法规、人才与企业现状等等。因此,如何用软件构件化带动上海软件产业工业化,提升软件产业整体水平,并不是建一个构件库就能解决问题的,需要综合考虑和制定发展策略。 2003 年,12 月26日,为推动上海构件库的建设以及上海软件产业的构件化进程,上海软件构件化服务中心由上海市副市长严隽琪揭牌成立。上海软件构件化服务中心是由上海市科委批准设立的软件构件化专业技术服务机构,依托在上海计算机软件技术开发中心,以推进软件工程化开发和工业化生产为宗旨,从事基于构件的软件工程(CBSE )相关的技术、方法、标准、工具的应用研究,以及软件复用资源库为核心的共性技术服务平台的建设与运营。 谈及成立上海软件构件化服务中心的目的、聂春泥告诉记者:“两年摸索下来,我们进行了比较大的调整,把重点建设构件库改成了推进构件化服务,建立中心的目的是为软件企业生产模式的改造提供工具、环境与技术服务,为软件企业构件化开发提供全过程服务,突破若千软件企业构件化开发的瓶颈问题,推进企业采用构件化。 新成立的构件化服务中心核心任务是打造一个上海构件库运行服务平台,这个平台主要包括一套运营规则和8 个子系统。同时,为推进软件构件化发展,上海软件构件化服务中心自成立以来,继续推动重大工程项目示范应用,帮助和指导企业建立领域构件库,参与构件相关标准的研究与制定,组织构件技术培训和华东地区构件制作大奖赛、构件评优等各类构件化推进活动。 链接——构件的概念 什么是软件构件呢?形象地说,就如计算机母板上的逻辑元器件,或者汽车上的零部件。简单地说,构件是系统的一个具有接口的组成部分。抽象地说,可以指在开发过程中具有明确标识的软件制品,它可以是需求分析、设计方案、代码、文档和测试用例以及中间产品。构件的主要特点是可复用(Reusable )、可组装(Assemblable )和可替换(Replaceable)。构件有五个要素:说明(S pecification)、实现(Implementation )、标准(Standard )、部署( Deploy )、封装(Wrapper)。构件可以是单件,也可以是复合构件。总之,构件是软件经过细分的软件制品,极大地丰富了软件的层次与内容。通过可复用构件可组装不同的软件系统,达到提高生产率和质量的目的,降低维护成本的目标。 |
| 上海构件化系列报道之二 |