Tracing All Around

Many information systems are reengineered and redeveloped in practice, since they are legacy software. Typically, no requirements and design specifications exist and, therefore, also no traceability information. While especially the long-term utility of such information is well known, an important question in reengineering is whether installing it can have immediate benefits in the course of the reengineering effort. Are there even special benefits of traceability for reengineering? In this paper, we argue for completely tracing all around from code over specifications to code in the course of reverse engineering an existing software system and its subsequent redesign and redevelopment. Experience from a real-world project indicates that it can indeed be useful in practice to provide traceability all around also for the developers and in terms of short-term benefits already during the development. We found several cases where traceability provided benefits that appear to be specific for reengineering. As a consequence, we recommend special emphasis on traceability during reengineering legacy software.

[1]  James H. Cross,et al.  Reverse engineering and design recovery: a taxonomy , 1990, IEEE Software.

[2]  Hermann Kaindl,et al.  Combining Goals and Functional Requirements in a Scenario-based Design Process , 1998, BCS HCI.

[3]  Balasubramaniam Ramesh,et al.  Requirements traceability: Theory and practice , 1997, Ann. Softw. Eng..

[4]  Olly Gotel,et al.  Extended requirements traceability: results of an industrial case study , 1997, Proceedings of ISRE '97: 3rd IEEE International Symposium on Requirements Engineering.

[5]  Matthias Jarke,et al.  Bridging the gap between past and future in RE: a scenario-based approach , 1999, Proceedings IEEE International Symposium on Requirements Engineering (Cat. No.PR00188).

[6]  Hermann Kaindl,et al.  Semiautomatic generation of glossary links: a practical solution , 1999, HYPERTEXT '99.

[7]  James Demmel,et al.  Programming tools and environments , 1998, CACM.

[8]  Hermann Kaindl,et al.  A practical approach to combining requirements definition and object‐oriented analysis , 1997, Ann. Softw. Eng..

[9]  Matthias Jarke,et al.  A three-faceted view of information systems , 1998, CACM.

[10]  Klaus Pohl,et al.  Adapting traceability environments to project-specific needs , 1998, CACM.

[11]  Vasant Dhar,et al.  Supporting Systems Development by Capturing Deliberations During Requirements Engineering , 1992, IEEE Trans. Software Eng..

[12]  Joseph A. Goguen,et al.  An Object-Oriented Tool for Tracing Requirements , 1996, IEEE Softw..