Abstract
The business of software development and maintenance has become increasingly competitive. Software projects need to be cost-effective and provide high-quality products to compete in today's market. Today's software applications are very complex and software failures can result in financial damage and even threaten health or lives of human beings. There is a dire need for an applicable, standardized and consistent Quality Assurance (QA) model that can be consistently implemented throughout the software life cycle. The proposed quality assurance model consists of three major components: Quality Assurance (QA), Quality Control (QC), and Testing.