Heq-Apr23-Cert-Software Development
Heq-Apr23-Cert-Software Development
SOFTWARE DEVELOPMENT
The marks given in brackets are indicative of the weight given to each part of the question.
c) With respect to this example, explain the difference between calling a function by a) What is acceptance testing and what are the expected outcomes of acceptance testing
value and by reference. from a software developer perspective?
(5 marks) (6 marks)
d) Explain the difference between functions and procedures. b) Explain the concept of software maintenance and briefly outline the role of software
(5 marks) maintenance during the lifetime of a software product.
(6 marks)
A2. B12.
a) Describe the key principles and controls used by interface designers in each of the a) Describe the characteristics of a CSV file.
following areas: (4 marks)
i) Navigation design; (6 marks)
ii) Input design; (6 marks) b) A given CSV file contains three values in each line in the file. Use pseudocode to
iii) Output design. (6 marks) design a program which searches sequentially through the file reading one
row/record at a time for a particular value in the first field. If the value matches the
b) Outline the key techniques that a software developer can employ to evaluate the search value, it adds 1 to a running total. The running total is output when all
usability of a User Interface. rows/records have been read and searched.
(8 marks)
(12 marks)
END OF EXAMINATION
Page 2 of 7 Page 7 of 7
B6. A3.
Consider the following lists of data. You can assume these represent a small sample of larger Consider the following diagram:
data sets:
List1: 3 16 13 9 15 12 2 10 14 8 7 1 6 4 11 ... …
List2: 14 1 5 6 13 12 3 11 15 4 7 8 10 2 16 … …
Also consider the following processing tasks (Task1 and Task2) on the above lists:
Task1: Find data elements from list 1 that are also present on list 2.
Task2: Merge the two lists to remove duplicate values.
a) Outline in no more than TWO sentences why it is beneficial to sort the lists of data
before carrying out Task1 above.
(2 marks)
b) Describe using pseudocode how Task1 is processed using sorted lists of data. The circle shown has a radius of 1. The area of the circle can be calculated using the
(6 marks) formula ߨ ݎଶ and is therefore equal to ߨ.
c) Describe the Big O notation and briefly explain how, in this case, it indicates that using
Consider the top right-hand quadrant of the diagram. A quarter of the circle is in this
sorted data would increase the speed of processing of Task2.
quadrant with area .25ߨ. The square in this quadrant has a side which is one unit in length.
(4 marks)
Therefore, the area of the square is 1.
x Print outs of the Source code; b) Explain how you might test this code and state whether a white box or a black box
x Screen shots showing the program execution; testing methodology would be appropriate.
x A flowchart outlining the program design; (5 marks)
x Results of running unit tests on different parts of the code.
c) What factors might influence the accuracy of the output from the program?
(6 marks)
(5 marks)
b) Explain the role of black box testing and give a couple of examples of documentation
arising from black box testing that could be used to help debug the program.
(6 marks)
[Turn Over]
Page 6 of 7 Page 3 of 7
A4. Section B
Answer 5 questions (out of 8). Each question carries 12 marks.
a) What techniques should a programmer use to make their code as readable as
possible?
(10 marks) B5.
b) Explain the difference between user documentation and system documentation. A geometric progression is a sequence of terms in which each term is a constant multiple of
(10 marks) the preceding term.
c) Discuss the design issues you would consider when constructing a web site to 2, 6, 18, 54, 162 is an example of a geometric progression.
document a software system.
(10 marks) This can be expressed algebraically as follows:
Where “a” is the initial value, “r” is the common ratio and “n” is the number of terms. In the
example above a = 2, r = 3 and n = 5.
b) Write a function called fnSumofGP(a ,r, n) that returns the SUM of the terms that form
the geometric progression, where a, r and n are the required input parameters of the
function. For example, using geometric progression in part a) above, the SUM returned
is: 127.50
(5 marks)
c) Write a program that checks if n >=1000 and r is between -1 and +1. If TRUE, the SUM
of a geometric progression is computed using the following expression.
SUM = a / (1-r)
If FALSE, the program calls the function fnSumOfGP as described in part b).
(5 marks)
[Turn Over]
Page 4 of 7 Page 5 of 7