We use a discrete, finite state machine model to specify the ideal behaviour. Tabular representations of the nextstate and output functions that characterize a FSM are used and have been found to be effective. The tables are easily understood by a wide audience, are well suited to the piecewise continuous functions typically implemented in computer systems and do not unintentionally constrain the implementation. The software design description describes the design to a sufficient level of detail so that no further refinement of the module structure, module interfaces, data structures, or databases is required in the code. A good software design should have the attributes of high cohesion, loose coupling, low complexity, extensibility, reusability, portability and stratification.
Information hiding is the fundamental design technique used to achieve the above attributes.
Information hiding requires that software modules be defined based on a desire to encapsulate areas of the software that are likely to change so that future changes can be made without undue impact on multiple modules. The required behaviour of the programs within a module are defined in the design description by program function tables that define the results of executing a program in terms of the inputs to the program. Reviews Reviews are used to identify ambiguities and incompleteness, to check documents for conformance to preceding documents and to check for conformance to procedures. The methods used for review include active reviews, structured walkthroughs and inspections guided by checklists. Systematic Verification Systematic verification of the software design description is used to verify, using mathematical verification techniques or rigorous arguments, that for every output, the behaviour for that output, as defined in the SDD, is in compliance with the requirements for the behaviour imposed by the SRS, and to identify any functions outside the scope of the requirements specified in the SRS and to check that justification has been provided for their existence.