Using Documentation as a Software Design Medium
01 October 1981
This article describes a software design method based on the principles of separation of concerns and information hiding. Software design documentation is the medium used to apply the principles. The expected benefits of the design method are as follows: (i) Ease of change. System functions that are likely to change are identified and information hiding is applied to minimize the amount of software affected by a change in these functions. (ii) Control of the information about the functions of the system. A carefully structured requirements document is to be maintained throughout the life of the project. * Currently on leave from University of North Carolina. Present addresses: IBM Federal Systems Division and Naval Research Laboratory. 1941 (iii) Ordering of the development steps to meet the project objectives. Documentation of the useful subsets of the system and the dependencies between the software modules serve to guide the scheduling of the development effort. (iv) Making the agreements between developers explicit. Misunderstandings are avoided and a smoother system integration is achieved by documenting the interfaces between the software modules of individual developers. This article provides an overview of the design method as adapted to a particular class of software systems, and suggests guidelines for applying the design method. Related work on software design methodology has been reported in Refs. 1, 2, and 3. The Naval Research Laboratory has reported related work on a real-time system in Refs.