1
SOFTWARE CLASSIFICATION
The following diagram shows the classification of software:
2
SOFTWARE CLASSIFICATION
The two main classifications of software that all programs fit under are:
• System software
• Application software
Without software, most hardware would sit there doing nothing or without performing specific
tasks. To make most hardware run we need to use software.
System software
Software designed to operate the computer hardware and to provide a platform for running
application software
Modern computers are complex machines involving many different parts. To keep it running well
you will need system software. System software will handle the smooth running of all the
components of the computer as well as providing general functionality for other programs to use,
tools to speed up the computer, tools to develop new software and programs to keep you safe from
attacks. There are several different types of system software that we will look at in more detail very
shortly:
• Operating Systems are a collection of programs that make the computer hardware
conveniently available to the user and also hide the complexities of the computer's
operation. The Operating System (such as Windows 7 or Linux) interprets commands issued
by application software (e.g. word processor and spreadsheets). The Operating System is
also an interface between the application software and computer. Without the operating
system, the application programs would be unable to communicate with the computer.
• Utility programs are small, powerful programs with a limited capability, they are usually
operated by the user to maintain a smooth running of the computer system. Various
examples include file management, diagnosing problems and finding out information about
the computer etc. Notable examples of utility programs include copy, paste, delete, file
3
SOFTWARE CLASSIFICATION
• searching, disk defragmenter, disk cleanup. However, there are also other types that can be
separately installable from the Operating System.
• Library programs are a compiled collection of subroutines (e.g. libraries make many
functions and procedures available when you write a program)
• Translator software (Assembler, Compiler, Interpreter)
1. Assembler translates assembly language programs into machine code (A binary code
that a machine can understand).
2. Compiler translates high level language code into object code (which is the machine
language of the target machine).
3. Interpreter analyses and executes a high-level language program a line at a time.
Execution will be slower than for the equivalent compiled code as the source code is
analyzed line by line.
Application software
Software designed to help the user to perform specific tasks
Application software is designed for people like me and you to perform tasks that we consider
useful. This might be the ability of a scientist to work out statistical information using a set of results,
or someone who wants to play the latest computer game. Application software tends be used for
the tasks that have some relationship to the world outside of the computer. For example, you might
use a word processor to write a letter or an essay. Although you use the computer to perform the
task, the task itself might reasonably be considered to be a non-computer task.
There are several categories of Application software that we'll look into shortly:
• General purpose application software.
• Special purpose application software.
• Bespoke application software
General-Purpose Software
Software is general-purpose if it can be used for lots of different tasks. You can use a word processor
to write letters, memos, essays, instructions, notes, faxes, invoices and lots more.
4
SOFTWARE CLASSIFICATION
These days we tend to use integrate suites of office software where a range of general-purpose
software is provided, usually with the facility to combine elements from each application in a single
file.
Special-Purpose Software
This software performs a single specific task. This task might be complex like payroll calculation,
stock control etc. but will be based on a single task.
As with many abstract concepts, you can stretch these definitions until they blur a little. These days,
web browsers can contain a lot of features. They are still primarily focused on a single task, rendering
web pages and so the web browser is special-purpose. Being able to access an application using a
browser does not change the main purpose of the browser software itself.
Bespoke Software
Bespoke software is written for a single client. Large organizations have a need for well-developed
applications suited to their specific needs. Such software is often expensive to develop since the
development costs are not shared among a large number of people purchasing the software.