Johannes Sametinger C. Doppler Laboratory for Software Engineering Johannes Kepler University of Linz A-4040 Linz, Austria
Abstract
Object-oriented programming improves the reusability of software components. Extensive reuse of existing software enhances the importance of documentation. In order to increase the productivity in documenting and to make the structure of documentation better suitable for object-oriented software systems, we suggest to apply object-oriented technology to the documentation, too. This makes it possible to reuse documentation by extending and modifying it without making copies and without making any changes to the original documentation. Additionally, interests of various groups of readers (e.g., reusers, maintenance staff) can be taken into account, and easy access to relevant information can be given. In this paper we briefly describe a documentation scheme for object-oriented software systems. This scheme distinguishes among overview, external view and internal view of both static and dynamic aspects of software components. Then we apply inheritance by simply reusing and extending existing documentation where appropriate, and enforce information hiding by providing an access control mechanism. This improves the reusability and accessibility of documentation. Additionally, we present an exemplary tool and relate our experience with object-oriented documentation.
Introduction
The object-oriented programming paradigm achieves a major improvement in the reusability of existing software components. However, increasing reuse intensifies the need for precise documentation to express the capabilities of reusable components and encourages the reuse of various components of existing documentation, too. Software documentation is usually divided into user documentation, system documentation and project documentation (see [ANS83, Pom86]). In this paper we concentrate on system documentation, which describes