The purpose of system acceptance testing is to verify in an operational environment (either simulated or actual production) that the complete system (i.e., the full complement of application software running on the target hardware and systems software infrastructure) satisfies specified requirements (e.g., functional, performance, and security) and is acceptable to end users. . . . [E]ffective system acceptance testing includes, among other things (1) developing systems acceptance test plans that specify such things as the type of tests to occur and whether users will actively participate in the test, (2) confirming compliance of vendor-supported system components, (3) executing the system acceptance tests, and (4) ensuring that system acceptance test exit criteria are met.