APP下载

计算机软件复用技术探究

2011-04-10福州大学阳光学院福建福州350015

长江大学学报(自科版) 2011年34期
关键词:复用技术面向对象范式

(福州大学阳光学院,福建 福州350015)

信息化时代的到来使得计算机在社会各行业的运用十分普遍,与计算机相匹配的软件产品也在不断更新升级。由于计算机软件产品更新过于频繁,导致软件研发成本不断增加,甚至超出研发企业所能承受的范围,考虑到减少软件开发、维护、使用的成本,选择软件复用技术从事产品研发是很有必要的[1]。下面,笔者对计算机软件复用技术进行了探究。

1 软件复用的技术难点

软件复用技术的核心思想是把各种功能的软件看成一个 “组件”,在开发相同功能的软件时可不必重新设计程序,只需把对应功能的 “组件”重新连接建立,由此形成一个新的软件产品。为了避免软件危机的发生,积极推广软件复用技术可以提高软件的运行效率。但受到技术条件的限制,软件复用技术在我国推广还存在较大的难度[2]。

1)技术方面 技术条件是软件复用的关键,但我国在技术条件方面还难以满足软件复用的要求。由于软件功能之间的差异,若把不同软件看成某一个组件,很难找到与新软件功能相同的组件,从而限制了软件复用技术的运用。软件复用技术受构架技术、系统技术等多项因素影响[3],具体内容如图1所示。

2)人才方面 软件复用本质上是对旧软件产品的创新利用,计算机技术在我国推广运用起步较晚,国内计算机专业人才的水平与发达国家相比存在很大的差距。如软件复用时无法准确判断相同功能软件的程序代码是否冲突,造成软件组合运行后程序无法正常执行命令。

图1 软件复用的影响因素

3)设备方面 新型软件产品必须要在高性能的计算机设备里才能正常发挥作用,而市场上销售的计算机多数来源于国外,长期购买国外产品也会增加软件使用的成本。此外,计算机设备自身配备的操作系统是否满足软件复用技术的运行要求也是一大难点。

2 软件复用级别的划分

从理论上来说,软件复用思想对新软件产品的开发及使用大有帮助,可以解决许多软件应用的难题,显著降低软件设计、开发和维护的成本投资。复用级别是软件复用技术的重点,根据不同的功能需求,软件复用技术的级别主要包括如下内容。

1)代码复用 代码复用是针对目标代码、源代码2点。目标代码复用是通过连接、绑定等功能实现,把相似软件的代码复制连接起来。源代码复用是直接把需要使用的代码复制到新软件的程序里,无需重新设计新的代码即可编程。代码复用必须要具备大量可复用的构件,这样才能正常复用代码操作[4],具体内容如图2所示。

图2 代码复用与软件构架技术

2)设计复用 设计复用相对于代码复用级别更高,这种复用的操作难度更大。设计复用方法包括:①对已经设计好的软件系统结果筛选,选择可以复用的构件;②将旧软件系统的所有文档重新运用于新软件,确定哪些构件可以复用;③结合新软件的功能要求,重新开发新的设计构件,该复用流程十分复杂。

3)分析复用 分析复用是一种自动性的软件复用级别,该法不会受到软件设计技术的限制。主要复用方式包括:①对已经建成的系统综合分析,筛选能够被复用的构件参与新软件的开发;②利用新的文档作为输入端,再借助硬件平台操作设计新系统;③按照新软件的需要重新设计可复用的构件。

4)测试复用 测试复用是经过软件检测确定复用的对象,以免复用后的构件在新系统运行时发生冲突。测试复用分为测试用例复用、测试过程信息复用。如测试过程信息复用时,对软件工具测试过程的信息详细记录,涉及到操作步骤、输入参数、系统运行等,经过测试可保证复用构件的可靠性。

3 面向对象方法在软件复用技术中的应用

面向对象分析方法(OOA)是现代计算机技术研究的重点,其在软件程序的编写、修改、更新等方面的运用极为广泛[5],可以从被复用对象的程序编写、分析、设计等方面完善软件复用技术。设计人员采取软件复用技术时引进该方法,能保持软件生命周期的高度一致性(如概念、原则、术语、表达等),从而有效增强新软件的功能。

1)建模 面向对象分析法需要构建的模型有基本模型和补充模型,利用模型结构分析能为软件复用技术提供更好的平台,把需要使用的信息准确地表达出来,提高的复用对象的可复用性。如软件复用的构件无法适应新系统要求时,经过建模分析可得出复用的差异性,为程序修改提供参考。以OOA阶段的软件复用模型的构建为例,其具体过程如图3所示。

软件复用实现的流程包括如下步骤:①系统分析师针对项目的需求说明书进行面向对象的系统分析,构造出相当抽象的对象、行为和关系等模型;②对分析出的对象、行为和关系模型完成更深入的抽象过程,总结出相对独立、高重用的范式,这些范式成为OOA阶段软件复用的主题;③把智能学习系统引入范式库中,利用对范式库进行检索找到已有的范式,直接利用上述范式进行下一步分析和设计;④若找不到所需要的范式,则结合智能学习系统把范式加入范式库中,为后期复用技术创造条件[6]。

2)分工 对面向对象分析与面向对象设计(OOD)需要进行相应分工,这是由于2个面向对象方法阶段的功能不同。OOA主要考虑与问题域及系统责任相关的信息,OOA对分析对象的有关信息深入分析,掌握用户的实际需求后开发软件;OOD主要研究与实现条件相关的信息。

3)表示 面向对象法的表述方式均以 “类”为代表,如面向对象的属性、行为、关系等。软件复用技术会因为复用对象的不同而建立相匹配的系统,如引入对一般——特殊结构中多态性的表示法能够有效改善类的可复用性。利用多方面的表示方法,让类在系统复用时发挥更好作用。

图3 OOA阶段的软件复用

4)连接 OOA一般采用简单的二元关系表示各种复杂关系和多元关系。该方法能保证构成系统的基本成分及内在关系表达均符合一致性要求,使得软件复用技术的组织、流程和操作更加规范化。如复用某软件的程序代码时,利用连接可及时筛选相关程序,复制后即可用到新软件中。

5)描述 类描述模板是OOA的描述平台,在描述时可以弄清描述者及被描述者存在的差异。由于可复用构件之间的关系并不对等,经过继承、聚合、实例连接和消息连接等关系的详细描述,由此可以让关系信息及其它程序代码被同时复用,提高了软件复用技术的复用效率。

3 结 语

软件复用是软件开发的重点技术,其能够降低新软件程序设计的难度,减少软件研发或维护的成本投资,为企业创造更多的经济收益。为了提高软件复用技术的运行效率,研究者要解决技术和设备等方面的难题,进一步完善软件复用体系。

[1]江龙强,汪海涛.基于构件的软件复用技术研究及在MIS中的应用 [J].微型机与应用,2011(17):16-18.

[2]赵建平,赵建辉,顾培,等.一种基于数据库和面向对象的软件复用技术 [J].兵工自动化,2011(8):92-96.

[3]宋玉璞,刘敏.软件重用技术中几个关键问题的探讨 [J].价值工程,2011,30(11):151-152.

[4]王湘文,肖振南,陈纪铭.浅析软件复用技术的应用 [J].电脑知识与技术,2011(21):5163-5164.

[5]董跃华,马亚飞.软件复用在综合教务信息管理系统中的探索 [J].江西理工大学学报,2011,32(3):26-29.

[6]史浩辉,何炜.基于构件的指控软件复用 [J].计算机技术与发展,2011,21(2):159-161,165.

猜你喜欢

复用技术面向对象范式
电动汽车电机驱动系统零转矩充电复用技术简介
以写促读:构建群文阅读教学范式
范式空白:《莫失莫忘》的否定之维
孙惠芬乡土写作批评的六个范式
管窥西方“诗辩”发展史的四次范式转换
软件工程领域应用复用技术的分析
“猎鹰”9号的复用技术与展望
面向对象Web开发编程语言的的评估方法
第5代移动通信基本要求与新型多址复用技术
峰丛洼地农作物面向对象信息提取规则集