当前位置 工程之家 软件工程 正文 下一篇:

软件再工程的实践方法

1.源代码转换

源代码转换就是将使用老的编程语言编写的程序转换为更现代更新的编程语言编写的程序。源代码转换需要将遗留系统从旧平台迁移至新的目标机平台。

在源代码的转换过程中,一种是不同编程语言之间的转换,一种是同一编程语言不同版本间的转换。

不同编程语言之间的转换很难改变代码的结构,如将C语言编写的源代码转换为Java语言的源代码,很难贯彻Java语言的面向对象思想,导致转换后的代码难以维护。因此,该种类型的代码转换可以采用代码化简的方法来进行。源代码化简的主要思路是将遗留系统中的代码中不必要的、非核心的代码消除,保证需要转换至新平台或新语言的代码模块是独立的,不存在模块间的相互依赖。然后再将这些化简的源代码转换为新语言或新平台。

而同一编程语言不同版本间的转换,是将遗留系统转换至更高版本的目标平台,有助于系统的不断演化,如将Java JDK4.0的源代码转换为Java JDK8.0的源代码,基本上大部分源代码都可以不用维护,只需将JDK4.0中的一些旧技术实现的功能转换为JDK8.0即可。

2.功能转换

功能转换包括程序结构改进、程序模块化和数据再工程。程序结构改进的表现形式可以用效率更好的结构代码替换或简化复杂的源程序代码。因此,需要对源程序中的结构进行检查,确定该程序中的缺陷代码,再讨论和设计可以解决该缺陷代码的结构形式进行替换。这种源代码修复目前可以使用自动化工具完成,也可以程序员手动完成。

程序模块化把一个程序中相关的部分收集到一起作为通用模块。消除源程序中的冗余代码,进一步优化模块间的交互。

数据再工程包括修改遗留系统处理的数据存储、组织形式和格式。

3.修补

当前的软件系统往往强调其重用性,在设计架构时用一种业务逻辑、数据、界面显示分离的方法组织代码,将业务逻辑聚集到一个部件里面,在改进和个性化定制界面及用户交互的同时,不需要重新编写业务逻辑。在整个软件系统中,用户界面(UI)作为系统的外部交互接口,改动性是最频繁的。仅仅替换UI是一种常见的软件再工程,称为修补。近年来,许多软件系统需要将“Web化”的界面移植到不同操作系统的移动端设备中,或为了屏蔽移动端平台的差异性,需要移植到UI界面技术,以适应技术的新发展。

4.商用现成品或技术

商用现成品或技术(Commercial Off-the-Shelf),即COTS,指可以采购到的具有开放式标准定义的接口的软件或硬件产品,替换遗留程序,减少必须维护的源代码量,从而节省成本和时间。不过,在利用这类再工程技术构建一个业务系统时,不仅要考虑减少了需要维护的程序代码而节约的费用,还要考虑提取遗留程序代码的成本、必须开发和维护的粘合代码,以及额外的授权和培训费用。

商用现成品或技术分为基础结构成品和功能成品。基础结构成品包括HTTP应用服务器、中间件产品和数据库管理系统等;功能成品包括财务系统、ERP系统、人力资源管理系统和各类专业领域系统等。功能成品可以有效地改善遗留系统的质量,但如果这两者在某个层次上的业务过程不符,使得两者不能很好地结合,则可引发业务过程再工程,从而提高新功能成品与遗留系统集成的难度。

5.“大爆炸”方法

该方法是将整个遗留系统用新系统一下子替换。当前许多遗留系统的维护成本越来越昂贵,遗留系统中的相关技术也逐步被新技术所取代,利用新系统可以减少操作和维护成本,允许引入更高性能的计算机,并且为其他现代化改造工作提供一个可以演化的平台。

版权声明:本篇文章(包括图片)来自网络,由程序自动采集,著作权(版权)归原作者所有,如有侵权联系我们删除,联系方式(QQ:452038415)。http://www.apmygs.com/560.html
返回顶部