Community resourceWorksheet
OCR H446 1.2.3 Software Development mastery and transfer
Part 5 of 6 · H446 1.2.3 · Software development
One ticketing project carries both halves of H446 1.2.3 here: methodology reasoning in the first episode, then algorithm tracing and construction in the second. Nothing new is taught, so it works as consolidation once both strands have been covered separately.
Students will:
- give paired differences between waterfall and spiral for a single described project
- organise a project using one methodology or a clearly explained combination
- explain how changed constraints alter the earlier methodology reasoning
- trace a supplied algorithm and account for how the final total is formed
- write code that uses a supplied function, stores its results and appends a total to a file
Inside: 5 explanation cells, 2 fill-in-the-blanks cells, 6 written answers and 1 trace table. 49 marks, about 50 to 65 minutes.
Series: H446 1.2.3 · Software development, part 5 of 6.
Shared by Coding PathwayVerified teacher
- 14 cells
- About 60 minutes
- CC BY-SA 4.0
- Shared 31 Aug 2026
- Updated 15 Sept 2026
Preview
The whole resource, exactly as a class sees it. Answers and marking are held back.
Software Development mastery and transfer
This worksheet combines methodology selection with algorithm work. Begin with closed-book retrieval. In each answer, use the project evidence and show the complete path from input or decision to the required result.
Part A: choose and compare development approaches
A theatre group needs ticketing software. The pricing rules are fixed. Volunteers can review the public interface, while connection to a payment provider creates unresolved security risk. Different parts of this project point towards different approaches, so justify each choice carefully.
- waterfall
- spiral
- RAD
- XP
- agile family
Give two differences between waterfall and spiral that matter to the theatre project.
For each difference, compare the same feature on both sides and explain why it matters here.
Students type their answer here.
Recommend how the theatre team should organise the project. You may choose one main methodology or combine approaches if you explain the separate purpose of each.
Use the fixed pricing rules, volunteer interface feedback, payment-security risk and need for project control. Include at least one limitation of your recommendation.
Students type their answer here.
The volunteers are no longer available for reviews, and the payment provider supplies a proven, fixed interface. Explain two ways this new information should change the earlier recommendation.
Reconsider which approaches have lost or gained support. Do not defend the original answer automatically.
Students type their answer here.
Part B: follow, correct and write algorithms
The project context now changes from planning the development to constructing a correct solution. Treat the supplied fee(age) function as an existing component: call it and use the value it returns.
Follow the ticket-fee algorithm
The theatre supplies fee(age), which returns an integer booking fee. Track each returned fee separately from the final total printed by the main algorithm.
Trace the supplied algorithm. Record age, total and output for ages [17, 25, 12].
Enter a value only when it changes. Record returned and printed values in order.
Use one row for each statement as it runs. Fill in a box only when that value changes on that row, and leave the rest blank.
def fee(age):if age < 16:return 1if age < 21:return 2return 3ages = [17, 25, 12]total = 0for age in ages:total = total + fee(age)print(total)
| Row | ages | total | age | age (fee) | Return value | age < 16 | age < 21 | Output |
|---|---|---|---|---|---|---|---|---|
| 1 | ||||||||
| 2 | ||||||||
| 3 | ||||||||
| 4 | ||||||||
| 5 | ||||||||
| 6 | ||||||||
| 7 | ||||||||
| 8 | ||||||||
| 9 | ||||||||
| 10 | ||||||||
| 11 | ||||||||
| 12 | ||||||||
| 13 | ||||||||
| 14 | ||||||||
| 15 | ||||||||
| 16 | ||||||||
| 17 | ||||||||
| 18 | ||||||||
| 19 | ||||||||
| 20 | ||||||||
| 21 | ||||||||
| 22 |
State the fee returned for each age and explain how the algorithm forms the final total.
Give the three returned values, explain the accumulator update and distinguish those returns from the single printed output.
Students type their answer here.
A student copies the body of fee into the loop. They also call fee(age) on a line by itself and then add an undefined variable called charge. Identify two faults and write a correct loop body.
Call the supplied function once for each age and add its returned value to `total`.
Students type their answer here.
Write coherent pseudocode or program code that inputs four ages. For each age, call fee(age) and store the returned fee. Output the total of the four fees, append the total to daily.txt and close the file.
Use a loop. Check each requirement separately and do not rewrite `fee`.
Students type their answer here.
Review your responses
Check the methodology answers for accurate process detail, use of the theatre evidence and a supported conclusion. Check the algorithm answers for every input, call, returned value, update, output and file operation required by the task.