J. Sametinger: Improving Program Comprehension of Object-Oriented Software Systems with Object-Oriented Documentation, Position Paper, Program Comprehension Workshop, Italy, 1992.

Object-oriented programming has brought many advantages to the software engineering community. Especially, the reuse of existing software components and application frameworks has improved the productivity in software development considerably. Now, the object-oriented programming paradigm has advanced in years and increasingly object-oriented software systems have to be maintained. Program comprehension plays a major role in software maintenance. Additionally, the increased reuse of software components, which is propagated and supported by object-oriented programming, necessitates the understanding of existing software during development and, thus, program comprehension becomes even more important. Very often the only information a maintenance programmer can trust is the source code. It is the only accurate, complete and up-to-date representation of a program. However, source code listings are hardly suited to representing design decisions, the global system structure, or the interactions among different system components. System documentation is necessary to enable reuse and maintenance of software components. It should remain valid as long as the software is being used. Nevertheless, system documentation is often inadequate and out of date, and therefore unreliable and misleading. Good (system) documentation should be complete, current, and consistent in style. We apply object-oriented technology to documentation in order to improve its quality by better reflecting the logical structure of a system. This way of organizing software documentation eases program comprehension of object-oriented systems.