A Composite Model for Software Quality Assurance