Software verification and validation (V&V) processes determine whether the development products of a given activity conform to the requirements of that activity and whether the software satisfies its intended use and user needs. Software V&V life cycle process requirements are specified for different software integrity levels. The scope of V&V processes encompasses software-based systems, computer software, hardware and interfaces. The IEEE Standard 1012-2004 applies to software being developed, maintained or reused. The term software also includes firmware, microcode and documentation. Software V&V processes include: analysis, evaluation, review, inspection, assessment and testing of software products.