A software system is a system of intercommunicating components based on software forming part of a computer system (a combination of hardware and software). It “consists of a number of separate programs, configuration files, which are used to set up these programs, system documentation, which describes the structure of the system, and user documentation, which explains how to use the system”. While a computer program is a set of instructions (source, or object code) a software system has many more components such as specification, test results, end-user documentation, maintenance records, etc.