a family of programs that perform a specific task beyond the basic operation of the computer itself.
any software program you want to use to do something specific
software written to address specific needs e.g. word processing programs, games, inventory control systems, automobile diagnostic programs, and missile guidance programs.