Tuesday, March 24, 2015

O - Levels Computer notes 2nd half



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)