本站小编为你精心准备了软件复用视域下软件工程论文参考范文,愿这些范文能点燃您思维的火花,激发您的写作灵感。欢迎深入阅读并收藏。
1软件复用的几个层次
软件复用是指在软件设计的过程中,将软件中不断重复的部分进行抽象和提取,从而形成能够通用的软件成分,可以被不同的模块复用。根据软件设计的不同需求,软件复用的层次也有所不同,主要包括以下几个部分:
1.1代码的复用代码的复用可以说是软件复用中最简单的部分,这种软件复用方式在面向结构化和面向对象的软件设计方法中均有所体现:面向结构化的软件设计方式中,我们将软件重复的部分抽象为一个函数,通过对函数传递不同的参数,从而实现不同模块对函数的调用;在面向对象的软件设计方法中,我们可以依靠类的继承关系,使得子类在继承的过程中能够重复使用基类的一些代码、成员变量等等,这些都是软件复用中代码复用的具体例子。
1.2设计的复用代码的复用仅仅是软件复用中最简单的层次,与其相比,设计的复用能够实现软件系统模块级别的复用,显得更为强大。设计的复用主要体现在以下三个方面:(1)第一,从现有的系统中提取一些可以复用的部分,然后重写运用到新系统当中。(2)第二,将对目前系统的设计重新运用到其他的系统中,从而实现整个软件系统级别设计的复用。(3)第三,实现独立于一些系统的软件构件,这些软件构件的复用级别比代码复用的粒度更大,这种构件的抽象级别往往更高,从而使得构件能够被广泛运用到多个系统当中,提高构件的复用次数。2.3分析的复用与软件设计的复用不同,软件分析的复用运用于软件的概要设计阶段,与软件的具体实现关联比较少,因此实现软件复用的几率更加大。软件的分析复用也可以有三种不同的方式:第一,抽象出现有软件系统的重复分析部分,应用于其他软件系统的分析上;第二,将分析的方法运用到不同的软硬件平台上,从而能够产生不同的设计;第三,可以实现一些分析的构件,从而实现软件分析阶段的软件复用。
1.4测试信息的复用测试过程也属于软件工程的重要模块,因此在软件的测试部分也可以应用软件复用的方法,软件测试信息的复用主要包括两方面的内容:(1)第一,测试用例的复用,就是将一个系统的软件测试用例,提取一些通用的部分运用到另一个软件系统中,从而实现软件测试用例的复用。(2)第二,测试过程信息的复用,软件测试可以通过软件自动化测试工具记录一些相关的测试信息,这些测试信息可以为其他系统的测试提供参考。这两种方式都可以实现软件测试信息的复用。
2实现软件复用的相关技术
2.1面向对象技术面向对象技术的产生和实现是软件设计世界的重大改革,它使得软件设计模式能够按照人类看待世界的方式进行,而且能够通过继承、封装和多态技术,更好地实现软件的复用。其中继承技术是实现软件复用的重要方式,在面向对象的技术中,我们将很多对象抽象为类,而其中一些类的公有特性可以被其子类继承下去,因此在继承的过程中,子类不必再实现父类的方法和属性,而仅仅定义自己与父类不同的特性即可,因此继承技术在很大程度上实现了软件的复用。当然,面向对象技术的其他属性——多态也可以很好地实现软件的复用,因此目前在进行软件设计和开发过程中,引入了面向对象技术,能够在很大程度上实现软件的复用。
2.2软件复用库软件设计在经过了多年的理论和实践研究之后,一些经典的算法和实现技术被传承下来,研究人员将这些代码进行不断地提炼和改进,从而封装为一系列可以直接引用的软件复用库,这样不仅仅能够降低软件开发人员的开发难度,提高他们的开发效率,而且这些软件复用库在经过千锤百炼以后,能够以更高的效率实现相应的功能。例如:在C++语言中,STL就是一种软件复用库的具体实现,软件开发人员可以在引入头文件之后,直接对其中的数据结构进行使用,而不必自己再从头开始实现,而且软件复用库中的一些对象的建立和销毁机制都比较完善,能够协助软件设计人员更好地使用和管理内存。
作者:毛海骏