the entire set of programs, procedures, etc used by and related documentation associated with a computer system: compare hardware (1)
Essentially there are three types of software. Application software performs useful tasks for the computer's user, such as word processing, accounting, or drawing. System software, like an operating system, performs tasks that control the computer. Development software (e.g. a language compiler) is used by programmers to write more software — Dick Pountain