Documenting-in-the-large vs. documenting-in-the-small
Scott Tilley · 1993
There is a significant difference between documenting large programs and documenting small ones. By large programs we mean on the order of 1,000,000 lines, usually written by many different people over a long period of time. Most software documentation may be termed documenting-in-the-small, since it typically describes the program at the algorithm and data structure level. To understand large legacy systems, one needs documenting-in-the-large: documentation describing the high-level structural aspects of the software system's architecture from multiple perspectives. This paper outlines an approach to supporting software evolution through documenting-in-the-large. The approach is based on a flexible reverse engineering process which uses virtual subsystem stratifications to representmultiple abstract views of a software system.