~ Software

Classification of Software

You have probably used a lot of software over the years, here we are going to study the different classifications (types) of software that are out there.

The two main classifications of software that all programs fit under are:

  • System software
  • Application software
CPT-Classification of Software - relationships.svg

Without software, most hardware would sit there doing nothing or perform specific tasks. To make most hardware run we need to use software, and your task here is to select the correct type of software for each job.

System software

System software - software designed to operate the computer hardware and to provide a platform for running application software

An example of a modern GUI as used in Ubuntu

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 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

Application software - software designed to help the user to perform specific tasks

GIMP is an example of photo editing general purpose application software

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. There are several categories of Application software that we'll look into shortly:

  • General purpose application software.
  • Special purpose application software.
  • Bespoke application software
Example: Software categories

Place the following software into its correct category:

  • Computer Game - This is built for a human user, therefore it is application software
  • Virus Scanner - This is built to make the computer run better, therefore it is system software

General purpose application software

General purpose application software is a type of application that can be used for a variety of tasks. It is not limited to one particular function. For example a word processor could be classed as general purpose software as it would allow a user to write a novel, create a restaurant menu or even make a poster.

Impress presentation software in LibreOffice 3.3.0

Examples of General purpose application software include: Word processors, Spreadsheet and Presentation software. Whatever you do, do not use brand names!

Special purpose application software

Special purpose application software is a type of software created to execute one specific task. For example a camera application on your phone will only allow you to take and share pictures. Another example would be a chess game, it would only allow you to play chess.

Chromium web browser

Other examples of special purpose application software are web browsers, calculators, media players, calendar programs etc. Again, make sure that you don't use brand names!

Bespoke application software

Bespoke application software is tailor made for a specific user and purpose. For example a factory may require software to run a robot to make cars, however, it is the only factory making that car in the world, so the software required would have to be specially built for the task.

Other examples might include software for the military, missile/UAV operations, software for hospitals and medical equipment, software being written inside banks and other financial institutions.

There are several things to consider before purchasing bespoke software, on the plus side:

plus pointSoftware is built for and will meet your precise needs

However, you must also consider

minus point Software will be expensive as you have to cover all of the production costs
minus point It may take some time to develop the software, when special purpose software could be brought straight away
minus point The software is more likely to be buggy as it probably won't have thousands of clients using and testing it

Text is available under the Creative Commons Attribution-ShareAlike License https://en.wikibooks.org/wiki/A-level_Computing