欢迎来到天天文库
浏览记录
ID:57231916
大小:19.50 KB
页数:6页
时间:2020-08-07
《软件复用技术的分析与应用教程文件.doc》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、软件复用技术的分析与应用精品文档软件复用技术的分析与应用 作者:饶建农 来源:《电脑知识与技术》2012年第31期 摘要:软件复用在软件开发过程中有着重要的意义,能够降低软件开发与维护成本的费用,提高开发效率。简要分析了软件复用技术中存在的相关问题,总结了软件复用的优缺点。通过具体实例,提出了解决软件复用过程中存在问题的方法。 关键词:软件复用;行动研究;原型 中图分类号:TP311文献标识码:A文章编号:1009-3044(2012)31-7489-03
2、 随着软件公司投入越来越多的钱花在开发新产品上,解决软件复用就变得更有吸引力。可复用的构件在软件公司被称为软件资产,包括可执行代码、源代码、需求规格、设计和架构等等。软件复用对于把代码测试和代码实现结合起来是一种很好的方法,同时可以帮助软件公司快速地制定解决方案,因为事实上编写和测试过的代码已经实现了一定的功能。 引入新的软件复用系统也可能存在风险。软件复用是在新项目中使用老项目中的代码的工作。这可能节省软件公司开发新产品的时间,但也可能浪费时间,这一切都取决于代码如何复用和使用的复用工具
3、。复用代码的开发员必须很好地了解代码能做什么,怎么做和为什么必须复用。许多代码在编写的过程中没有考虑在以后的项目中能否使用,因此很难打破旧代码的单一功能,而编写的复用代码需要包含更好的软件文档和描述性的变量名。大多数开发员从老项目中复制代码并粘贴到自己的项目中,这是一个非常简单的实现代码复用的方式。代码复用期间使用的工具也是影响花在寻找所需代码的时间多少的重要因素。 1 软件复用理论 1.1 软件复用的概念 目前,对于软件复用还没有一个形式化的概念,许多研究人员从各
4、自不同的角度对软件复用这个概念作了说明。Biggerstaff和Ritcoher认为软件复用是在新的开发项目中使用以前已获得的概念和对象。Tracz认为软件具有事先性,复用特别为复用目的而设计的软件过程,而把使用不是特别为复用目的的设计的软件称为软件挽救。Gambhir把在多个应用中使用相同的构件称作软件复用,不区分软件复用和软件挽救之间的区别。 软件复用是一个系统到另一个系统的各种知识的重新应用,为了减少开发和维护成本的新的系统。可利用的现有软件成分即复用成分是软件复用的核心。
5、 1.2 软件复用的讨论收集于网络,如有侵权请联系管理员删除精品文档 Mcilroy于1968年首次提出了软件复用的概念,从那以后就不断地被讨论和运用。软件复用的想法是好的,但是实现起来却是困难的,主要是由于软件复用在软件开发中实现的复杂性。Krueger在他的研究中提出了为什么软件复用从来没有成为一个标准的软件工程方法的原因。Larsen提出了大量有关老项目投入新项目的复用部分,这是首次展现软件复用的前景。Tabatabai在他的文章中介绍了关于软件复用更具体的问题和项目,如在编译器中复用代
6、码。 1.3 软件复用的优点 软件复用可以让开发公司受益良多。例如,当在一个项目中需要一个公共函数时,开发人员可以导入经过测试的能正常工作的这个函数。当开发一个新的系列产品时这是特别好的方法。 软件复用的主要优点: 1)增加可靠性:以前使用的软件往往缺陷更少。 2)减少过程风险:构建一个新的组件可能比复用现有的组件更容易失败。 3)提高互操作性:通过使用同一个接口的实现,系统将更为有效地实现与其它系统之间的互操作。
7、 4)促进标准遵循:复用组件可以促进开发员遵循软件的开发标准,提高组件的可用性。 5)支持快速原型:可以快速构造出系统可操作的模型,以获得用户对系统功能的反馈。 1.4 软件复用的缺点 Stephen在他的《Quality Impacts of Clandestine Common Coupling》一书中描述了软件复用的危险性。他们通过对跟踪耦合和整个Linux内核的代码复用的研究,表明同一个模块在许多版本中被不做更改地广泛使用。示例表明代码复用为什么会威胁到
8、另一个项目:“假设程序员负责开发和维护一个模块M,如果意识到常见耦合的不良影响,那么他会想尽一切办法来减少模块M和产品其它部分之间的耦合。即使程序员不会以任何方式改变模块M,开发另一模块的程序员的后续更改也会增加模块M和产品其它部分的耦合。” 在他们的介绍中描述了许多关于耦合的问题,“虽然所有类型的耦合在设计时是有用的,但是也证明某些类型的耦合可能引起软件存在更大的故障。人们普遍认为,一些耦合类型应
此文档下载收益归作者所有