Past questions › sdd2022-q27
2022 10 marks Extended response The Software Engineering Project (Year 12) Modelling and design (IPO, data structure, Gantt)
NESA 2022 HSC Software Design and Development (OLD syllabus) - Section II Question 27, with NESA Marking Guidelines
A fast-food ordering system is being developed for a restaurant. Authorised customers will be able to select available food items. The system will: • authenticate the customer • allow the customer to input their food choices • calculate and display the total cost of the food items • determine if the customer qualifies for a 10% discount on their order. This occurs when their total purchases to date exceed $100 • electronically transfer the amount due from the customer’s account to the restaurant’s account • add the total cost of this order to the customer’s total purchases to date. (a) | Create an IPO diagram to represent the required processing in this system. | 4 (b) | Design an appropriate data structure to store customer details for this fast-food | 3 ordering system. Do NOT include food choices in this data structure. (c) | Before the start of the development of this fast-food ordering system, the project | 3 manager was provided with information about the project team, including how many members are available and their skills. Describe how the project manager can use Gantt charts effectively throughout the development of this system.
Marking criteria
[Question 27 (a)] Criteria | Marks • Creates a substantially correct IPO diagram, with details for all processes (authentication, purchase, EFT) • Creates a partially correct IPO diagram, with details for most processes | 3 • Demonstrates reasonable understanding of an IPO diagram with at least one process addressed • Demonstrates some understanding of an IPO diagram | 1 Criteria | Marks • Provides an appropriate data structure, with fields, data types and sizes required to complete the specified processing • Provides a substantially correct data structure | 2 • Demonstrates some understanding of an appropriate data structure | 1 Criteria | Marks • Describes the project manager’s use of a Gantt chart throughout the development of this system, with reference to time and skills • Shows some understanding of how a project manager can use a Gantt chart • Provides some relevant information | 1
Sample answer
Sample answer: Input | Process | Output CustomerId | Use CustomerId to retrieve Customer Record | “No such Customer” Password | Check entered password matches stored | “Incorrect Password” Customer File | password ItemNumber | For each item Quantity | Use ItemNumber to retrieve Item record from | Display Item.Name, Item File | Item File | Item.Cost Cost = Item.Cost * Quantity TotalCost = TotalCost + Cost IF TotalCost + Customer.PurchasesToDate > 100 THEN TotalCost = TotalCost ´ 0.9 Add TotalCost to Customer.PurchasesToDate Rewrite Customer Record | Updated customer file Display TotalCost TotalCost | Transfer TotalCost from customer account to | Updated accounts restaurant account
[Question 27 (b)] Sample answer: A record to be stored in the Customer File with at least the following fields: Customer Id | Text | 6 characters Password | Text | 20 characters Total Purchases to date | Real | 4 bytes BSB | Text | 6 characters AccountNum | Text | 9 characters
[Question 27 (c)] Sample answer: Using a Gantt chart, the project manager needs to identify each required task (such as authentication, customer input of food choice), allocate a time frame for each and identify the order and linkages / dependencies between the tasks. The project manager allocates team members to tasks that meet their skills, while not allocating overlapping tasks to the same team member. The project manager can use the Gantt charts to monitor progress, extending individual task time frames and reallocating team members as required.