Page 167 - DCAP305_PRINCIPLES_OF_SOFTWARE_ENGINEERING
P. 167
Unit 8: Detailed Design
The detailed design activity is often not performed formally and archived as it is almost not Notes
possible to keep the detailed design document consistent with the code. Due to this, developing
the detailed design is useful for the more multifaceted and important modules, and is often done
informally by the programmer as part of the personal process of developing code.
The design of a system is a plan for a solution such that if the plan is implemented, the
implemented system will satisfy the requirements of the system and will preserve its architecture.
The module-level design specifies the modules that should be there in the system to implement
the architecture, and the detailed design the processing logic of modules.
Software design is the ‘process of defining the architecture, components, interfaces, and other
characteristics of a system or component’. Detailed design is the process of defining the lower
level components, modules and interfaces.
Production is the process of:
• Programming: Coding the components;
• Integrating: Assembling the components;
• Verifying: Testing modules, subsystems and the full system.
The physical model outlined in the AD phase (Architecture Design Phase) is comprehensive to
produce a structured set of component specifications that are consistent, coherent and complete.
Each specification defines the functions, Inputs, Outputs and Internal processing of the component.
The software components are documented in the Detailed Design Document (DDD). The DDD
is a comprehensive specification of the code. It is the primary reference for maintenance staff in
the Transfer phase (TR phase) and the Operations and Maintenance phase (OM phase).
The main outputs of the DD phase are the: Source and Object code;
• Detailed Design Document (DDD);
• Software User Manual (SUM);
• Software Project Management Plan for the TR phase (SPMP/TR);
• Software Configuration Management Plan for the TR phase (SCMP/TR);
• Software Quality Assurance Plan for the TR phase (SQAP/TR);
• Acceptance Test specification (SVVP/AT).
Progress reports, configuration status accounts, and audit reports are also outputs of the
phase. These should always be archived. The detailed design and production of the code is the
responsibility of the developer. Engineers developing systems with which the software interfaces
may be consulted during this phase. User representatives and operations personnel may observe
system tests. DD phase activities must be carried out according to the plans defined in the AD
phase. Progress against plans should be continuously monitored by project management and
documented at regular intervals in progress reports. Figure 8.1 is an ideal representation of the
flow of software products in the DD phase. The reader should be aware that some DD phase
activities can occur in parallel as separate teams build the major components and integrate them.
Teams may progress at different rates; some may be engaged in coding and testing while others
are designing. The following subsections discuss the activities shown in Figure 8.1.
LOVELY PROFESSIONAL UNIVERSITY 161