Professional Documents
Culture Documents
Members: ____________________________________________________
Software Design Checklist
General issues for both High Level and Low Level Design
10 Has the Design been reviewed?
10 Is the design represented in a form that is easily understood by intended audiece?
5 Is design notation standardized? Consistent throughout document?
5 Has the design been defined and represented in a stepwise fashion (from high to low level of abstraction)?
10 Has the concept of functional independence been followed throughout the design (high cohesion & low
coupling) ?
BONUS – 5 pts – Classes of tests specified? Included expected software response, special performance
requirements, and critical components
High Level Design
5 Does the overall design include implicit requirements (e.g., usability, maintainability)?
1 Specified critical components to be tested?
High Level data design:
o 10 Have data objects defined in the analysis model been properly translated into required data structure
or database architecture?
o BONUS 5 Is there a data dictionary?
High Level architectural design:
o 5 Included architectural design model (pictorial representation) to show relationship of each component with other
components?
o 10 Specified interface among software components ?
o 20 – Software Requirements reflected in the architecture?
o BONUS 5 Included external interfaces (if any)? (interfaces to other systems, products, networks, databases)
o Does the algorithm accomplishes desired function?
o Is the algorithm logically correct?
o Is the interface consistent with architectural design?
o Have error handling and "antibugging" been specified?
o Are local data structures properly defined?
o Is design detail amenable to implementation language?
o Has maintainability been considered?
For user interface design:
o 5 – Screen objects identified? Is it based on usage scenarios?
o 5 – Actions (action sequence) been defined. Actions should be based on usage scenarios for each type of actor.
o BONUS 5 Has a help facility been described?
o BONUS – 10 pts Have error message guidelines been defined. Are all error message displayed by the interface easy
to understand? Do they help the user resolve the problem quickly?
o Have technical internals been hidden from the casual user?
o Has a prototype for the interface been developed (optional)? Have user's impressions of the prototype been collected
in an organized manner?
Behavioral Model
o BONUS 10 pts – State Transition Diagram defined for key classes/objects?