Design
Requirements Specification —> Design
- develop architectural design (system structure): decompose software into modules with module interfaces
- develop detailed design (module specifications): select algorithms and data structures
- maintain record of design decisions and traceability
- how the product is to do its task
Difficulties
- miscommunication between module designers
- design may be inconsistent, incomplete, ambiguous
Verification
- extensive design reviews (inspections with checklists) to determine that design conforms to requirements
- check module interactions
- develop integration test plan