MSc-IT Study Material
January 2011 Edition

Computer Science Department, University of Cape Town
| MIT Notes Home | Edition Home |

Categories of information system and software programs

Information systems

There are many kinds of software systems. Clearly, software used by each kind of system will differ. It is useful (and common practice) to break them down into categories such as the following:

  • Data-processing systems

  • Real-time systems

  • Decision support systems

  • Knowledge-based systems

Different people and authors may break down the categories further, or provide other categories. The list above is informal but useful, since (as we shall describe below) each category of system can be distinguished from other kinds of information system.

Data-processing systems

Such a system generally has some large database of information and the purpose of the system is to provide quick, easy access and processing of data.

Depending on the degree to which data is processed and analysed, systems may be classified as either transaction processing systems or management information systems. A system which basically manages the data necessary to perform the daily business is a transaction support system. A system which summarises data in a form useful for the management of a business is a management information system.

Real-time systems

The environment outside the boundaries of the system is not under the system's control. Therefore a system will need to be able to respond to data whenever it arrives — real time systems must respond quickly to changes in the inputs from the environment. Typical response times would be of the order of a few milliseconds or even microseconds. To achieve such a fast response the system needs to prioritise its tasks, often dividing them into several processes that may interrupt each other. However, as soon as there are several tasks, they must be able to communicate properly with one another and not interfere with each other. Because of environmental interactions, real-time systems have to be robust to accidents, errors and failures in the external parts of the system. That is, they must respond in a safe and controlled manner in (almost) all conceivable circumstances.

A typical example is an auto-pilot that must adjust the engines and ailerons of an aeroplane to keep it on course. An automated manufacturing system — such as is used in car factories — has to detect when specific parts have arrived in designated zones of the factory, and then make sure that they are correctly assembled.

Decision support systems

Although a data-processing system may help to identify a problem in the business, it does not suggest any solution to the problem. In a decision support system, given a problem, the system attempts to fit the data on the problem into some model and thereby suggest a solution to the problem. A decision support system may have different models, say operational research or statistical models. The manager chooses the model appropriate to the problem.

Ultimately, of course, any decision is made by the manager and not the system. The manager may know or guess something which cannot be represented in the system's models, and this may affect their decision. The system is simply there to clarify the problem and suggest solutions as far as it is able.

Knowledge-based systems

In some situations it is not a large amount of data that needs to be handled, but a large amount of knowledge. Knowledge is a combination of rules, laws, constraints and previous experience. A knowledge-based system encapsulates a knowledge-base, like a database but filled with knowledge, and enables the user, possibly unskilled in the problem area, to use the knowledge-base to solve problems.

In business systems, the knowledge-based system often takes the form of what is called an expert system. Expert systems embody the knowledge of a particular class of experts, such as medical doctors, and the system (ideally) provides the same answers as an expert of that class would. In the case of a medical expert system, this could be a diagnosis of an illness, and perhaps a recommendation for a specific choice of treatment or for further tests.

Software

Software programs can be categorised in the following manner:

  • System software

  • Application software

  • Engineering / scientific software

  • Embedded software

  • Product-line software

  • Web-applications

  • Artificial intelligence software

System software

System software is software written to service and support other programs. Compilers, editors, debuggers, operating systems, hardware drivers, are examples of such software. Most system software deals heavily with computer hardware, multiple users, concurrent operations and process scheduling, resource sharing and virtualisation, complex data structures and multiple external interfaces.

Application software

Application software are programs designed to solve a specific business need. Most software operating with business and technical data are application software, as are most real-time systems.

Engineering / scientific software

This software supports the use and production of scientific and engineering data sets. They are used in almost all engineering and scientific disciplines, from simulating water flow, lighting conditions, and aerodynamics, to examining the large scale structure of the universe. Engineering software is also used for design purposes (such software is called CAD software, for Computer Aided Design) and for automating the manufacturing of goods (CAM: Computer Aided Manufacturing).

Embedded software

This is software that resides directly within some hardware component in order to provide control over the component or other vital features required for it to function. Embedded software is widespread, and can be found in everything from phones and microwave ovens to cars, aeroplanes and medical equipment.

Web applications

A web application is an application accessed via a web browser over a network. Web applications offer a variety of functions, and some application software are now implemented as web applications, such as Google Docs.

Artificial intelligence software

Artificial intelligence software (AI) has been defined as "the science and engineering of making intelligent machines" (John McCarthy). Application domains that make use of AI software include robotics, expert systems, pattern recognition, theorem proving and game playing.