The main task of detailed design is to design the implementation algorithm of each module and the required local data structure. There are two goals for the detailed design: the algorithms that implement module functions should be logically correct and the algorithm description should be concise and easy to understand.
The detailed design of traditional software development methods mainly involves the structured programming method. Detailed Design of presentation tools include graphic tools and language tools. Graphical tools include program flowcharts, Problem Analysis digrams, and NS (developed by nassi and shneidermen for short. Language tools include pseudo code and PDL (Program Design Language.
Main Tasks:
1. Determine the algorithm used for each module, select an appropriate tool to express the algorithm process, and write the detailed process description of the module;
2. Determine the data structure used by each module;
3. determine the details of the module interface, including the interface and user interface outside the system, the interface of other modules inside the system, and all the details of the module input data, output data, and local data.
At the end of the detailed design, the above results should be written into the detailed design specification, and a formal document should be formed through review. The basis of work delivered to the next stage (encoding stage.
4. A set of test cases should be designed for each module so that the module code (that is, the program) can be tested in the coding stage. The module test cases are an important part of the software test plan, generally, it should include input data and expected output.
Detailed design tools:
1. Graphic tools
Graphical tools can be used to describe the process details in graphs.
2. Table tools
You can use a table to describe the process details. This table lists various possible operations and corresponding conditions.
3. language tools
Describes the details of a process in a certain advanced language (called a pseudo code.