This document defines a solution to the problem described in the Problem Specification. The Design Specification is the foundation for all program implementation. The design logic described here is detailed enough so that all requirements functions are satisfied, and all interfaces, system files, and the logic connecting all program modules are defined. The design is done in sufficient detail that all system logic problems are resolved and the complete program system “hangs together”. The lowest level of program module is specified in terms of the functions it must perform and the interfaces it must have with other modules, but the actual internal design of these lowest-level modules is left to the implementing programmers. If the project is to produce more than one program system, for example, support programs in addition to operational programs, there will be more than one Design Specification.
This is an overview of the entire program system hierarchy.
Definition and description of the program system hierarchy.
Definition and description of the system files and their interrelationships, including simple pictures of file structures.
Design Standards and Conventions, UML Standards, Naming standards, Interfacing Standards, Message formats
Coding Standards and Conventions, Languages, Prohibited Coding Practices, Reguired Coding Practices, Recommended Coding Practices
This is the focal point of this document. All program and system file logic is presented here to the level of detail the designers feel is necessary before turning the document over to the programmers for implementation.
Pictorial layouts of all system files describing all subdivisions of the files and characters. Also, a complete description of the relationships among the various files, including pointers used to link files and coverage matrices showing which programs access each file.
This section uses flow diagrams and accompanying narrative to describe the major transactions in the system, irrespective of the actual logic structure of the system. The intent is to provide an understanding of data paths and major events in the operational system, including all subsystems, hardware as well as software. This exposition is useful as an introduction to the system and should not presume programming knowledge on the part of the reader.