A set of computer programs which work together to solve a particular problem or to be used for a particular user-defined application.