Data Exploration
March 24, 2020
Challenges of Social Enterprises Custom Essay
March 24, 2020

SECTION I

SECTION I
Software Development & Developing a Software Solution
Answer ALL questions in this section.
1.
A large supermarket is undertaking a project to introduce small electronic tags
embedded in products. When an electronic reader sends out a wireless signal the tags
respond by sending a code to the reader. The supermarket hopes to improve:
• stock control by using the electronic reader to count stock in the warehouse
• checkout by scanning an entire trolley’s contents using the electronic reader
• the re-stocking of shelves by scanning for low or missing stock items.
(
a
) The supermarket begins by creating a document which outlines its
requirements.
State the name of this document.
(
b
) The supermarket appoints a project leader. The project leader commissions a
study to investigate issues such as the transmission range of electronic tags and
the costs involved.
(i) Name the study that investigates these issues.
(ii) The study investigates
technical
,
legal
,
cost
and
time
issues. State
two
other
outcomes which would be of benefit to the supermarket of such a study.
(iii) The supermarket chooses to continue with the project. State
one
method
that the project leader could employ to plan the project effectively and
explain why it improves project management.
(
c
) A systems analyst is appointed to write an
operational requirements document
(
ORD
).
(i) The ORD will contain the functional requirements specifying exactly what
the proposed system will do as well as budgetary considerations.
State
three
other items specified in the ORD.
(ii) The ORD is a legally binding document.
State
one
other use for the ORD during the development of software.
(
d
) A project team is formed. The project team intends to make use of
Computer-
Aided Software Engineering
(
CASE
)
tools
.
State
one
way in which CASE tools used in one stage of the software
development process may lead to automation of later stages.
(
e
) On completion of the implementation stage of the project the programmers
begin testing. A document specifying a range of test data is created.
(i) During this testing the software stops responding.
Describe how the software development environment could be used to
identify the problem.
(ii) State
two
examples of documentation that would be created during the
testing stage.
(iii) Describe how the supermarket could
beta test
the software.
(continued)
2.
A keyboard buffer stores keystrokes until they are ready to be processed. The
keyboard buffer uses the
queue
data structure. The queue is held within in a 1-D
array that can hold a maximum of ten characters. The diagram shows the current
state of the array containing the queue.
In the array the characters C and A have been processed. The queue currently
contains the letters L, E and D. The variable storing the index of the next item to
be processed is called
front
and therefore has the value 2. The variable
rear
stores
the value 4.
(
a
) Explain why the characters L, E and D have not been moved to the locations
identified by indices 0, 1 and
2 after characters C and A have been processed.
(
b
) State the values stored in the variables
front
and
rear
after the characters O
and N have
been added and a further three characters removed from the
queue.
(
c
) Characters will continue to be added and removed from the queue held in the
1-D array.
(i) State the problem encountered as characters continue to be added and
removed.
(ii) Describe how to solve the problem encountered in (i).
(
d
) Another data structure used in programming is a
stack
.
(i) Explain how the operation of a stack data structure differs from a queue.
(ii) Explain why a keyboard buffer does not use a stack data structure.
[X206/701]
front rear
index
array values
queue
0123456789
C A L E D . . . . . . . . . . . .

SECTION I (continued)
3.
A student is comparing the efficiency of the
linear
and
binary
search algorithms.
She begins by investigating the performance of the binary search algorithm on the
list shown below.
1. set lower to lowest index
2. set upper to highest index
3. loop
4. set middle to (lower+upper) div 2
5. if search_value> list[middle] then
6. lower=middle+1
7. else
8. upper=middle –1
9. end if
10. until list[middle] =search_value or lower>upper
11. if search_value= list[middle] then
12. write ‘Search item was found at’, middle
13. else
14. write ‘Search item is not in list’
15. end if
(
a
) State the essential requirement of the list for a binary search to function
correctly.
(
b
) On the first pass through the algorithm the variable
lower
will store the value
0 and the variable
upper
will store the value 14. This means that
middle
is 7
and the array item 62 would be checked to see if it is the search item.
Which number would be found on the second pass if the search value was less
than 62? Explain your answer.
(
c
) The linear search algorithm would require one pass to find the number 8
stored at index 0 but the binary search would require four passes. Explain
which algorithm would be more efficient at finding the number 26 stored at
index 2.

8
12
26
42
48
49
60
62
65
71
88
89
90
92
99
01234567891011121314
Index
Array values