Specialist Software (1.2.m)
Specialist software has been designed to solve a specific (but generic) task. A few common examples used in business and industry are below.
Payroll is a good example of a batch process. Each record undergoes the same type of processing (multiplying hours worked by the hourly rate, applying tax, etc), and then the correct amount of money is sent to the worker's bank account.
As the name implies, this uses a computer to automatically control a process. The computer receives input from one or several sensors about the process, and then acts on the input, changing the way the process is carried out. Process control must be done in real time.
Point of Sale
A point of sale system does three things: Firstly, it identifies the items which are being sold, and retrieves their prices from a database. Secondly, it takes a payment for the items. Finally, it updates an internal database showing stock levels, so replacement stock can be ordered if necessary.
Marketing & Design
This includes Computer Aided Design (CAD), presentation software, and graphics software. This is generally used internally within a company to produce posters, models of products, etc.
Generic Software (1.2.n)
There are several types of generic application (this list is not exhaustive):
- Word processing
- Desktop publishing
Most applications used in businesses (and normally all applications used at home) are generic applications - they are not specially written for the purchaser.
Custom-written Applications (1.2.o)
Custom written applications are used when a generic application isn't available, or isn't practical. They are very expensive because an analyst has to be appointed to develop the software, possibly using the systems development lifecycle. Sometimes, existing applications can be tailored to optimise them for a particular company, saving time and money compared to writing an application from scratch, but more often than not, existing applications cannot be modified, because the source code is not available.
Knowledge Based Systems (1.2.p)
Knowledge based systems are used to answer queries, based on a vast database of expert knowledge. This is why they are sometimes known as "expert" systems. They are made of four parts:
- A knowledge base, containing information supplied by experts when the system was set up.
- A rule base, which is a list of rules determining how the information within the knowledge base is related.
- An algorithm (or a set of algorithms) for determining how the rules in the rule base are applied. This is sometimes known as the "inference engine". It gives a method of searching and querying the knowledge base using the rules base.
- A user interface, which passes requests to the interface engine. It should prompt the user, by asking questions with limited scope for answers, which will help to "zone in" on the correct area of the knowledge base.
Reasoning should be given with the output from a knowledge based system, to put the information in to context. For example, when finding a materials for making aeroplanes (which will withstand the stresses and strains of landing, taking off, and changing pressures, e.t.c.), 95% certainty isn't good enough - it means 1 in 20 planes will develop a fault.
Batch processing is when data is collected, and then when a large amount (or all of the data, if this is practical) of data has been collected, it is processed in one "batch". Batch processes are often carried out at night, because electricity is cheaper at night, and other users will not be using the system. An example of batch processing is tax calculations - information is collected during the tax year, and then towards the end of the year the tax owed is calculated, either in one batch, or (in a large company) in several batches.
Real-time processing is when data is processed quickly - as soon as it is received. It is used where a response is required quickly, for example when controlling a nuclear power plant, or when checking security details.
Utility software comes with the operating system, and is used to handle vital maintenance operations, for example, a disk defragmenter, hardware drivers, a text editor, or file management software.