Checklist: Software Design checklist
A checklist for design verification.
Relationships
Related Elements
Main Description

This checklist is insipred by OpenUP checklists for the Architecture Notebook and Design work products, and is split in three sections:

  • SADD: verification elements common to both the Software Architecture and the Detailed Design portions of the Software Design
  • SA: verification elements specific to the Software Architecture portion of the Software Design
  • DD: verification elements specific to the Detailed Design portion of the Software Design

Check Items
SADD - The design is understandable.
SADD - All diagrams have an appropriate key.
SADD - All views are supported with text.
All views are supported with text, minimally describing the rationale behind the view, assumptions, responsibilities of elements in the view, interfaces to the elements in the view, pointers to other relevant views.
SADD - The design is maintainable
SADD - Each view helps the designer reason about the design, or communicate key design decisions to the team
SADD - The relationships between views are clear when several views are used to describe structure and behaviour
SADD - It is easy to navigate between related views
SADD - Each view focuses on a relevant perspective
SADD - Each view is complete and minimal. It shows everything relevant to that view and nothing more
SADD - The views are tidy and easy to interpret, with a minimum of clutter
SADD - The Software Design document has been verified and corrected
SADD - The Software Design has been approved and signed by the customer
SADD - The Software Design, Traceability Record and Test Cases and Test Procedures have been baselined and stored in the project repository
SA - The architectural goals, constraints and requirements are adequately described and handled
SA - Necessary architectural mechanisms are identified, described and justified
SA - All architecture elements are traceable to requirements
SA - The system partitions are adequately defined
SA - The key architectural elements are adequately defined
SA - The interfaces between architectural elements and to external systems are adequately represented
SA - The architecture is built to evolve
SA - The architecture can be delivered by the team
SA - The software elements are adequately mapped to hardware elements
DD - The detailed design, derived from the software architecture, is complete and correct
DD - All detailed design elements are traceable to architectural elements
DD - The detailed design is consistent with the architecture and requirements
DD - The detailed design reflects the architectural objectives of the system
DD - The detailed design elements are modular (high cohesion, low coupling, appropriate use of abstract interfaces)
DD - The system can be implemented from the information in the detailed design
DD - The design provides enough information for developer testing