Nature and types of software
Computer programs are series of instructions, which the CPU interprets.
These programs, which form an essential part of the computer system, are called
software to distinguish them from the physical or hardware components of the
system.
Software can be divided into programs that are designed to enable the
hardware to be used as a computer system - these are classed as systems
software and those which make use of the computer system for the purpose that
the use intended - these are classed as applications software. In general,
systems software performs tasks that are directly related to running the
hardware while the applications software performs one of the tasks for which
the computer was bought.
Systems Software
Systems software enables the computer hardware to operate as a computer
system. As such it is a part of the computer system and is usually supplied
with the hardware at the time of purchase.
Systems software consists of the operating system which is responsible
for controlling and managing the hardware while processing is taking place and
utility programs that allow the user to perform tasks related to the running of
the system.
The tasks performed by the operating system program include:
- Handling input, output and storage operations.
- Managing the allocation and use of processor time, memory,
peripherals and backing storage.
- Loading and running applications programs
- Handling and reporting error situations.
- Communicating with the operator when this is not being done by the
application software
- Maintaining a log of resource usage for audit or billing
purposes
Application programs will call the operating system when they need to
perform input, output or storage operations so the operating system or at least
a part of it must be resident in the computer's memory at all times.
When the computer is first switched on a bootstrap loader program stored
in a small amount of ROM will locate and load the operating system from the
hard disk. As the operating system loads it will check the status of the
hardware, reporting any errors to the operator. Once this has been done the
system is ready to load and run whatever application the operator chooses.
Alongside the operating system is a set of programs called utilities.
These are designed to help the operator perform routine tasks such as
formatting a disk and deleting, renaming or finding files. These utility
programs, unlike the operating system, will not be permanently resident in
central memory but will be loaded in as required.
Applications Software
Applications software is the software that performs the task that the
user requires of the computer system. Examples of applications software include
word processors, payroll programs and database systems.
An application program may be classed as generic or specific. A generic
application is a general-purpose program that the user adapts for his or her
own purpose. Spreadsheets and DTP packages are generic. The user uses the
package for a particular purpose. Another user might use the same package for a
totally different purpose. Although a generic package is obviously suited to
solving a particular type of problem, it can be used to solve a wide range of
problems of that type.
Integrated packages provide a suite of generic functions such as
spreadsheet, database, word processor, communications and graphics. These
packages are cheaper than buying the individual items but there is usually some
reduction in functionality and you may be paying for features that you do not
use.
A specific software package is designed to solve one particular problem.
Examples of specific software include an accounting program for a small
business and games software. These programs are designed to solve one specific
problem. They cannot be set up to handle a wider range of problems.
Applications software may be 'off the shelf', tailored or bespoke.
Software bought off the shelf is cheaper than the alternatives, it is available
immediately and is generally less likely to contain major bugs. If there is a
wide user base for the particular package then there may well be user support
groups established. Generic software is almost always in this form.
In some cases a package might be adapted for a particular use. This may
include the setting up of a generic package in a certain way - e.g. creating
templates and macros to set up a word processing package so that it exactly
matches a company's requirements or it may involve adapting an item of specific
software to the needs of a client. In either case existing software has been
tailored to the clients specification. This is cheaper and faster than the
final option of bespoke software.
Bespoke software is applications software written specially for a
client. It will take some time to develop and it will be expensive but it will
satisfy the client's needs exactly. This may be the only alternative if
pre-written packages are not available to solve the problem. It may be possible
for the client to sell the solution on to others with the same or similar
problems to solve.
|