Risk-Based Approach to Software Quality and Validation