CASE-STUDY - AN INCREMENTAL APPROACH TO REENGINEERING A LEGACY FORTRAN COMPUTATIONAL FLUID-DYNAMICS CODE IN C++

被引:8
|
作者
EWER, J
KNIGHT, B
COWELL, D
机构
[1] The University of Greenwich, London, SE18 6PF, Wellington Street, Woolwich
关键词
REENGINEERING; REVERSE-ENGINEERING; COMPUTATIONAL FLUID DYNAMICS; CFD; FORTRAN-77; C++; NUMERICAL SOFTWARE;
D O I
10.1016/0965-9978(95)00021-N
中图分类号
TP39 [计算机的应用];
学科分类号
081203 ; 0835 ;
摘要
This article describes a practical approach to the manual re-engineering of numerical software systems. The strategy has been applied to re-develop a medium sized FORTRAN-77 Computational Fluid Dynamics (CFD) code into C++. The motivation for software reverse-engineering is described, as are the special problems which influence the re-use of a legacy numerical code. The aim of this case study was to extract the implicit logical structure from the legacy code to form the basis of a C++ version using an imposed object-oriented design. An important secondary consideration was for the preservation of tried and tested numerical algorithms without excessive degradation of run-time performance. To this end an incremental re-engineering strategy was adopted that consisted of nine main stages, with extensive regression testing between each stage. The stages used in this development are described in this paper, with examples to illustrate the techniques employed and the problems encountered. This paper concludes with an appraisal of the development strategy used and a discussion of the central problems that have been addressed in this case study.
引用
收藏
页码:153 / 168
页数:16
相关论文
共 7 条