SOFTWARE
Software is a general term for programs which are written to help computer users.
A software package is a program or set of programs together with a full set of documentation. (Compare this with hardware-see the introduction )
PROGRAM LIBRARIES
A computer installation usually has a centrally held set of software. This is available to authorized users and is referred to as a library of programs.
A program library is a collection of useful working programs and routines which are available to authorized users of the computer system.
A library program is a program which is readily available to users of a computer system as part of its software.
This software may come from:
1 The computer manufacturer-this includes software which is ‘bundled’, i.e. sold as part of the price of the computer system.
2 Software houses – a software house is a commercial organization specializing in the design and preparation of software packages.
3 Within the computer installation.
Programs would not normally be included in the library unless they are:
1 Full tested.
2 Properly documented.
The programs and their documentation would be kept up to date by the computing department. They would receive updates from the people who produce the software.
Evaluation and Use of Software
Evaluation of software means checking to see if it is:
1 Of a good standard.
2 Suitable for a particular application.
Candidates need to evaluate and to use software as part of their courcework. Projects and coursework are also dealt with more generally at the end of the book.
GCSE COURSEWORK
As a GCSE candidate part of your coursework will consist of using a computer to solve a problem. One way you can do this is by writing one or more programs. Alternatively you can, if you prefer, use existing software.
The idea of giving you the choice of using an existing package or writing one yourself is that it is realistic. You are faced with the same kind of situation as people solving problems in business and industry:
1 You have a problem to solve.
2 You design a solution.
3 You investigate what software is available for this kind of application.
4 Having found a possible package you evaluate it-you see whether it is suitable.
5 if the package is satisfactory, then you use it to solve your problem. If no known package is satisfactory, then a program has to be written.
EVALUATION OF SOFTWARE
To see whether a package is suitable for a given problem you should:
1 Read the documentation to see whether:
(a) The program can be used to solve the sort of problem you have in mind.
(b) It is easy to use. Does it tell you clearly what to do? Is it easy to look up things you want to know? Are there good examples?
2 Run the program. Think of some suitable test data first. The data should be chosen to investigate all aspects of the program.
(a) is the program user friendly?
(i) Are the messages clear? When data has to be entered, is it easy to understand what is required?
(ii) Does it sometimes make you wait an unreasonably long time or without explanation?
(iii) Does it make you do more typing than is necessary?
(iv) Can you get the program to do what you want?
(b) Are the methods of input and output the best for your problem? If the program is interactive, is the way you interact with it suitable? A program can be ‘driven’ in several different ways:
(i) By menu. Whenever the user needs to make a decision a set of choices appears on the screen and the user takes one of them.
(ii) By command. The user types a command whenever he/she wants a change in action. This may involve typing words or just pressing function keys on the keyboard. This method requires the user to know what the commands are. You should see whether it is easy to find out what they are if you forget. Possible methods of finding the commands might be:
A ‘HELP’ command you can type to obtain a list of commands. A reference card with the commands on it, supplied with the manual.
A system for labelling keys on the keyboard so that their function is clear. In any case you should check that the method used is reasonable.
(iii) By icons. Often accompanied by use of a mouse.
In this case you should check that the meaning of all the icons is clear. ( for mouse, for icons.)
(d) Is the program robust? A program is robust if it can cope with errors in data while it is running.
Try to make the program go wrong. Enter incorrect data for each response.
A good program will validate all data before processing it. If the data is not sensible, it should find this out and ask you to re-type it.
(e) Is the program versatile and adaptable? Can it cope with a variety of different situations?
(f) Is the program reliable? A program is reliable if it does what the manual says it does.
If your project is to design and write a software package yourself be sure to apply the above tests to your own program. For example, a programming project should be provided with good documentation and the program should be robust and user friendly.
In writing a program it is important to remember that compilers and interpreters are software packages. These also have to be evaluated. At school you may have little choice in this but in business or industry it is an important decision:
1 Which operating system to use.
2 At what level to program-high or low.
3 Which language to use.
4 Whether to use a compiler or an interpreter.
5 Which compiler or interpreter to use. There are often several different compilers of the same language available for a given machine.
USE OF PACKAGES
Because this topic is particularly important to candidates’ project work the examples have been looked at from the point of view of two GCSE candidates.
Examples of use of software packages decided in projects
Spreadsheet
For a GCSE project, Caroline decided to produce price lists for her mother, who is a photographer. Her mother charges for weddings as follows. There is a set fee (at present £80). Customers then pay for each batch of 10 prints. VAT then has to be added at 15 per cent.
Caroline’s idea was to make the computer print out a table showing the cost to the customer for different numbers of prints.
She investigated the idea of writing a BASIC program to do this. However, this seemed quite difficult and would take a long time to do. She finally decided to use a spreadsheet package.
A spreadsheet is a program which provides the user with a large grid. The rows and columns are numbered or lettered so that the user can refer to the slots in the grid (see Fig 1). For example if the columns are lettered A,B,C, … and the rows are numbered 1,2,3,4 . then the 3rd slot across in the 4th row down is referred to as slot C4.
Each slot in the spreadsheet can be filled by one of:
1 A label, i.e. a word or words, usually used to describe the purpose of a row or a column.
2 A value, i.e. a number,
3 A formula. This enables the user to define how slots are linked together. Thus if slot Dl is always found as the sum of slot B1 and slot C1 then slot 01 can have the formula B1 +C1 put into it.
With the spreadsheet program Caroline used, it is possible to replicate slots. This means that slots can be copied into other slots. Formulae can also be replicated relative. This means the formula is not copied exactly but changes as you go across a row or down a column.
Thus if slot D1 contains B1 +C1
slot D2 becomes B2+C2
slot D3 becomes B3+C3, etc.
The spreadsheet Caroline produced was as shown in Fig 1.
——–A——— B ——— C———D———-E
—1 No.of Set Prints VAT TOTAL
—2 prints fee £ cost £ £ COST £
—–3 10 80.00 12.00 13.80 105.80
–4 20 80.00 24.00 15.60 119.60
–5 30 80.00 36.00 17.40 133.40
-6 40 80.00 48.00 19.20 147.20
—7 50 80.00 60.00 21.00 161.00
-6 60 80.00 72.00 22.80 174.80
-9 70 80.00 84.00 24.60 188.60
-10 80 80.00 96.00 26.40 202.40
-11 90 80.00 108.00 28.20 216.20
-12 100 80.00 120.00 30.00 230.00
Fig 1 Caroline’s spreadsheet
The rows and columns took a long time to work out because it is planned so that it can be changed easily. This is so that if any of the prices change not many changes have to be made to the spreadsheet. She actually wrote the spreadsheet as in Fig 2.
——-A,———B———C—— D————- E
—1 No. of Set Prints VAT TOTAL
—-2 prints fee £ cost £ £ COST £
—-3 10 80.00 A3*1.2 (B3+C3) *.15 B3+C3+D3
—–4 A3+10 B3
—–6
—–7
—-8
—–9
——11
——12
Fig 2 The formulae used for Caroline’s spreadsheet
In the package Caroline used, the formulae did not actually appear in the slots, but they have been shown here to show how it was done. The formulae were worked out as follows:
1 The prints cost £1.20 each so the formula for C3 is A3*1.2.
2 VAT is 15 per cent of the sum of the Set Fee and the Prints Cost. Fifteen per cent is the same as 0.15 so the formula for 03 is (B3+C3)*0.15.
3 The Total Cost = Set Fee+ Prints Cost + VAT. The formula for E3 is B3+C3+D3.
4 The number of prints in column A increases by 10 for each row down. The formula for A4 is A3+10.
5 The ‘Set fee’ in column B does not change. The formula for B4 is just B3.
Caroline then obtained formulae for all the other slots by replicating the ones done already.
A |
B |
C |
D |
E |
|
—1 |
No. of |
Set |
Prints |
VAT |
TOTAL |
—2 |
prints |
fee £ |
cost £ |
£ |
COST £ |
—–3 |
10 |
80.00 |
A3*1.2 |
(B3+C3)*.15 |
B3+C3+D3 |
–4 |
A3+10 |
B3 |
A4*1.2 |
(B4+C4)*.15 |
B4+C4+D4 |
—-5 |
A4+10 |
B4 |
A5*1.2 |
(B5+C5)*.15 |
85+C5+D5 |
-6 |
A5+10 |
B5 |
A6*1.2 |
(B6+C6)*.15 |
B6+C6+06 |
—7 |
A6+10 |
B6 |
A7*1.2 |
(B7+CW.I5 |
B7+C7+07 |
-6 |
A7+10 |
B7 |
AS*1.2 |
(B8+C8)*.15 |
BS+CS+DS |
—9 |
A8+10 |
BS |
A9*1.2 |
(B9+C9)*.15 |
B9+C9+D9 |
–10 |
A9+10 |
B9 |
AI0*1.2 |
(BI0+CI0)*.15 |
BI0+CI0+ D10 |
-11 |
A10+I0 |
B10 |
A11*1.2 |
(B11 –C11)* .15 |
B11+C11+D11 |
-12 |
A11 +10 |
B11 |
A12*1.2 |
(B12+C12)*.15 |
BI2+C12+012 |
Fig 3 Caroline’s spreadsheet after all the formulae have been replicated
The computer was then given the instruction to calculate the spreadsheet. This produced the full table with numbers shown in Fig 1.
Finally the spreadsheet was printed out but without the letters A,B,C … above the columns or the row numbers.
File handling
There are many program packages which allow the user to:
1 Design and create data files.
2 Retrieve selected information from these files.
These may be described as file management or file enquiry or even database packages.
The title ‘database package’ is really too grand for many of these, particularly those for microcomputers. ( database management packages.)
Chris wanted to create a file containing details of his music collection. This consists of records, cassettes and a few compact discs, as his parents have a CD player. His idea was to store data describing each album and where it is kept in his music cupboard. He would then be able to retrieve information such as:
1 Where an album is kept or
2 How many albums there are by a particular artist, etc.
Chris tried to design a program which would store the data in a sequential file. He would write three separate programs:
1 To create the file in the first place.
2 To update the file.
3 To retrieve data from it.
The second of these programs was going to be difficult because a sequential file cannot be updated directly. A new file has to be written each time . Chris did not know how to program direct access files. Also the third program was going to be long if it was going to allow the user a large number of choices.
Chris’s teacher then showed him a file enquiry package which seemed to do all the things that Chris wanted. He decided to use it.
He then had to carry out the following steps, using the manual and the instructions from the program:
1 To run the program taking the ‘FILE CREATE’ option. Then type in as requested.:
Filename : CHRISMUSIC
Maximum number of records : 50
Number of fields : 6
2 To define the different fields in one record of the file. The program asked for:
(a) The name of the field-this would be used later when retrieving information.
(b) Its length-the largest number of characters in the field.
(c) A description-this is an explanation that the user can read if it is not clear what a field represents.
Chris typed these in as follows-
Fieldname Fieldlength Description
TITLE 20 Title of the album
ARTIST 20 Singer or group
LABEL 12 Producing company
MEDIUM 1 T(Tape cassette), R(Record) or C(Compact Disc)
YEAR 4 Year of production
SLOT 2 Number of slot in music cupboard
3 To type in the actual data. The computer goes through the file requesting data. The first few records which Chris typed in are given below:
RECORD NO. 1
TITLE ? LONDON 0 HELL 4
ARTIST ? THE HOUSEMARTINS
LABEL ? GO! RECORDS
MEDIUM ? R
YEAR ? 1986
SLOT ? 11
RECORD NO. 2
TITLE ? BROTHERS IN ARMS
ARTIST ? DIRE STRAITS
LABEL ? PHONOGRAM
MEDIUM ? C
YEAR ? 1985
SLOT ? 15
RECORD NO. 3
TITLE ? ONCE UPON A TIME
ARTIST ? SIMPLE MINDS
LABEL ? VIRGIN
MEDIUM ? T
YEAR ? 1985
SLOT ? 3
RECORD NO. |
4 |
|
TITLE |
? |
FAME AND FASIIION |
ARTIST |
? |
DAVID BOWLE |
LABEL |
? |
RCA |
MEDIUM |
? |
R |
YEAR |
? |
1984 |
SLOT |
? |
11 |
Once the data was entered Chris could easily update any records using the ‘EDIT’ facility on the program.
He was also able to make enquiries about the file as follows:
1 The program has a ‘FIND’ option which will find all the records which fit a given set of conditions.
|
TITLE, ARTIST, YEAR, SLOT |
FIND |
((YEAR= 1985) OR (YEAR= 1984)) AND MEDIUM=T |
Chris was able to find all his cassettes which were produced in 1985 or 1984. The records found with this enquiry included:
TITLE |
ARTIST |
YEAR |
SLOT |
ONCE UPON A TIME INTO THE GAP MAKE IT BIG |
SIMPLE MINDS THOMPSON TWINS WHAM! |
1985 1984 1984 |
3 4 4 |
Both Caroline and Chris had to produce a fully documented project including a report on what they did, their test data and evidence of their output. Details of what to do to produce this type of project are given later under the heading Projects and Coursework at the end of the book.