1 Applications Of Computers, Their
Social & Economic
Implications
1.1 The Range And Scope Of Computer
Applications
General Application Areas
The range of computer applications is
vast. You should have an awareness of as many
applications as possible, and for
each, try to know the following:
1 The purpose of the application.
2 The required outcome.
3 The overall system design,
including both the computerised and the non-
computerised parts of the
application.
4 The necessary inputs to the system
and the means by which any data is captured.
5 The overall organisation and
processing of the data within the system.
6 The use and organisation of the
major software and hardware components of the
system.
7 The need for recovery in the event
of a system failure.
8 The interface between the system
and its users.
9 The effectiveness of the system in
practice.
10 The effects of the application on
individuals and organisations.
Communication And Information
Systems
Data is exchanged between computers.
The data can be in the form of text, images, sound
or video.
Electronic mail (e-mail) simple
message exchange. Can attach other files
Electronic conferencing can either
be a text, voice or video conference
On-Line Services & Remote
Databases
Computers are often placed in
locations where the public can use them to lookup
information.
Information retrieval online
databases, encyclopaedias, dictionaries, bus
timetables, etc.
Library systems documents are stored
digitally where they can be
searched
Multimedia systems stored
information contains text, sound, video, etc.
Commercial And General Data
Processing
These are often batch-processing
systems involving data being collected over a period of
time, and then processed later. The
collected data is stored in a transaction file, and this is
used to update the master file to
give a new master file.
Banking systems bank accounts are
updated based on daily transactions
Personnel records employee's pay is
calculated based on hours worked
Stock control when items are sent /
received, the stock is updated
Order processing received orders are
dealt with
ndustrial, Technical And Scientific
Uses
Data is entered into the computer
and the computer can then manipulate the data. In the
case of CAD systems, products can be
designed and tested completely within the
computer's memory. In forecasting
systems, predictions are made about the future based
on previous data, and a model of how
the system works.
Weather Forecasting try to predict
weather, taking data from sensors, using
computer models of weather systems
Computer-aided design (CAD) designs
for objects can be designed, altered and
tested within the computer, prior to
manufacture
Monitoring And Control Systems
A computer is used to monitor a
system through the use of sensors (such as light, heat,
etc.) The computer can then operate
devices to control the system (such as pumps,
valves, etc.)
Monitoring hospital patients checks
heart rate, etc. setting off an alarm if low
Nuclear power station control
monitors temperature, etc. and adjusts coolant
Traffic survey and control checks
the number of cars, alters traffic light timings
Automation And Robotics
The use of computers to control
other mechanical devices. Usually requires some sort of
interface which allows the computer
to receive data from input sensors, and to control
output devices such as motors.
Domestic automation washing
machines, microwaves
Automatic navigation aircraft,
ships, cars (GSM satellite navigation)
Industrial robots used to work on
manufacturing lines. Can work non-stop,
24 hours a day, 365 days a year. Can
work in hazardous
areas
Expert Systems And Artificial
Intelligence
Artificial Intelligence (AI) is the
attempt to simulate the human brain, and its thought
processes, using computer hardware
and software. Expert systems use AI techniques to
replace a human expert. All of the
human's knowledge on a subject is entered into the
computer as a series of rules.
Medical diagnosis data is fed into
the system, and questions are answered.
The expert system rules then come up
with the best
diagnosis (usually with a %
confidence level)
Speech recognition checks voice
patterns to determine what was spoken
Miscellaneous Areas
Some other applications of computers
are:
Computer-aided learning (CAL)
CD-ROMs, etc. where you can learn at your own
pace, like having your own personal
tutor
Computer animation for films and TV.
Special effects, etc.
.2 The Social And Economic
Implications Of The Use Of
Computers
Social And Economic Effects
Effects on people, organisations and
on society in general.
Redundancies jobs lost when staff
replaced by computer-based systems
De-skilling replacement of skilled
staff by computers. Staff are then
left to do less skilled jobs
Electronic 'scabbing' if staff are
striking, work can easily switched to non-striking
staff via a network, even in a
different country
Tactical striking unions maximise
impact of strikes by selecting computing
staff first. Whole company is then
affected
'New tech,' agreements benefits to
workers (cleaner, safer workplace) and
management (more cost-effective) of
using computer-
based systems
Economic Reasons For The Use Of
Computers
There are many financial reasons for
using computers, and computer controlled systems,
even though they are expensive to
set-up initially.
More efficient tasks completed
quicker, and with lest wastage
Work longer than people automated
systems need no rest, can work for 24 hours a
day
Save on wages computers can often do
the work of several people, so
people are made redundant
Changes To Existing Methods,
Products And Services
Businesses change the way they work,
and provide different, and better services to clients.
On-line banking more convenient for
customer, cheaper for banks, less
real staff required to deal with
cash
E-commerce selling goods online
means less overheads, so better
prices for customers, and more
profit for company
EPOS (Electronic Point of Sale)
tills in shops where the good
purchased are automatically taken
from the database of
stock. Can automatically generate
orders for new stock
EFT (Electronic Funds Transfer)
allows people to pay for goods
using a card which is 'swiped' in
the store, authorising the
transfer of money from the
customer's bank account
Development Of New Products And
Services
Computers have lead to the
development of new markets and businesses.
• Internet service providers
• Web-design services
• Internet cafes
Changes In The Working Environment
Using computers within businesses
has altered the environment that we work in
Cleaner and safer dangerous / messy
jobs done by computer systems
Work injuries can go up due to
prolonged computer use – RSI, back ache, etc.
Changes In Employment
The use of computers in the
workplace has an impact on the way people work
Retraining of staff software
packages upgraded, staff need to be trained.
This is often a regular thing.
However…
Individual training training can be
personalised to staff's needs through the
use of CAL systems, CD-ROMs, etc.
Privacy And Integrity Of Data
So much personal data is stored
within computer systems that companies and
governments have to have guidelines
and laws to protect the privacy of people and their
information.
Data Protection Legislation
The Data Protection Act gives the
following requirements to anyone who stores data about
someone else:
• Person must give permission for
data to be stored
• Data must not be used for purposes
other than those it was given for
• Must not store more data than is
necessary for the purpose
• Data must be kept up-to-date
• Data should not be kept for longer
than is necessary
• Data must be protected against
unlawful access, or accidental loss
• Data must not be transferred outside
of EU unless the country also has data laws
Security And Reliability
Data must be protected. This
involves a number of procedures.
Back-ups of critical data should be
performed on a regular basis. A full copy of all
files is taken (can use CD-R, magnetic
tape, etc.)
Usual technique is to keep 3
generations of back-ups
(today's, yesterday's and the day
before's). This is the
grandfather, father, son system.
Batch-Processing Backup of both
transaction files and master files
required. If today's master file is
lost, we can re-build it
from yesterday's backed-up master
file and transaction
file.
Archiving of old data to reduce the
amount of system resources required (disk
space, etc.) and keep the system
running smoothly, old
data that is no longer used (but may
be required for future
reference) is moved into an archive
file
Consequences Of System Failure
The requirements for security and
reliability vary considerably depending on the nature of
the application. For example, a
failure during a batch update of a sequential master file is
irritating and will cause delay,
whereas a failure in an air traffic control system could well
have catastrophic results.
Safety-critical systems (such as
air-traffic control, or medical systems) have much more
emphasis (and money) placed on
reliability.
Hacking And Other Computer Crime
Computer crime includes activities
such as the cracking of ineffective security systems to
gain unauthorised access to
commercially sensitive or confidential personal files, and
fraud through the improper transfer
of funds from one account to another. Computer
criminals may work within the
organisation or may be outsiders. Precautions can be taken.
Physical security only allow
authorised users near the computers
Complex security codes use of good
passwords (not just 'Fred' or 'Password')
Firewall soft/hardware prevents
access from outside the network
Encryption of data can only be read
by someone with the password
Monitoring of all access trace users
who are accessing and misusing system
Computer viruses
Sensible precautions should be
taken.
• Up-to-date virus protection
• Limited use of disks, etc from outside
your network
• Firewall software / hardware –
prevents viruses using your Internet connection
2 System Analysis
2.1 Systems Analysis
Systems Analysis describes the
process followed when replacing or upgrading a system
with a computer-based one. The steps
followed are:
• Fact-finding
• Feasibility study
• Analysis
• System design
• Implementation
• Testing
• Documentation
• Evaluation
Identification Of The Problem
(Fact-Finding)
What exactly is/are the problem(s)
that needs to be solved? How do we find out as much
as possible about the present
system? We need to do some fact-finding:
• Interviewing people who work for
the company
• Questionnaires
• Observation of people at work
within the company
• Inspecting documents that are used
within the present system
Deciding And Stating Specific
Desired Outcomes (Feasibility Study)
Before continuing with solving the
problem identified, it is important that it will be
worthwhile. The feasibility Study,
and the resulting Feasibility Report, will give an idea of:
• A brief description of the
business and the sections which will be affected
• A description of what the system
is required to do (objectives)
• Some early system designs to allow
estimations of time and cost
• Details of why some designs were chosen,
and some rejected
• Approximately how long the project
will take
• Approximately how much it will cost
• Cost / benefit analysis detailing
whether the solution will save money or not
• Plan of further action
• Conclusions as to whether to
continue, and if so, how
Based on the contents of the study
and report, the company will decide if they are going to
proceed with the project.
Analysing The Flow Of Information
And Data In Existing Solutions and
Evaluation Of Existing Solutions
If the project is to continue, then
a much more detailed look at the business and its
systems is required. Data will be
collected and analysed thoroughly to aid in the design of
a replacement system. In particular
this stage will provide:
• Charts and diagrams of the present
system, and the proposed new system
(structure diagrams, data-flow
diagrams, etc.)
• Detailed objectives for the new
system
IGCSE Computer Studies Syllabus 0420
The International School Seychelles
7
• Details of exactly which parts of
the old system will be replaced
• Constraints of the new system
(things it will not be able to do)
• An updated cost / benefit analysis
• A new plan for further action
(including timing, responsibilities, etc.)
Consideration Of Alternative
Solutions
Designs will need to be produced
including:
• Required outputs (documents,
reports, etc.)
• Required inputs (data, method of
entry, validation, etc.)
• File / database design (number of
tables, links between them, etc.)
• Hardware configuration (computers,
networks, printers, etc.)
• Software required (operating
systems, application packages, custom written, etc.)
A solution will need to be selected,
based on the objectives that were set: Which solution
fulfils all of the objectives?
Implementation
This can be done in one of three
ways:
Direct implementation the new system
simply replaces the old one. Only suitable
for small systems
Phased implementation parts of the
old system are slowly replaced by the new
one, taking time to make sure each
bit works before the
next is begun
Parallel running the new system runs
alongside the old one to check it
works as well. When all problems
have been solved, the
old one stops.
Testing
We must ensure that any new system
functions as expected, both in normal use, and
when potential problems arise. We
test the system with:
Normal data to see if correct,
expected results are achieved
Data with errors to check that our
validation and error-checking routines
Large amounts of data to ensure that
the system can cope with high loading
Rare / uncommon events like yearly
reports, just to see that they work as expected
Extreme data to make sure that
validation works, and calculations cope
with the large / small values
Documentation
There are two main type of document
that are required:
User documentation explaining how to
use the new system (a user guide)
Technical documentation to allow
people to alter / upgrade the system in the future
Evaluation
Finally, the new system has to be
assessed. Did it meet its objectives? Ask the new
users!
3 Problem Solution, Algorithm Design
& Programming
Concepts
3.1 Making An Overall Plan
Defining The Scope Of Separate
Modules
Software problems should always be
broken down into small modules of code
(subroutines). These modules should
be small and as self-sufficient as possible as:
• The module is easy to produce, not
being dependent upon other modules
• The module is easy to test for the
same reason
• The code is re-usable - the same
module can be used in another project
e.g. Software for teaching children
about shapes could be broken down into the following
modules:
• One that deals with drawing shapes
(further broken down into shape modules)
• One that deals with asking
questions about shapes, and uses the drawing modules
• One that saves and loads the
student's progress to / from disk
Each module has a clear purpose and
it's dependency on other modules is clear. If the
modules are well defined, then the
overall problem becomes easier to solve.
Designing Algorithms
When writing algorithms to solve
software problem, you must always bear in mind that
your solution must satisfy the
requirements of the system. If the software is required to
calculate the average scores of 1000
students, then that is what your algorithms must do.
Explaining Algorithms And How They
Relate To The System
The design of any algorithm should
be driven by:
Inputs supplied what data will be
passed to the algorithm to work with?
Outputs required what data is
expected from the algorithm?
The inputs and outputs will be
defined by the algorithm's location within the overall system,
and it's connections to other
modules.
e.g. If an algorithm is required to
draw a square on the screen, then we need to define
how it will be used. We want to use
it several times for different sized squares, in
different places on the screen, so
we'll need to give it some sizes and a location:
• Inputs: side length l, and
position of top-left corner (x, y)
• Outputs: a square! Sides l,
located at (x, y)
This algorithm can now be easily
used to draw any square, anywhere, as long as we
supply it with the correct data.
The actual algorithm produced is
almost irrelevant as long at it produces the desired
results, from the inputs supplied
(there are issues of speed, good programming practice,
etc. to be considered though)