Any Information processing system can be broken down into the

ICT Revision Factsheets
Module ICT2
Section 4 - Software
Describe the need for interfacing with peripherals storage devices, input and output devices and display devices; describe the
need for printer and other peripheral drivers.
Nature and types of software
Describe the distinction between systems software and applications software; describe the purposes of operating systems.
Describe the nature of package software, generic and specific, and of bespoke software. Describe the general characteristics of
generic packages and the integration of objects and facilities for processing data protocols and standards.
Describe the functionality offered by software which provides access to the Internet.
Capabilities of Software
Capabilities of software Describe the desirable features of packages that would be appropriate to particular users and activities
such as: links to other packages; search facilities; macro capabilities; application generators; editing capabilities; ability to change
or extend data and record structures; short access times; data portability and upgrade paths
Explain the technical and human implications of package change/upgrade.
Explain the difficulties of thoroughly testing complex software.
Definition: A computer program which is made up of a set of instructions (written
originally in some language such as Visual Basic) which are loaded into the main memory
of the computer and executed.
Classification of software
library programs
bespoke software
general purpose applications software
system software
application programs
utility programs
operating system
special purpose applications software
ICT Revision Factsheets
© March 2000 e-Publishing Solutions
All rights reserved
The Operating System (System Software)
Care needed, as some textbooks will use the term ‘system software’ to categorise both the
operating system software and language translation software (as in the diagram above ...)
Definition: The operating system is the software which ‘manages the resources of the
 the processor
 the main memory (immediate access store)
 the backing store/the filing system
 the peripheral devices
What in particular will the op. system be concerned with?
 switching processor time between different tasks
e.g. a ‘background’ printing task, and ‘foreground’ word processing by
the user
 interrupt handling e.g. error messages provided to the user
Main Memory
 allocates storage space to programs or documents whilst being processed
E.g. temporary storage for data transfer (say) between word processing package and
printer, e.g. use of a print buffer
E.g. allocates storage for data being copied from one document & pasted into another
Peripheral devices
 deals with routing of data via appropriate paths
 deals with multiple requests for a printer , dealing with ‘conflicts’
 communicates error messages
E.g. paper out from printer
Backing Store
 supervises the transfer of data between memory and backing store when work is saved
or loaded
 deals with a request for storage space on disc
ICT Revision Factsheets
© March 2000 e-Publishing Solutions
All rights reserved
stores documents in a print queue whilst waiting to be scheduled for printing
organises the physical storage of files on the available backing store
Utility Program
Definition: A system program which carries out some common task.
E.g. Formatting a disc, or searching the disc for bad sectors
Often these 'utility programs' are provided with the operating system
Library Program
Systems program available on the system which link the operating system software with
various application programs. Windows calls these 'dynamic link library (.DLL) files.
E.g. you will have seen this when you install a new piece of software where – because the
new program is using a library file which already exists on the computer from a program
already installed – Windows will report (say) that a newer version of the library file already
exists on the system – overwrite?
Language Translators
A piece of software which translates a program written by the developer (in some high or
low level programming language) into an 'executable file' (machine code file).
The translator would provide error reports to help the developer identify the errors in the
program code.
Translator for a high level language written by the programmer into machine code.
Translators all the code, finds the errors, and only produces the executable version when
all the errors have been fixed.
Compilation can therefore be a repetitive process, until all errors are eliminated and is a
key part of the original testing of the program.
Software which translates an assembly language program into machine code.
Translator for a high level language into machine code.
Interpreters check the code one line at a time, checks for errors, and executes (if no
errors), or stops the program executing. Execution does not require the program to be in
machine code.
Every time we attempt to run the program, the interpreter software must be available in
E.g. Javascript which is attached to some web page. The browser software must have its
properties set to translate Javascript when the page is loaded. The has been no attempt
by the write of the page to translate the Javascript code before it is viewed in the
recipient’s browser.
Applications packages
Generic software
E.g. Word processing, spreadsheet, database, presentation software.
Typical applications for a word processing package
Note, these all support the classification of ‘general purpose’
 use of templates for standard documents e.g. invoices, customer quotations
 mail merge
 writing of large formal reports and technical documentation
Typical applications for a spreadsheet package
 basic calculations
 presenting tabular type data
 (simple) database type features
 production of charts and graphs
ICT Revision Factsheets
© March 2000 e-Publishing Solutions
All rights reserved
Graphics Design
 high degree of accuracy can be obtained
 repeatability of common features/tasks
 speed and flexibility of production of drawings/documents
 use of templates
 use of graphics libraries
 use of specialist ‘drawing tools’
Presentation Software
E.g. PowerPoint
 wide range of outputs available
E.g. hard copy of slides, summarised onto a single page to allow hand written
 inclusion of video / animation to improve impact
 automation of presentation (i.e. do not have to physically put transparency on
 provision of navigation tools
 ease of editing or replacing individual slides/re-ordering the slides
 use of templates
E.g. useful for presentations which need a ‘corporate feel’
 makes the presentation 'more impressive' to the audience
 allows import from other packages
E.g. a spreadsheet figures or chart
presentation file can be sent as attachment to staff remote from the office/venue
Are a feature of generic applications packages ...
Definition: A stored sequence of instructions or program, to carry out a task. The macro is
saved by name, and is then ‘run’ is response to some event , such as a command button
click event.
Testing Macros
Unit Testing: test the macro works correctly, but in isolation
Integration Testing: testing the macro but in its environment, and (if appropriate) as part
of a macro sequence
‘Special purpose’ applications software
Examples could include:
CAD for computer aided drawing
DTP for desktop publishing
Browser Software which connects to the Internet
 consideration of type of connection
 dedicated line e.g. ASDL
 dial-up connection
 connection requires service from an ISP
Integrated Package
Single software package which combines the features usually found in a number of distinct
applications such as word processing, spreadsheet and a database.
 common interface
 allows for the sharing of data between the various software components
Communication between Software and Peripherals
At the machine level this is done with software called:
ICT Revision Factsheets
© March 2000 e-Publishing Solutions
All rights reserved
Definition: software which translates the codes sent by the software to the device
(printer). Typical codes will represent the margin sizes, formatting effects (such as italics,
etc), font size, etc
Why are drivers required?
The availability of different drivers, enables a wide range of hardware to act as the output
device from that software
 installed printer driver is the bridge between the software, the operating system and
the hardware, to ensure that the codes sent from the software are correctly
understood by the hardware
 drivers get updated, so production date must be considered
 driver will be produced for the version of the software (i.e. op. system and the release
e.g. Word 97) and the device
Installing software
software must follow the correct installation procedure – often now usually fully
automated with user responses following prompts via Wizard installation process
software must be compatible with systems software
E.g. the applications software copy is (say) a Windows 98 copy
Writing Software
The first possible solution is to search for a software solution which already exists.
E.g. Order processing is such a common business activity that there will be ‘software
houses’ (i.e. firms which sell a software solution) which has available a package to match
with the requirements of a potential client.
Package software
 generic
would be packages such as Access and Excel which are the software tool
with which to build a customised application
 specific
payroll package, or invoicing and accounts management package which is
already available but will requires some tailoring to match with the new client’s
precise requirements
Bespoke software
software which has been written specifically for a one-off client
E.g. software to use with a newly produced digital camera
Characteristics of generic packages
 allow the integration of objects from other packages
 Microsoft products have a common programming language for macro writing (VBA –
Visual Basic for Applications)
 allow import/export facilities for files in all the popular file formats .doc, .jpg, .pdf, etc.
 use the same data protocols and standards
Bespoke software
 Should match with the user's requirements exactly
 expensive, since the development costs cannot be shared amongst a large user base
 the system could be prone to bugs as there has not been widespread use of the
software to find all possible errors
Usually assumes no program already exists which addresses the problem specification.
E.g. the software to use with a new scanner, or to download the pictures from a digital
ICT Revision Factsheets
© March 2000 e-Publishing Solutions
All rights reserved
Software Design considerations
use of colour
use of font size and layout
portability across different machines
E.g. screen resolution
application of company standards
E.g. size and colouring of logos – is there a template available?
avoid too much information on a single screen
Software Upgrading
Be clear the different between a new version/release of the software and a revision of
the software.
Testing software
Is still a human activity and consequently requires large amounts of time and resources.
E.g. Recent figure reported in the press that Microsoft has over 7000 staff dealing with
problems reported with Windows XP – and that’s after it was released!
‘Alpha’ version
Software which is tested ‘in house’ before it is made more widely available.
‘Beta’ version
The version which is released to approved participants before is generally put on sale.
 the upgrade may be just a ‘fix’ for some bug which has only recently surfaced in the
use of the software
 (in a business setting) upgrading to a new version the manager must balance the cost
of the upgrade, against the likely perceived benefits
 upgrade must be installed and tested
 may be available as a download file from the supplier
 may involve (say on a network) downtime while the upgrade takes place
 upgrade may be ‘major’ i.e. a change of version
 allow time for training of users in the new features and other usage issues
 user wish to take advantage of new functionality/features
 timing at which upgrade is done should cause minimal disruption to the system –
minimum ‘downtime’
 support may not be available forever for old versions so upgrade encouraged, and
software should be chosen so that the business in confident that the producer will still
be around in (say) five year’s time!
ICT Revision Factsheets
© March 2000 e-Publishing Solutions
All rights reserved