A description is given of the data abstraction mechanisms used in SODOS (software documentation support), a computerized system which supports the definition and manipulation of documents used in developing software. The generic definition of a document is given, the operations of consistency, completeness, and traceability are defined precisely, and it is shown how the generic document and associated operations are mapped onto the relational model. The SODOS system differs from others in that it is built on top of a database management system and an object-based model of the software life cycle. One advantage of this model is that it supports software documentation independently of any fixed methodology that the developers may be using. Another advantage of the system is that it permits traceability through all phases of the software life cycle, thus facilitating the testing and maintenance phases. The document representation is defined in terms of a graph model mapped into a relational data model.