Possibly the most important set of artifacts to validate
Detailed enough to find significant errors
More abstract and more compact than code; easier to understand and manipulate
•Static Approaches
Design reviews (driven by specifications, use cases)
Model checking
•Dynamic Approaches
Design walk-throughs (hand simulation)
Executable models (especially for FSM components)
Note that UML Sequence Diagrams, Activity Diagrams, and State Machine Diagrams lend themselves to dynamic approaches
12