A problem program is an old term referring to an application program performing one or more tasks, excluding those performed by the operating system.
There are many types of problem programs:
Application Suite: This includes a number of applications, typically serving a certain field of business or industry.
Enterprise Software: This is designed to perform multiple tasks, addressing the requirements of a certain firm or institution.
Infrastructure Software: This provides one or more services used by multiple computers.
Media Development Software: This is a software used to develop audio or video content, which may be served via desktop or Web-based applications.
A problem program, system software and middleware are three different types of programs, as follows:
Problem Program: This program applies the computing powers provided by system software in order to do a specific task.
System Software: This program is responsible for providing those computing powers.
Middleware:This program serves the problem program and is served by the system software.
The relationship between all three software program types is much like the relationships binding employees of a firm:
The firm managers prepare the suitable environment and system of operations, just like the system software.
Team leaders work more specifically on the environments of their teams, like middleware.
The team member each does specific tasks, which are added to those tasks performed by the rest of the employees to result in a certain product or service, like problem programs.