Chapter 5. Understanding the Legacy System


graphics/clock5.gif

with Dennis Smith and Liam O'Brien

Dennis Smith and Liam O'Brien are senior members of the technical staff at the Software Engineering Institute at Carnegie Mellon University.

It is quite true what Philosophy says: that Life must be understood backwards . But that makes one forget the other saying: that it must be lived forwards.

”Soren Kierkegaard (1813-1855),
Journal entry, 1843.
The Diary of Soren Kierkegaard , pt. 5, sct. 4, no. 136, ed. Peter Rohde (1960).

Studies estimate that between 50 percent and 90 percent of software maintenance involves developing an understanding of the software being maintained [Tilley 96]. Given these high costs, it makes sense to understand the processes used, the artifacts produced, and the level of understanding achieved.

Program understanding involves building mental models of the underlying software at various abstraction levels, ranging from models of the code to models of the underlying application domain. These models are then used to maintain, evolve , and reengineer the legacy system.

In this chapter, we discuss the context in which program understanding is applied, the forms of legacy system transformations that may be used, and the program comprehension techniques that support these transformations. We then describe architectural reconstruction in detail. We end this chapter by discussing how tools can support program understanding and common issues that may arise.



Modernizing Legacy Systems
Modernizing Legacy Systems: Software Technologies, Engineering Processes, and Business Practices
ISBN: 0321118847
EAN: 2147483647
Year: 2003
Pages: 142

flylib.com © 2008-2017.
If you may any questions please contact us: flylib@qtcs.net