Page 173 - DCAP305_PRINCIPLES_OF_SOFTWARE_ENGINEERING
P. 173
Unit 8: Detailed Design
6. Interfaces Notes
7. Resources
8. References
9. Processing
10. Data
• Detail the design by filling, with the processing section containing the high-level
definition of the processing in a PDL or pseudo-code;
• Assemble the completed templates for insertion in the DDD.
A standard module template enables the DDD component specifications to be generated
automatically. Tools to extract the module header from the source code and create an entry
for the DDD greatly simplify maintenance. When a module is modified, the programmer edits,
compiles and verifies the source module, and then runs the tool to generate the new DDD entry.
The SUM contains the information needed by the users of the software to operate it. The SUM
should be gradually prepared during the DD phase.
8.1.10 Coding Standards
Coding standards should be established for all the languages used, and recognized or referenced
in the DDD. They should provide rules for:
• Presentation, (e.g. header information and comment layout);
• Naming programs, subprograms, files, variables and data;
• Limiting the size of modules;
• Using library routines, especially:
○ Operating system routines;
○ Commercial library routines (e.g. numerical analysis);
○ Project-specific utility routines;
• Defining constants;
• Defining data types;
• Using global data;
• Using compiler specific features not in the language standard;
• Error handling.
The developers should exercise the procedures described in the SUM while
testing the software.
8.2 Process Design Language
Process Design Languages have been used for some time in the informal description of software
and as an aid to top-down program building. In general, such languages have not been amenable
to the automatic age group of project management information (such as module interconnection
details and complexity measurements) useful in the software engineering process.
The need to improve software productivity and reliability has become an area of increasing
importance to the software engineering community. During the early phases of the software
life cycle, there is a strong need to emphasize the use of tools which provide a representation
of the program structure that can be easily understood and modified. Thus, a significant usage
of Program Design Languages (PDLs) as a design tool in practical environments has surfaced
in recent years. The desired characteristics of such a design tool and survey a representative
LOVELY PROFESSIONAL UNIVERSITY 167