欢迎来到学术参考网

浅析软件复用技术

发布时间:2015-08-21 08:51

摘 要:可复用的软件技术,已经成为大多数程序员不断使用的技术,也出现了专门以提供构件服务的供应商,它已经不再是一种单一的技术,而成为软件产业中的重要生产力、推动力,它不仅减轻了软件开发的重负,也开辟了软件产业链中的新方向。

关键词:软件复用;研究;发展
  本文简单介绍了软件复用研究的发展与软件复用的主要技术,进而研究了软件复用技术发展的新趋势,特别对软件复用技术研究的最新特点—软插件与软总线模型及其在分布环境中的应用前景进行讨论.
1、软件复用的定义
  我们以前在提起软件复用时,往往把其简单的看作是一种节约企业软件作业的工作量的一种手段,而实际上,软件复用的展开还是提升软件质量的最有效的方式:一个软件模块在得到多次复用之后,其可靠性会不断的提高,软件的出错概率也会越来越低,当然相应的质量风险会越来越小,你的软件也就更加具有竞争力。而规模化的成本效益和质量也正是产品化软件的最核心的价值所在。 软件构件是软件系统内可标识的、符合某种标准要求的构成成分,类似于传统工业中的零部件。
  以上为软件复用过程的直观示例图。复用成分的管理完成对复用成分库的组织,以期能够有效地组织和扩充软件复用成分.复用成分的实施利用是获取和管理的目的.其过程包括根据要求选择抽象的可复用成分,并对其进行适应性修改,以将其集成到现行开发的软件系统中去。
2、软件复用技术的历史与现状
  软件复用的历史,大致可划分为萌芽期、发展期和初步实用期3个历史时期。70年代末到80年代末,软件复用技术迅速发展成为软件工程的一个重要的应用领域但由于注意力放在如何收集、提炼和改造软件系统构件上,而忽略了其他方面的问题,以致进展缓慢. 80年代起,人们不仅已认识到软件复用问题涉及多方面的知识,如软件工程知识、应用领域知识、人类工程学知识和人工智能知识,而且还认识到在软件复用实施中管理因素的重要性这一时期,软件复用在子程序库、报告生成器、编译器等方面都取得了长足进展.同时,人们已对何为软件复用有了一个非形式化、不够完整的概念;对复用信息的提炼、组织和存储进行了初步探讨;已经理解了软件的组装技术及基于对象的设计技术等,但上述理解仍是非形式化的,人们仍不能以任何系统化途径实现复用.这一时期被称为发展期.80年代后期至今,软件复用领域取得一些实用成果,软件复用进入初步实用期.各厂商开发了许多支持复用的软件系统,如Toshiba的软件工厂, Draco, Genesis系统等.从实现角度看, 90年代以前,软件复用主要以采用非面向对象技术来实现,复用的效果则主要以软件生产率和软件质量为标准来加以衡量.下图为软件复用技术的现状。  
  在早期的结构化软件分析时代,软件复用由于受到技术发展水平的限制,常常局限在代码层次或者函数包的复用,随着技术的变革,包括面向对象语言和方法带来的更好的面向应用领域的抽象能力、各种分布式组件方法与标准的提出、过程方法的成熟,基于组件的软件开发——通过组装各种组件来构造系统被认为是实现灵活的软件架构、实现软件复用的最佳途径。基于组件的开发给软件产业带来一种新的思考方法和理论基础,它在传统面向对象和分布式组件对象方法的基础上以一种更加高层的视角来分析应用和设计软件,能够有效地控制软件开发与部署的复杂性,构建具有清晰模块化结构、更易于维护、演进、重用的软件系统。
  所以说,基于组件的开发技术和软件复用两者是相辅相成的,前者为后者提供了更好的技术与过程基础,后者则是促进前者不断发展的动力。 但是,软件复用并不是一个单纯的技术问题,事实上有各种大大小小在进行企业级重用实践的过程中失败了,而这其中有的是因为技术上的障碍,但是有更多的紧迫的问题是因为非技术性的因素,包括文化、组织、管理机制等基础设施的变革比大多数人想像的要困难得多。
3、软插件与软总线模型
  90年代中期以来,软件复用技术研究进一步系统化、形式化的突出成果—软插件和软总线模型倍受人们瞩目。
  3.1软插件(S-IC)模型
  软插件技术从本质上讲是一种软件集成技术.据统计,生产一个新软件系统, 80%~85%的工作量耗费在重复编写已有的软件单元上.因此,人们感到必须寻找一种新的集成机制, 将已经成熟的软件单元制成一个个相对独立的实体,使之不加改动或少做改动就应用于新的软件系统中,从而提高软件生产效率.软插件就是这样一种集成机制,通过不同的集成度要求来满足不同层次的复用.显然,软插件的集成度越高,所支持的复用层次越高.
  按软插件理论,软插件是一种具有一组外接插头—功能描述和外接消息以及相应的说明信息的软件单元实体.假设构造一个系统所需要的软插件都已存在,那么构造者只需要对整个系统的构造策略和原则进行精心的描述和制定,将所需要的软插件按这些原则、策略组织起来,便可以推出一个新软件系统,从而大大提高软件生产效率.作为一种集成机制,软插件应具有以下特征:
  ①模块性好、独立性强.一个软插件应是一个可以独立存在的实体,它应当不受或少受
  外界影响,以便能够较为自由地为不同的软件系统所使用.
  ②可靠性好.由于软插件是构造新软件系统的基本单位,因此必须具有良好的可靠性.
  ③连接简单、使用方便.如果要方便并安全地建造新的软件系统,必须要求软插件之间
  的连接简单,特别是目前软插件互连还没有一个统一的标准和相应的硬化技术,因此更要求其连接简单、可靠.
  ④封装功能.作为一种集成机制,软插件必须将被集成的功能实现封装.
  ⑤内部功能的高效实现.软插件是构造软件系统的基本单元,其内部代码实现的高效与
  否直接影响软件系统的性能.
  ⑥清晰、简明的说明.软插件是作为产品提供给用户的,其应当具有像硬件集成电路一
  样的功能及各项指标的说明,以便用户检索。
  3.2在提出软插件概念后,人们又提出了软总线模型,以期解决软插件间的交互,以支持软件工厂总装期间和运行阶段的高级通信,并解决系统内各软插件的互操作问题。  
  上图给出了软总线的概念模型可以看到,插件对象同它的适配器交互,从适配器往软总线发送数据构件对象;数据构件对象可由软件开发人员作适当的调整而改变服务插件的功能和结构,以适应新的需求,从而为软插件的集成和复用提供了现实基础 .在软总线模型中,插件通过消息传送互相提供服务.基本的插件互操作是交互服务,每个服务是服务元素的集合.基本服务可被单独唤醒,唤醒一个服务元素可看作一个服务元素请求。
  软插件通过软总线进行通信,可以解决任意插件之间的互操作问题.每一个插件通过适配器构件与软总线相连接,用户界面构件提供表示服务,服务构件提供功能和过程控制服务,它们在软总线上的地位是相等的,均可看作客户或服务器.它们通过适配器和软总线解决了互不相识的软插件之间的互操作问题和数据交换问题.在软总线上传输的是数据构件对象—数据和其结构被封装在一起,因而在得到此数据构件对象后,可动态分析其内容而决定对其进行的操作。
  3.3分布环境中软插件和软总线的应用
  进入90年代后,随着计算机技术,特别是通信和网络技术、面向对象技术的飞速发展,对软件技术提出了更高的要求.软件复用也随之进入了崭新阶段,出现了以面向对象类库为核心的构件,呈现出由单机向分布环境扩展,由小粒度向中、大粒度复用过度等最新技术发展作为开放系统的主要特征,互操作一直是计算机界关注的焦点随着网络技术的发展,分布式系统日渐流行,互操作问题已不再局限于硬件系统之间,大量的异构网络及各个厂商推出的硬软件产品,造成分布式系统的各个层次,如应用层、操作系统、网络系统和硬件系统都存在互操作问题.由于在这些层次上几乎没有互操作的标准,已有的极少数标准也是局限在硬件电路和网络通信的互操作上.目前人们大多采用共享文件、批处理方式的格式转换等方法解决应用软件的互操作.如何解决应用系统间的互操作问题,最大限度地利用已有软件系统,充分保护用户投资,降低软件开发成本,已经成为举世瞩目的焦点问题.如果将软总线与操作系统、网络通信机制结合起来,就能够比较好地解决分布系统的互操作问题.
总结:
  在市场竞争不断加剧,国际软件巨头携先进的软件技术与方法对企业市场虎视眈眈的今天,面对日益庞大与复杂的软件系统,我们必须清醒的认识到,规模化效应已经不是一加一等于二那么简单,单纯依靠人海战术和吃苦耐劳的精神只会让企业在可怕的恶性循环之中平淡发展,我们在强调市场拓展的同时,也必须以开放的心态仔细的审视我们的生产方式,从组织管理模式、技术能力、软件过程等多方面来提高软件的生产效率。
参考文献:
[1] 武伟,张明新,李聪. 软件复用技术在基于B/S模式的新闻管理系统中的应用研究[J]科技信息(科学教研), 2008,(02).
[2] 彭波兰. 基于特定领域的软件复用研究[J]. 科技创业月刊, 2011, (01).
[3] 韩永升. 软件构件技术的基本特征及其关键问题研究[J]. 科技信息, 2010, (31).
[4] 武伟,张明新. 基于构件的软件复用技术应用研究[J]. 山西大同大学学报(自然科学版), 2009, (01).
[5] 张根耀, 惠小静. 软件质量保障技术的新发展[J]. 延安大学学报(自然科学版), 2002, (02).

上一篇:基于ASP.NET技术的校园网OA系统的设计与实现

下一篇:电视专题片常见结构解析