Professional Documents
Culture Documents
Computer Fundamental
Utility Program
Library Program
Applications Software
Bespoke Software
Generic Software
• includes all common application packages such as word processing, desktop publishing,
spreadsheet, database, CAD
Processor
Computer Architecture
Fetch-Execute Cycle
• Clock ticks
• Fetch tick - fetches next instruction
• Decode - decodes it
• Execute tick - executes instruction
• Detect - checks for interrupts
Von Neumann Stored Program Concept - programs are stored in memory, each instruction after
the last in consecutive memory locations. Any deviation is dealt with in a special way.
Control Unit
• contains buses and registers which allow processor to carry out fetch-execute cycle
ALU
• Arithmetic/Logic Unit
• Arithmetic e.g. ‘Add’
• Logic e.g. ‘Compare’
• contains circuits which perform many different operations
Buses
• channels (set of parallel wires) within computer which carry data between independent
components
• shared transmission medium, therefore only one device can transmit along a bus at any
one time
Address Bus
Control Bus
Data Bus
• carries data
• bi-directional
• INCREASING WIDTH INCREASES SYSTEM’S SPEED AND PERFORMANCE
Word
RAM
ROM
• non-volatile
• contents permanently etched into memory chip at manufacturing stage
• contains bootstrap loaded (instructs computer to load OS software as soon as computer is
switched on)
Cache
Fundamentals of Programming
Assembly Code
Assembler
Compiler
• source code (high level language) -> object code (machine code), then executes
Interpreter
Procedure
• completely self-contained subprogram which may be called from the main program
• defined and given an identifier which may be used like any other programming instruction
Function
Variable
Event Procedure - procedure which is run when a certain event is triggered by the user
Scope - refers to the range of statements for which a variable (or procedure is valid). A variable
doesn't exist outside its scope
Parameter
• information about a data item being supplied to a function or procedure when it is called
(aka argument)
• variables declared in the heading of a procedure/subroutine whose values can be passed
to and returned from it
Passing by value - a copy of the variable is used and is discarded when the subprogram exits
Passing by reference - the memory location of the data is issued and the changes made to the
subprogram affect the variable permanently
Module
Array
• finite set of data items of the same type grouped together (referred to) using a single
identifier
• stores data which logically belongs together
• static structure
• each item is addressed using a subscript
Stack - a LIFO list, dynamic, implemented with an array, can be empty or full
Linked list - dynamic structure, similar to normal list, pointers rather than physical position used
to point to next item in list
Algorithm
Standard Modules
Binary Search
• faster
• split data into two structures and compare search item with middle item
• only works is data items are in order
• Sound is input via a MIDI (Musical Instrument Digital Interface) port to be processed by
computer.
• Analogue to digital converter to transform analogue input into digital form (binary pattern
which can be stored and processed)
• Undesirable sounds can be edited out
• Sound in analogue form may be represented by wave forms with the height represented
by e.g. a 16-bit binary code. More frequent samples -> sound more faithfully represented
Bit-mapped Graphics
Data
Information
Data communication - sending and receiving data from one computer or data processing device to
another
Serial transmission
• bits are sent via an interface one bit at a time over a single wire from source to destination
• very high data transfer rates e.g. 1000Mbits per second
Parallel transmission
• used inside the computer for short distances (up to a few metres) e.g. to printer
• parallel port can send 8 / 16 / 32 bits simultaneously down separate lines
Baud rate - (in bits per second) -> speed at which data is transmitted serially
Framing bits - (start, stop, error detection) are transmitted with each character
Bandwidth - the range of frequencies that can be sent / received (measured in Hz)
Synchronous transmission
Asynchronous transmission
Handshaking - exchange of signals between devices to establish their readiness to send / receive
data
• high speed digital communications network to replace current telephone network which
requires digital-to-analogue conversions and to replace traditionally analogue forms of
data, ranging from voice to computer transmissions, music, and video
• requires high bandwidth
Data compression - repeated bytes only sent once with count of repetitions
Server
WWW is a facility of the Internet -> series of web sites / pages which contain information and are
held on host computers
The domain name system maps the domain name onto the IP address
Teleworking - carrying out work away from the office and communicating with the employer
through the use of a computer and telecommunications equipment
Hacking
Theft of data - data stolen by illegally accessing it or by stealing the computer on which it is
stored
Viruses
• generally developed with definite intention to cause damage to computer files or cause
inconvenience and annoyance to computer uses
• virus usually occupies the first few instructions of a particular program on an 'infected' disk
• when program is executed, virus is the first series of instructions to be performed
• virus copies itself from diskette to PC and 'hides' within obscure files, OS code or within
unused disk blocks which are then marked as being 'bad' and are unavailable for reuse.
• REPRODUCTION - when another floppy is inserted into the computer's disk drive the virus
copies itself to the floppy disk
• INFECTION - the virus may display messages, use up all the computer's memory, destroy
data files or cause serious system errors
'Logic bomb'
• written to destroy or subtly change the contents of an organisation's computer system, but
only when signalled to do so by the hacker or if a cancelling signal fails to arrive
• huge sums of money may be handed over to hacker by vulnerable institutions
There have been relatively few prosecutions since organisations are reluctant to admit their
security procedures have been breached (which could lead to a loss in confidence by clients)
Data Protection Act, 1984 - 8 data principles of good info handling practice
Stress - information overload -> managers bombarded with more information than they can
assimilate -> information anxiety
Eye strain
Extremely low frequency (ELF) radiation - from monitor -> may influence miscarriages
Spreadsheets
Integrated package
• e.g. MS Works combines a spreadsheet module, a database module and a word processing
module
• cannot buy one module separately
• data can be readily transferred between modules
Software suite
• e.g. MS Office
• data can be readily transferred between modules
File - collection of records (extended to mean source code program written in high level language,
word processed letter, bitmapped graphics file, ASCII text file
File Organisation
Transaction files - contain details of all transactions that have occurred in the last period
Master files - permanent files kept up-to-date by applying transactions that occur during the
operation of the business
SERIAL
SEQUENTIAL
RANDOM FILES
• records are stored and retrieved according to their disk address / relative position within
file
• to add, use the hashing algorithm to work out the appropriate memory location
• to delete, set flag = 0 but leave the value there, therefore space can be reused but is not
actually empty
• to search for a record continue until either the record is found or empty space is
encountered
Synonyms - two record keys generate the same address -> use overflow area and flag
File Processing
• interrogating / referencing
• updating
• maintaining
• sorting
'Updating by copying' - transaction file must be sorted in same order as master file
'Updating by overlay'
File maintenance - updating more permanent fields on each record, adding / deleting records
Data security - keeping data safe from the various hazards to which it mat be subjected
Call-back procedure - when a remote user logs on the computer automatically calls them back at
a prearranged number to verify their access request before allowing them to log on
Methods of encryption:
Cryptography
Access rights
• read-only
• write-only
• no access
• only allow access from particular terminals or at certain times of the day
Periodic backups - copy files regularly and keep them in a safe place
Contingency plan
Hash total - sum of values calculated purely for validation purposes (use ASCII codes)
Check digit
• self-checking
• calculated from the digits of the code no.
• e.g. modulus-11 traps over 99% of all errors
Checksum
Conceptual data model - describes how data elements in a system are grouped
Database Concepts
Unproductive maintenance - programs still dependent of record structure and all departments
affected by minor changes in another department
Problems of security - confidential information accessible by every application since held centrally
Database - consists of many different files linked so that information can be retrieved from
several files simultaneously
Secondary Key - not unique to each record but may be used to quickly locate a group of records
Foreign Key - key field from one table used in a second table (common field)
Index - list of numerical values which gives the order of the records when they are sorted on a
particular field
• combine into one table info from two or more related tables
• select field in 'Answer' table
• specify search criteria
• save query and results
Operating Systems
Operating system software - to control and monitor the running of application programs and to
allow users to communicate with the computer
Backing store management - controls transfer of data between disk and memory and maintains
directory of disk so files can be located quickly
Virtual memory - OS stores only a few pages of each program in memory at any one time so that
memory appears to be larger than it is
Virtual machine - OS functions in such a way as to hide from the user all the complexities of the
hardware
Batch processing - processing carried out from beginning to end without user interaction
Real-time OS
• support application programs which are non-sequential in nature (not START - PROCESS -
END structure)
• carry out processing and produce response within specified time interval
• can deal with many events happening in parallel at unpredictable moments
• fail-safe (if safety critical - see above)
Off-line processing - computer devices not under immediate control of main computer
Drive - hardware that seeks, reads and writes info to and from disk
Archive
Backup - making copies of data or programs in case the originals are corrupted or lost
Differential backup - copies only those files that have changed since the last normal backup (e.g.
every day)
Normal backup - copies all selected files (do e.g. once a week)
Input Devices
Optical Character Recognition (OCR)
Key-to-disk system - many data entry operators key in data from source documents. Batch data
stored on disk. Source data passed to second data entry operator who, in verify mode, enters
data a second time. Any discrepancy causes machine to beep. Data either downloaded to main
computer over communications link or transferred to magnetic tape and taken to main computer
room.
Magnetic stripe
Optical Mark Recognition (OMR) - detects marks made in pre-set positions on form
Hand-held input devices - e.g. for reading gas / electricity meters - displays customer name,
address and location of meter - at end of day all readings are downloaded by communication link
to main computer for processing
Output Devices
Ink jet printer (fires drops of ink at page by boiling in microscopic tube and letting steam eject
droplet)
• compact
• quiet
• slow (average 3 pages per min)
• colour can cost up to 75p per page
• resolution almost as good as laser printer
Laser printer (toner transferred to page then fused onto it by heat and pressure)
Plotter
• produces high quality line drawings such as building plans and electronic circuits
• 2 types - pen (vector plotters) and penless (raster plotters)
• pen plotters use point-to-point data
• penless plotters include electrostatic, thermal and laser (for higher densities)
Storage Devices
Secondary storage
• magnetic tape
• magnetic disks
• CD-ROM
• microfilm
• 1.44MB
• flexible plastic disk coated in metal oxide
• two surfaces each with 80 concentric circles called tracks
• tracks near centre store same amount of data as outer tracks
CD-ROM
Magneto-optical disks
• integrate optical and laser technology to enable read and write storage
• 5½" disk can store 1GB
• at the moment are expensive, slow and unreliable
• operational
• technological
• financial
Analysis
• background
• analyse
• detailed specification for requirements of new system
• Data Flow Diagram
• Entity-Relation diagram for current system
Design
• HCI
• input
• output
• help
• error messages
• data storage
• record structure
• security and integrity
• E-R model
• method of data entry and validation
• list fields
• module structure chart
• test strategy including test data
• Top down design - break large problems down into smaller problems which can be written
as self-contained modules
• Jackson structure diagram - shows how modules all relate to form the whole solution
Implementation
• build solution
• test it
• technical documentation
• user documentation
• train
• install
• programmer follows through code manually using test data to check algorithm is correct
• for locating run time errors
Integration testing - test a complete suite of programs to ensure that they all function correctly
when put together
Maintenance
• corrective - problems which occur after system has been in use for a short time and were
missed by the testing
• adaptive e.g. changes in VAT
• perfective
Evaluation
• effectiveness
• usability
• maintainability
• safely
• effectively
• efficiently
• enjoyably
Command-line interface
Menus
Natural language
• too ambiguous
• no training necessary
• less concise than 'artificial language'
• title
• not cluttered
• indicate length of words to be input
• opportunity to go back and make changes
• logical order
GUI
Speech/sound output
• e.g. used by bank computer connected by telephone which could read out a customer's
account balance
• use phonemes (individual sounds from which all words are constructed in any particular
language)
Structure of Processor
ALU Arithmetic Logic Unit Carries out arithmetic and logic operations
IAS Immediate Access Store Main Memory - stores data and instructions
CIR Current Instruction Register Current instruction is held while it is being decoded
X Index Register
Fetch-Execute Cycle
Fetch-execute cycle - complete process of retrieving an instruction from store, decoding it and
carrying it out
Fetch Phase
1. The address of the next instruction to be executed is copied from the SCR to the MAR
2. The instruction held at that address is copied to the MDR
3. Simultaneously the contents of the SCR is incremented so that it holds the address of the
next instruction
4. The contents of the MDR are copied to the CIR
Execute Phase
Interrupts
Interrupt - signal from a device or source seeking the attention of the processor
Interrupt register - special register in CPU which is checked at the beginning of each fetch-
execute cycle. Each bit represents a different type of interrupt. If a bit is set the state of the
current process is saved and OS routes control to appropriate interrupt handler
Interrupt priorities - when two interrupts are received simultaneously, the one with the highest
priority is dealt with first
Hardware failure e.g. power failure has the highest priority of interrupt to allow the OS to shut
down as gracefully as possible
An I/O device which signals normal completion or that an error has occurred would have the
lowest priority
Von Neumann stored program concept - instructions are fetched and executed one at a time in a
serial manner. Data, instructions and addresses are transmitted between memory and the
processor along data and address buses. Control bus used to send control and timing signals
between various components of CPU and main memory.
Address bus - the width determines the maximum address that can be directly referenced
Data bus - the width determines how many bits can be transferred simultaneously
Assembly language
Instruction set - set of machine instructions that a processor recognises and can execute
OR Perform Boolean OR
Shift Instructions
LEFT RIGHT
LOGICAL MSB is discarded as all LSB shifted into carry bit &
other bits move to the left zero moves in to occupy
vacated space
CIRCULAR MSB is moved into carry bit Value of carry bit is moved
(ROTATE) into vacated position
Two address instruction - two bytes for operand, either because 2 operands are involved or
because the operand is too large to fit into one byte e.g. MOV R1, R2
Addressing modes
Direct addressing - operand is the address where the data can be found
Indirect addressing - operand is the address of a location which in turn holds the address of the
data required
Indexed (modified) addressing - operand is modified by adding the contents of the index register
to give an address of the data
Relative addressing - operand contains an offset to a known (or implied) base address e.g. SCR
Base register addressing - operand is added to base address to give address of data
Programming Concepts
Low level languages - e.g. assembly language
• machine oriented
• each assembly code statement translates to one machine code instruction
• used when there is a requirement to manipulate individual bits and bytes, write code that
executes as fast as possible, or occupies as little memory as possible
Compiled by: Mazhar Javed Awan 22
Quick Revision Notes A Level Computing
High level languages
• human oriented
• statements resemble English sentences or mathematical expressions
• easier to learn and understand
• each statement in a high level language will translate into several machine code
instructions
• built in functions, selection, iteration and data structures such as string, array, record
Real-time system - system whose processing time is within that of the problem so that it can
influence the source of the data
Object-Oriented Programming
Object class - collection of characteristics and procedures that an object within the classification
can have or perform
Inheritance - a relationship among classes wherein one class shares the structure and behaviour
of another class
Polymorphism - two or more classes derived from the same base class but with some unique
features of their own
Inherited polymorphism - objects of different classes process same message because they inherit
it from common ancestor
Independent polymorphism - different classes use same field or method name for different values
or activities
Iteration - a statement in a program that causes the program to repeat one or more statements
Recursively defined - an object which is defined in terms of itself. It calls itself and is therefore re-
entrant
When a subroutine is called the return address and the values of any parameters in the
subroutine are stored in a stack.
Advantages of recursion
• mathematically neat
• small amount of code if solution suited to recursion
Disadvantages of recursion
A list may be implemented using an array. Two extra variables are used to hold the current size
of the list and the size of the array. An empty list is denoted by [ ]
• items need not be held in contiguous locations or in the order they occur in the sequence
• each node contains an information field and a next address/link field which contains the
address of the next item in the sequence
Uses of queues
Stack
Uses of stacks
• to store return addresses, parameters and register contents when subroutines are called.
When the subroutine ends, the address at the top of the stack is popped and the computer
continues execution from that address
• in evaluating mathematical expressions held in reverse Polish notation (used by
compilers). A stack can be used to convert infix notation to Postfix (reverse Polish)
notation
Binary tree
Linear search
Binary search
Bubble sort
Quicksort
Compiled by: Mazhar Javed Awan 26
Quick Revision Notes A Level Computing
• quick for long lists of numbers
Insertion sort
• faster than the bubble sort, but not as fast as the quicksort
binary 1 0 1 1 1 0 1 1 1 1
hex 2 E F
oct 1 3 5 7
Two's complement
Copy digits from the LSB towards the MSB, up to and including the first "1" digit and then invert
the rest.
5 0 0 0 0 0 1 0 1
-5 1 1 1 1 1 0 1 1
14 0 0 0 0 1 1 1 0
-14 1 1 1 1 0 0 1 0
e.g. 5 = 0 0 0 0 0 1 0 1
1 1 1 1 1 0 1 0
+ 0 0 0 0 0 0 0 1
-5 1 1 1 1 1 0 1 1
5CHEX = 0 1 0 1 1 1 0 0
Floating point
MANTISSA EXPONENT
1 1 1 1
-1 /2 /4 /8 /16 -4 2 1
radix point
e.g.
73HEX = 0 1 1 1 0 0 1 1
7
= /8 x 23 = 7
Normalisation
Overflow - when a number is too large for the exponent to be expressed (positive exponent)
Underflow - when a number is too near zero for the exponent to be expressed (negative
exponent)
e.g. 0 0 0 0 1 1 0 1 0 1 0 0 0 0 1 0
normalise:
= 0 0 0 0 1 1 0 1 0 1 Exponent = 2
= 0 1 1 0 1 0 1 0 0 0 Exponent = 2 - 3
= 0 1 1 0 1 0 1 0 0 0 1 1 1 1 1 1
= 91.6 x 102
= 9.16 x 103
1. Multiply mantissas
2. Add exponents
3. Normalise
= 23.14 x 105
= 2.314 x 106
Operating Systems
Operating system - program or set of programs which manages the operation of the computer
and provides interface between user, hardware and programs
Control program (aka nucleus, monitor, control program, supervisor, executive, kernel) - portion
of the OS - most frequently used instructions stored in main memory while other programs are
being executed
Booting - process of loading the OS from disk to main memory once the computer has been
switched on but before any other programs can be run. A small program (loader) held in ROM
instructs the computer how to load all or part of the OS into memory
Single-user single-process - OS supervises the loading and running of one program at a time and
the input and output of data to and from peripheral devices
Multi-user (multi-access) OS - allows two or more users to communicate with the computer at
any one time
Batch OS - job runs from beginning to end without intervention from the user. Job Control
Language (JCL) specifies for example job priority, maximum memory, print lines and execution
time required
Multi-user and batch - batch processing jobs run at times of low interactive demand e.g. during
the night when few users are active on the system
Built-in redundancy - processor may not be used at its full capacity for a large part of the time so
that it can respond instantly when required. In addition, components may be duplicated
Client-server system - network where server provides resources to client workstations e.g. file
storage, web access
Printer server - allows all networked machines to have access to a variety of different printers
Spooling - printing jobs sent to server from client workstations held in queue on disk and sent to
printer when free
Distributed computer systems - system resources e.g. processors, disk storage, printers exist in
separate nodes of a network with transparent access to these resources by users being possible
Command line interface - interactive terminal allows system to prompt the user to type a
command to initiate program execution or perform housekeeping tasks
Advantages:- quicker, greater variety of commands, user less memory, more useful error
messages
Command line interpreter (CLI) performs the actual task of identifying and executing the
command
Job control language - user has no direct interaction with the computer system. User prepares a
series of instructions off-line using JCL to describe to the system the requirements of the task.
After execution, results are made available via an off-line medium e.g. line printer paper
JCL specifies:
Graphical user interface - user interacts with system using windows, icons, menus and a pointer
to control the operating system. Selection is achieved by moving a pointer with a mouse and
clicking a mouse button
Advantages:- easier for novices to use since more intuitive, only valid options are available,
consistency of layout and command representation in applications, comprehensive on-line help
available
Disadvantages:- uses more immediate access store and secondary store, requires more powerful
processor and better graphics display, slower when executing a command because much more
interpretation takes place, can be irritating for simple tasks because greater number of operations
required
• process management
• memory management
• I/O control
• file management
Process - program actually running on the CPU, even though it may be waiting for I/O at a
particular moment
Process states
Process control block - holds the details of where a program was in its execution when it was
interrupted so that it can resume from exactly that place later on
Types of interrupt
Interrupt register - special register in CPU checked at the beginning of each fetch-execute cycle.
Each bit represents a different type of interrupt
In some cases if an interrupt occurs during data transfer, some data could be lost so the OS will
disable other interrupts until it completes the task
Program Status Word (PSW) - special register which indicates the types of interrupts currently
enabled and disabled (disabled interrupts remain pending or are ignored)
Job priorities
Scheduling policy
• maximise throughput
• maximise number of interactive users receiving acceptable response times
• balance resource use
• avoid pushing low priority jobs to back of queue indefinitely
• enforce priorities
• achieve balance between response time and utilisation of resources
• processes dispatched on FIFO basis with each process being given a limited amount of CPU
time called a time slice or quantum
• interrupting clock generates interrupts at specific times
• helps guarantee a reasonable response time to interactive users
Memory manager - primarily concerned with the allocation of the physical main memory to
processes. No process may exist until a certain amount of main memory is allocated to it
Compiled by: Mazhar Javed Awan 32
Quick Revision Notes A Level Computing
Objectives of memory management
• to allocate memory space to enable several processes to be executed at the same time
• to protect processes from each other when executing concurrently
• to enable sharing of memory space between processes when required
• to provide a satisfactory level or performance
• to make the addressing of memory space as transparent as possible to the programmer
Absolute loader - loads the program into a single fixed area of memory. Address references in the
program are fixed at translation time. The program will only work properly when loaded into one
specific position in main memory
Relocating loader - can load the program anywhere in main memory because the program has
been translated in such a way that all addresses are relative to the start of the program. The start
address of the program is held in a special register called the base register
Static relocation - once the relocatable object program has been loaded into main memory,
relocatability is lost and the program cannot be moved again
Limit register - holds the highest addressable location of the process to allow memory manager to
protect other programs’ memory space from being accidentally addressed by program error
Virtual memory - technique for making the computer appear to have more memory than it
actually has. Small portions of a process are loaded as and when they are needed and are
swapped out when it is the turn for the next process. Many processes can effectively share the
same memory space
Paging - each process is divided into a number of fixed length pages (usually 4KB in length).
When a processes is to be executed, only pages that are immediately required are loaded into
memory
Page management table (PMT) - indicates whether a particular page of the process is loaded or
not and which page frame it is occupying in memory
Disadvantages of paging:-
• may not be efficient e.g. storing 1KB of data in 4KB page frame
• thrashing may occur (if virtual memory system spends almost all its time swapping pages
in and out of memory rather than executing applications)
Advantages of paging:-
• allows process to be relocatable since address of a location in a program states the page
frame (obtained from PMT) and the displacement from the start of the page (remains the
same wherever the page is)
Dynamic linked library (DLL) - collection of small executable programs which run in the presence
of another program
Compiled by: Mazhar Javed Awan 33
Quick Revision Notes A Level Computing
• enables code sharing
• makes operation of program more efficient (DLL does not need to be loaded into memory
when main program is loaded)
General protection fault (GPF) - occurs if a DLL is called incorrectly e.g. by passing the wrong
number of parameters
Allocation units - addressable blocks on a storage device e.g. 512 or 1204 bytes
File management
File Allocation Table (FAT) - maintained by the file management system and details the contents
and status of each addressable block on the disk
Data is transferred to and from disk in units of the physical block size e.g. 512 bytes. If the first
100 bytes of a file are requested by a program, the OS reads the whole block of 512 bytes into a
buffer in memory and the 100 bytes requested are extracted from the buffer. This process
minimises the number of disk transfers at the expense of a small amount of memory space and
some extra processing complexity
I/O management
• each I/O device has its own address and hardware controller unit attached to the I/O bus
system which can transmit data to and from main memory
• the device sends an interrupt signal to the processor when it has completed its task and
the processor initiates further data transfer if required
Device controller
• provides a hardware interface between the computer and the I/O device
• conforms in interface terms with the requirements of the I/O device, therefore different
types of computers do not require different controllers
Device driver
• software module which manages the communication with a specific I/O device
• converts I/O request from the user into specific commands to the device
• based on knowledge
• the science of making machines perform tasks that would require intelligence if done by
people
• includes expert systems, problem solving, robot control, intelligent database querying and
pattern recognition (speech comprehension, image processing, robot vision)
• computer capable of learning and improving performance at a given task
Turing test - consider two identical terminals in a room, one connected to a computer and the
other operated remotely by a person. If someone using the two terminals is unable to tell which is
connected to the computer and which is operated by the person, the computer can be credited
with intelligence
Expert systems
• computer programs that attempt to replicate the performance of a human expert on some
specialised reasoning task
• can store and manipulate knowledge so that they can help a user solve a problem or make
a decision
• consists of a knowledge base (facts and rules), an inference mechanism (a means of using
the knowledge) and a human computer interface
• can explain its reasoning to the user
• limited to a specific area of expertise
• PROLOG is one language developed for the creation of expert systems
• used in medical diagnosis, fault diagnosis, geological surveys (to find oil and mineral
deposits), financial services (to predict stock market movement), social services (to
calculate benefits to claimants), industrial uses (e.g ELSIE)
• special software program that allows a user to build an expert system without having to
learn a programming language
• provides a straightforward user interface for the expert to enter facts and rules and for the
end-user to use the system to solve a problem
Databases
Conceptual data model - describes how data elements in the system are to be grouped
• Unproductive maintenance - programs still dependent on the structure of the data (when
one department needs to add a new field to a file, all programs accessing that file need to
be changed)
• Lack of security - all data in the database is accessible by all applications
• layer of software between the applications and the data to improve security and eliminate
unproductive maintenance
• the storage structure of the data is hidden from each application/user (program data
independence)
• each user is given a limited view of the data according to need
Relational database
Normalisation
• process used to come up with the best possible design for a relational database
• no data is unnecessarily duplicated
• data is consistent throughout the database
• the structure of each table is flexible such that as few or as many items as are required
may be entered
• the structure enables users to make complex queries relating data from different tables
Second normal form - in first normal form and no attribute that is not part of the primary key is
dependent on only a portion of the primary key
• a relational database can create links between tables representing different entities
through the use of foreign keys
• it is impossible to normalise a database in a flat file system (since links between tables are
not possible)
• flat file systems do not allow individual access rights to be set or multi-user access
SQL (Structured Query Language) - data access language which deals with the manipulation of
tables and data
DML (Data Manipulation Language) - the part of SQL concerned with asking questions of a
database
• language used to define the logical structure and the files within the database
• alternative way of creating tables, forms, reports
• e.g. CREATE TABLE Friends
Open systems - provide a standard by which applications may be written to allow portability to
multiple systems
• provides a means of accessing data held in one type of database from another database,
spreadsheet etc.
• ODBC driver translates ODBC requests to the correct format for a particular data source
• application program that provides an interface between the OS and the user in order to
make access of the data as simple as possible
• allows users to store, retrieve and update information without having to be aware of the
structure of the database
• creates and maintains the data dictionary
• ensures that problems do not arise when two people simultaneously try to access and
update a record
• ability to recover database in event of system failure
• handles password allocation and access rights
Multi-access database - more than one person can view and update the same tables concurrently
Ensuring integrity - ensuring no data is lost or corrupted (making sure updates are not lost)
• opening entire database in exclusive mode - prohibits all simultaneous access (software
does not have to check for potential conflicts)
• lock all records in the table being modified - (other users could only open the table in
read-only)
• lock the record currently being edited
• if two users are attempting to update two related records in the same table, this can lead
to a situation where neither can proceed
• the DBMS must recognise when this situation has occurred and one of the two tasks must
be aborted to allow the other to proceed
• allocate users to named groups and assign different permissions/privileges to each group
• each user will have password which they should change regularly
• the database me be encrypted
Client-server database
• DBMS server software runs on the network server and DBMS client software runs on
individual workstations
• server software processes requests for data searches, sorts and reports that originate from
individual workstations (the entire database does not need to be copied to each
workstation)
• expensive resource (powerful computer and large database) can be made available to a
large number of users
• client stations can update the database rather than just view that data
• consistency of database is maintained (only one copy of data is held)
• communication time between the client and server is minimised because only the query
results are sent back to the client station (not the whole database)
Object-oriented database - stores the data and methods as objects that can be automatically
retrieved and shared (more suited to handling graphics based or multimedia applications)
Systems Development
Analysis
Fact finding:-
• observation
Data dictionary
• file that stores definitions of data elements and data characteristics such as usage,
physical representation, ownership, authorisation and security
• shows which programs and reports in the database system use the data
Volumetrics
Design
Considerations:-
Prototyping
• building a working model of a system in order to evaluate it, test it or have it approved
before building the final product
• user can experience 'look and feel' of the input process and suggest alterations
• spiral model - life cycle model which spirals towards a final solution
User interface:-
• consider who will use it, what tasks, the environment, what is technically feasible
• screen display should have title, not too cluttered, indicate size and format of data to be
entered, logical sequence, default values where possible, facility to go back and correct
previous entries, full exit and help facilities
Development - coding and testing of the programs which make up the system and the testing of
the system as a whole
Testing strategies:-
• Bottom-up testing
o each individual module is tested as soon as it is written using pre-prepared data
o each complete program is tested (data chosen to ensure every route is tested,
every statement is executed at least once and to verify the accuracy of the
processing and that it meets the original specifications)
Top-down testing - skeleton of complete system is tested with individual modules being replaced
by stubs which display a message to say a certain procedure has been executed
Unit testing - testing each part of the system (as individual modules are completed)
Black box (functional) testing - carried out independently of the code but considered all inputs
and outputs
White box (structural) testing - program code is studied and each possible path is tested at least
once (will not detect missing functions)
Integration testing - when all modules have been individually tested, they are tested to ensure
they work together correctly
Implementation
Methods of conversion:-
• direct changeover - user stops using the old system one day and starts using the new one
the next
o fast and efficient
o minimum duplication of work involved
o normal operation could be seriously disrupted if the new system had errors or does
not work as expected
• parallel conversion - old system continues alongside the new system for a few weeks or
months
• pilot conversion - new system will be used for a time by only a portion of the organisation
e.g. one branch
Software testing:-
Alpha (acceptance) testing - testing continues until an agreement is reached between the
developer and the system purchaser that the system works correctly and fulfils all the system
requirements
Beta testing - involves giving the package to a number of potential users who agree to use the
system and report any problems to the developers -> detects errors that may not have been
anticipated by the developers
• critical examination of the system three to six months after it has been put into operation
• comparison of system's actual performance with anticipated performance objectives
• assessment of each aspect of the system against pre-set criteria
• analyse errors made during system development
• consider unexpected benefits and problems
Software maintenance:-
• perfective maintenance - making the system better without changing its functionality e.g.
made to run faster
• adaptive maintenance - due to changing needs in the company e.g. adapting a single-user
system to multi-user or due to changes in hardware
• corrective maintenance - correction of previously undetected errors
Installation manual:-
• hardware requirements
• OS requirements
• details of how to install
• how to customise system
• special instructions for multi-user or networked versions
• how to set up new data files or set parameters for first time
• software registration instructions
• upgrade instructions if upgrading from previous versions
Operations manual - used by anyone concerned with the day-to-day operation of the computer
system
User manual - aimed at various levels of end-user (senior managers, middle managers, clerical
workers) who will be using the system
• menu structure
• how to navigate around package
• how to enter data
• format or reports and how to print them
• how to undo actions when an error has been made
• how to get on-line help
• user support telephone number
Training
• users at different levels of the company may require different levels of training
Methods of training:-
• training manual
• on-line tutorial
• video training course
• formal, instructor-led training course
Hardware Devices
Scanner
• shines bright light onto image being scanner while scan head moves from top of document
to bottom at constant rate
• scan head measures intensity of light reflected back from document -> converted to digital
information
• resolution measured in dots per inch
• for colour scanning, three passes of scan head are required (using red, green and blue
filters)
Touch screen
• input signal range divided up into a number of discrete levels (number of levels
determines the resolution with which analogue signal can be reproduced)
• samples of analogue signals taken at frequent intervals and converted to digital values
• computer receives a signal as soon as data is collected and can then decide what action to
take if any
Polled system - computer periodically checks the input level from a device
Turnaround documents - produced as output for one computer process and can be used as input
for another
Networking
WAN - collection of computers spread over a wide geographical area. Communication may be via
microwave, satellite link or telephone line (typically transitory)
Communication links
• Twisted pair (copper cable) -> telephone line (analogue) - cheap, slow transmission rates,
electronic interference
• Coaxial cable - high quality, well insulated, high speeds, more accurate
• Baseband
o carries one signal at a time
• timing signals synchronise the transmission at the sending and receiving end
• no need for start and stop bits for each character (only at beginning and end of whole
block)
• higher transfer rates (but may be more errors)
Multiplexor - combines more than one input signal into a stream of data that can be transmitted
over a communication channel
Demultiplexor - separates the single stream of data into separate components at the receiving
end
• set fixed message path for the duration of the call by operating switches in all exchanges
involved in the path
• electrical interference produced
• type of packet-switching system which can support a wide range of different data types
(e.g. computer data, voice, fax, CD-quality audio, real-time video)
• packets referred to as cells
• digital lines -> noise-free and error-free communication -> high transmission rates
Protocol stack - provides software that enables computers to communicate across a network
Network topology
Bus network
• all components are connected via a backbone (a single cable segment connecting all the
computers in a line)
• entire network will be brought down by a single cable break
• terminator at the end of the line absorbs all signals that reach it to clear the network for
new communication
• data is sent in packets across the network and received by all connected computers; only
the computer with the packet destination address accepts the data
• only one computer can send information at a time
• Ethernet uses a collision system - carrier sense multiple access with collision detection
(CSMA-CD) - if transmitted messages collide, both stations abort and wait a random time
period before trying again
• network performance degrades under heavy load
Ring network
Token passing
• a small packet called a token is passed around the ring to each computer in turn
• to send information, a computer modifies the token, adds address information and sends it
down the ring
Compiled by: Mazhar Javed Awan 48
Quick Revision Notes A Level Computing
• information travels around the ring until it reaches its destination or returns to the sender
• when a packet is received by the destination computer, it returns a message to the sender
indicating its arrival
Star topology
Ethernet - network architecture with several different implementations using different types of
cable
• used when there are more than 3 or 4 computers on a network (can support hundreds of
users)
• client devices send requests for service (e.g. printing, retrieval of data) to specific server
devices
• central backing store available to all users
• software and data centrally held and distributed to clients as they request them
• some processing tasks are performed by the desktop computer and others handled by the
file server
• servers provide network with more speed and power but add expense and complication
• servers may be physically located in a secure office
• user IDs and passwords can be controlled by the central computer
• backup facilities are centralised
• if the central facility goes down, all users are affected
• suitable for a small company (under 10 computers) which does not need the power and
speed of client-server architecture
• data can be easily accessed from any computer
Compiled by: Mazhar Javed Awan 49
Quick Revision Notes A Level Computing
• each workstation can communicate directly with every other workstation on the network
without going through a server
• appropriate when the network users mostly do their own work but occasionally need to
share data or communicate with each other
• if a user wishes to retrieve data from a workstation that is switched off, the data cannot be
retrieved
• storage facilities are distributed throughout the network
• copies of software may be held on individual machines
• security is not centrally controlled
• backup is the responsibility of individual computer users
• easy and cheap to set up and requires no special network OS
Dial-up networking
• user pays for the amount of time spent using the telephone link
• less expensive
• more appropriate for low-volume applications requiring only occasional transmission
Dedicated/leased line
• line is continually available for transmission and the user pays a flat rate for total access to
the line
• transmit data at higher speeds
• more appropriate for high volume transmission
Modem
• converts digital signal received from a computer into an analogue signal that can be sent
along ordinary telephone lines, and back to digital at the other end
• speed measured in bits per second e.g. 56K bps
• parameters must be specified when a modem is installed:
o the telephone number of the ISP
o baud rate of modem
o number of data bits per block
Compiled by: Mazhar Javed Awan 50
Quick Revision Notes A Level Computing
o number of stop bits
o whether odd or even parity is used
ISDN line - requires a network adapter and a network termination device (no modem required)
Cable modems - employ broadband transmission across regular cable television wires
Asymmetric Digital Subscriber Line (ASDL) - offers Internet connection up to 30 times faster than
dial-up modems still using traditional copper wires but allocating more bandwidth to the data flow
from the ISP to the PC than is allocated from the PC to the ISP
Internetwork
• created when two or more independent networks are connected but continue to function
separately e.g. Internet
• in larger networks it is common to supply multiple paths through the network to provide
fault tolerance
Bridge
Router
• can route packets of the same protocol (e.g. TCP/IP) over networks with dissimilar
architectures (e.g. Ethernet to token ring)
• receives transmitted messages and forwards them to their correct destinations over the
most efficient available route
• used to form complex networks with multiple paths between network segments (subnets)
-> each subnet and each node on each subnet is assigned a network address
Gateway
• device that connects networks with different architectures and different protocols
• when packets arrive at a gateway, the software strips all networking information from the
packet, leaving only the raw data
• gateway translates the data into the new format and sends it on using the networking
protocols of the destination system
The Internet
• part of the Internet which allows people to view information stored on participating
computers
• consists of pages that contain information on a particular topic and links to other Web
pages which may be stored on other computers in different countries
• provides users with a connection to the Internet and the software needed to navigate
• routes data between computers and Internet backbone
On-line Service Provider - provides users with access to the Internet and its own private network
of services
• send a message anywhere in the world for the price of a local call (cheaper than fax or
telephone for long distances)
• attach files (e.g. documents, photographs)
• send the same letter to a group of people simultaneously
• much quicker than mail
• helps effective communication (rules of how to set out a letter don't apply)
• you will be automatically notified if the message doesn't reach the address
• pick up your email from anywhere in the world
Telnet - software program that allows users to connect to a remote computer via the Internet and
use the programs on that computer
Disadvantages of email:-
Facilities include:-
Search engine - enables users to search the contents of millions of Web pages simultaneously
Java applets - small Java programs with the extension .class, which can be executed though Web
browsers
HTML (Hypertext Markup Language) - programming language behind every Web page, controlling
how the text and graphics are displayed
FTP (File Transfer Protocol) - used to download files from the Web or upload pages to a Web site
On-line banking e.g. Smile (on-line bank with no branch network to support customers)
• four times cheaper to operate than telephone banking and 10 times cheaper than high
street banking
• fewer high street banks, less office space (fewer overheads), fewer staff
Online shopping
• save on overheads
• 'virtual shop' can have more stock
• 'Just In Time' delivery from suppliers
• list of customers, purchases etc. -> valuable market research tool
• customers can shop at any hour of the day
• customers can hear snatches of music before they buy it
• no jostling crowds
Cybersquatting - speculating domain names in order to try to earn a profit by selling the names
they have registered
Digital certificate
Digital signature
• authenticates the sender, proves that the message has not been tampered with and
prevents the sender from denying having sent it
• mathematical summary (hash code) of document generated and appended to document,
transmitted with it and checked at the receiving end. The slightest difference to the
document will not generate the same hash code
• a programmer signs a program by attaching their digital signature; programs which have a
digital signature are therefore less likely to contain viruses
Encryption
Strong encryption - implies it would effectively be impossible to find the key within the effective
lifetime of the secret
Weak encryption - implies that the key could be found with a realistic amount of processing
capacity and a reasonable amount of time
Factoring - attempting to find the two prime factors of a product (used in encryption)
Firewall - mechanism for protecting a corporate network from external communications systems
e.g. Internet
• consists of a computer containing two network interface cards (NICs) and running a special
firewall program
• one NIC is connected to the company's LAN and the other is connected to the Internet
• computer acts as a barrier through which all information passing between the two
networks must travel
• firewall software analyses each packet of information and rejects it if it does not confirm to a
preconfigured rule
Viruses e.g. Melissa (1999 macro virus) - mailed itself as attachment to first 50 addresses in
Outlook Express Address Book