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