A coffee shop runs a computerised loyalty card system. Customers are issued with a loyalty card with their name together with a unique customer ID. Loyalty points are added to their card each time they spend money at the shop. The following information is stored for each customer: ID, name, home address, email address, mobile phone number, date of birth, number of points, date of last visit and amount of money spent at last visit. A new module will generate a personalised email message to each loyalty card customer who has not visited the coffee shop in the last three months. The message will include a unique voucher code which can be used to authorise a discount if the customer goes to the shop within the next two weeks.
- (a)Identify three items of customer information that will be used by the new module and justify your choices. Item 1 Justification Item 2 Justification Item 3 Justification[3]
- (b)Identify the computational thinking skill that you needed to use to answer part (a).[1]
- (c)It is decided to adopt a formal program development life cycle model for the development of the new module. The analysis of the new module is complete and the project moves on to the design stage. During this stage all the necessary algorithms and module designs will be defined. State three other items that will be defined for the new module during the design stage. 1 2 3[3]
- (d)Part of the coffee shop program contains three program modules as follows: • Module Init() has no parameters and returns a Boolean. • Module Reset() takes a string as a parameter and returns an Integer. • Module Check() repeatedly calls Init() followed by Reset(). Draw a structure chart to represent the relationship between the three modules, including all parameters and return values.[3]
This question uses a diagram from the original paper, which isn't shown here. Open the full paper from the past papers archive to see it.
Mark scheme
Marking points from the official mark scheme (Oct/Nov 2024). The mark or mark type is shown in brackets.
- [1] Customer ID - to reference the other customer details
- [1] Email address - to send the email
- [1] Name - to personalise the email
- [1] Date of last visit - to select which customers should receive an email
- [1] Unique voucher code (or method of code generation) – to include in the email
- [1] Abstraction
- [1] Data structures // data dictionary // identifier table(s) // validation rules
- [1] Data-flow diagram // state-transition diagram
- [1] User interface // Format for the email
- [1] Testing method / Test plan / Test data / Trace tables
- [1] Choice of email protocol to be used // Programming language to be used // Development environment
- [1] Use of library routines // program to send the email
- [1] Three boxes correctly labelled and correct hierarchy
- [1] Parameter and return values
- [1] Iteration arrow
Write your answer and get it marked
On Oracle Prep you can write or photograph your own answer and have it marked by AI against this mark scheme, with feedback on what you missed.
Sign up free →