软件工程领域应用复用技术的分析
2016-05-30陈忠菊
陈忠菊
摘 要:该文首先说明软件工程领域应用复用技术的意义,接着指出将复用技术应用到软件工程时需要解决的技术问题,以及复用技术在软件工程领域主要应用在哪些方面,最后对复用技术在软件工程领域的具体应用过程进行分析。
关键词:软件工程 复用技术 应用
中图分类号:TP311.52 文献标识码:A 文章编号:1674-098X(2016)07(a)-0098-02
软件系统在快速开发和应用的过程中,存在着相当多的重复开发现象,浪费了大量的开发资金和技术。为了减少或避免这种重复开发,提高软件系统的开发质量,推动软件工程的发展,可以在软件工程领域中应用复用技术。
1 软件工程领域应用复用技术的意义
1.1 软件工程领域应用复用技术的含义
通常情况下,软件系统的开发和投入应用都要经历“系统的需求分析—系统设计—系统编码—系统测试—系统维护”等过程,而这些过程中有很多重复的工作内容。为了减少重复工作造成的时间和资金的消耗,软件工程领域的工作人员通过使用复用技术以及可复用的构件组建新软件系统,取代传统的“一切从头开始进行”的软件开发方式,达到实现软件复用的目的,就是复用技术在软件工程领域应用的含义。
1.2 软件工程领域应用复用技术的意义
1.2.1 提高软件系统质量
(1)可复用构件在组建系统时,需要经过科学合理的设计和试验,因此组建出的系统具有更强大的性能和更高的稳定性。
(2)在软件工程领域应用复用技术,能够提高软件系统与其他系统的互操作性,提高了软件系统工作效率。
(3)利用可复用构件和框架,能够进行快速的原型设计和构建,从而能够得到用户的使用情况以及对软件系统功能的反馈。
1.2.2 降低软件开发成本
(1)软件工程领域应用复用技术能够提高软件系统的生产率,缩短组建一个新系统需要花费的时间,降低软件系统的生产成本。
(2)可复用构件在组建过程中经过科学严格的设计与检验,具有更高的性能和可靠性,能够有效减少软件系统维护的可能性,降低软件系统维护的代价,能够节省一大笔软件系统的维护费用。
1.2.3 推动实现软件工程
在软件工程领域应用復用技术,可以提高原型设计的效率、避免重复工作、降低系统被维护的可能性、提高软件系统的质量,对于解决软件发展面临的难题具有重要意义,而这又刚好符合软件工程提出和发展的目的,能够推动软件工程的实现和发展。
2 将复用技术应用到软件工程领域时需要解决的技术问题
2.1 软件构件技术
主要使用的构件为代码级构件,直接由工具支持,分为二进制代码和源代码两种,前者的复用方式为黑盒复用,主要用于了解构件的接口和属性等信息;后者的复用方式为黑盒复用和白盒复用。
将复用技术应用到软件工程领域的过程中,需要从以下几个方面应用软件构件技术:
(1)获取构件:通常从已经存在的软件系统中挖掘获取,找到可复用构件;(2)构件模型:通过设计和组建模型,了解不同构件之间的关系,便于可复用构件的进一步利用;(3)构件描述:对不同类型的构件的性能和属性等进行清晰准确的描述,着重于构件的组建和使用问题;(4)储存构件:根据对获取的构件的描述,将构建分类,并存入构件库,便于之后对构件的查询和检索;(5)构建的组装:了解不同构件的属性和组装机之后,在构件模型的基础上进行构件组装,并对其进行标准化的处理。
2.2 CASE技术和软件复用库
2.2.1 CASE技术和工具
软件工程的实现和发展是一个长期复杂的过程,这之中要需要涉及大量的软件开发,而CASE(计算机辅助软件工程)技术的使用能够降低软件开发和管理的难度,提高软件开发的质量,促进软件工程的实现和发展。在复用技术应用于软件工程领域的过程中,CASE技术可以配合具体的开发方法,实现对可复用构件的选择、分类、储存、检索、组装、度量等一系列管理。
2.2.2 软件复用库
在过去积累的软件设计的算法和实现技术的基础上,对代码进行进一步的改进和提升,并将其保存和编辑,形成可以直接用于检索、查询和引用的软件复用库。在复用技术应用于软件工程领域的过程中,需要借助于软件复用库对可复用构件、构件组建方式、软件设计算法等进行管理,降低软件开发的难度,提高软件开发的质量和能力。
2.3 开放系统技术
使用开放系统技术主要是为了提高子系统,以及不同系统之间的互操作性,保证系统演化和运行的稳定;还能够为软件系统开发的设计过程提供参考依据,缩短软件系统开发的周期,提高软件开发的效率;同时,稳定的接口标准使得软件系统能够更容易适应复用技术,促进了复用技术在软件工程领域的应用[1]。
3 复用技术在软件工程领域的主要应用方面
3.1 复用软件的分析和测试信息
软件系统从开发到投入应用的过程中,需要参考大量的信息,其中就包括软件的分析和测试信息,为了避免对这些信息的重复测量和分析,就可以对部分信息内容进行复用。
(1)复用软件的分析:将重复的软件分析内容和方法抽取出来后,可以将软件分析的内容应用在其他软件系统的分析上;也可以将软件分析的方法应用在其他不同的软件平台上;还可以对软件系统中的部分构件进行分析。
(2)复用软件的测试信息:将重复的测试过程信息和通用的测试用例提出后,前者可用于为其他软件系统的部分测试提供参考信息;后者可以直接用于其他软件系统的测试中。
3.2 复用软件设计
软件设计的复用,能够使复用技术在软件工程领域的应用上升到软件系统的模块级别,而且可以复用的范围也更广泛。
3.3 复用代码
代码的复用主要体现在面向结构化和面向对象的软件设计方法中。在前者中使用复用技术指的是:将可以复用的部分抽象为函数,以向函数传递不同参数的方式,实现软件系统不同模块对函数的复用;在后者中使用复用技术指的是:将重复使用基类的代码或者成员变量等,在子类继承过程中进行重复使用[2]。
4 复用技术在软件工程领域的具体应用过程
4.1 指导复用驱动软件开发过程
指导复用驱动软件开发过程,主要是为了实现更高的共享率和复用率。一般从两个角度看待复用技术的应用:(1)应用者角度:利用可复用构件组建出新的软件系统;(2)生产者角度:重新设计、建立和获得可复用构件[3]。
4.2 评估软件复用能力
为了避免其他因素对软件复用能力评估的干扰,首先,要尽可能地挖掘软件中能够被复用的部分,提高软件的复用能力:对软件系统的功能、属性以及开发需求进行充分深入的分析,在此基础上将适合复用的部分提取出来,并通过提高对这些可复用部分的使用效率,来提高软件系统的质量。
4.3 选择可复用构件
(1)根据实际软件系统开发的需要,从供应商那里,网络上,或者其他并行项目中选择可复用构件,但一定要做好对这些构件的质量检测工作,确保选择的构件能够满足软件系统开发的需求;
(2)利用公用的或者个人的软件复用库,结合所开发的软件系统的特点和实际开发需求,从软件复用库中检索选择合适的可复用构件。
5 结语
将复用技术应用于软件工程领域中,解决软件系统开发过程中遇到的难题,提高软件系统开发的效率,推动软件工程的实现和发展。
参考文献
[1] 刘小海.软件复用技术[J].信息与电脑:理论版,2011(12):118-120.
[2] 毛海骏.软件复用在软件工程开展中的应用探析[J].电子技术与软件工程,2014(23):54-55.
[3] 马伽洛伦.复用技术在软件工程领域中的应用研究[J].中国新通信,2016(2):159.