Page 168 - DCAP305_PRINCIPLES_OF_SOFTWARE_ENGINEERING
P. 168
Principles of Software Engineering
Notes Figure 8.1: The DD Phase Actives
The design of a software system is split into two phases:
1. High-level design
• A system viewed as a set of modules
2. Low-level design
• Providing detailed information about each module
3. After high-level design, a designer’s focus shifts to low-level design:
Each module’s responsibilities should be specified as precisely as possible
• constraints on the use of its interface should be specified
• pre and post conditions can be identified
• module-wide invariants can be specified
• internal data structures and algorithms can be suggested
In detailed design of procedures, the logic for implementing the procedure is specified in a
semiformal notation. For classes, state diagrams can be used to model the relationships between
methods.
8.1 Meaning of Detailed Design
Design standards have to be set at the create of the DD (detailed design) phase by project
management to organize the collective labors of the team. This is especially necessary when
development team members are working in parallel. The developers must first complete the top-
down rotting of the software started in the AD phase and then outline the processing to be carried
out by each component. Developers must continue the structured approach and not introduce
unnecessary complexity. They must build defenses against likely problems. Developers should
verify detailed designs in design reviews, level by level. Review of the design by walkthrough
or inspection before coding is a more efficient way of eliminating design errors than testing.
The DD phase can be called the ‘implementation phase’ of the life cycle. The purpose of the
DD phase is to detail the design outlined in the ADD, and to code, document and test it. The
detailed design and production is the responsibility of the software engineers. Other kinds of
engineers may be consulted during this phase, and representatives of users and operations
162 LOVELY PROFESSIONAL UNIVERSITY