Example Enterprise Project

A fictional Year 12 project, Canteen Insights, followed through NESA’s four stages with the real artefacts at each one and a live sales and stock dashboard you can use in your browser. Notation from the NESA Enterprise Computing Course Specifications (© NESA).

Resources Fictional worked example Live dashboard
Start here A worked example project

Meet Canteen Insights

Start here A fictional Year 12 project, followed from problem to evaluation

This project is fictional

Canteen Insights, the student Jordan, the canteen manager Sandra, the peer tester Priya, Kestrel Ridge High School and every survey result, quote, date and number on this page were invented for these notes. The sales data are generated by a program. Nothing here describes a real school, person or canteen.

Canteen Insights is a sales and stock dashboard for a school canteen. The canteen manager, Sandra, wants to see what sells, when it sells and what to reorder, so that popular items stop running out and fresh food stops being thrown away. Jordan, a Year 12 student, builds it as an HSC enterprise project.

How this page is organised

NESA describes the design and production process in four stages. This page follows them in order, and each stage shows the real artefacts a marker or client would expect to see, not a description of them.

StageWhat Jordan producedWhere
Identifying and definingProblem definition, requirements and constraints, Gantt chart with resources, social, ethical and legal reviewProblem, Requirements, Schedule, Ethics and law
Researching and planningInterview and survey results, data flow diagrams, system flowchart, decision tree, data dictionary, schema, storyboard, approach and budgetResearch to Budget
Producing and implementingA live dashboard, the SQL and spreadsheet formulas behind it, an implementation planDashboard, Queries, Implementation
Testing and evaluatingLive test table, verification and validation, client feedback, evaluation, maintenance plan, process diaryTesting to Diary
FinishA table linking every NESA dot point in the Enterprise project focus area to where this page shows itSyllabus map

The syllabus explanations live in the Enterprise project notes, and the management techniques are explained in the Project Management Guide. This page is the worked example that sits between them. Diagram notation follows NESA’s Enterprise Computing Course Specifications (© NESA), redrawn for these notes; the official document is on NESA’s website ↗.

How to use this page

Read it as a model, not a template. Notice what makes each artefact useful to someone who was not there: a named owner, a date, a measurable criterion, an expected result. When you build your own project, ask of every artefact whether a stranger could use it to check or rebuild your work.



Part 1 Identifying and defining

The Client and the Problem

Artefact Client profile and problem definition

Problem definition

The client and the setting

Sandra manages the canteen at the fictional Kestrel Ridge High School. She works with a small team of paid staff and parent volunteers, serving about the same set of twelve items every day. Sales are rung up on a till that can export a weekly file of what was sold. Orders to suppliers are placed on Fridays, and fresh food such as pies and rolls is prepared each morning.

At the moment Sandra decides how much to order and prepare from memory and a paper stock sheet that is counted by hand on Friday afternoons. The till export is filed and never looked at.

Problem statement

Problem statement (approved 10 July 2026). The canteen manager cannot easily see which items sell, on which days, or how much fresh food is thrown away, so she orders and prepares by habit. Popular items sometimes sell out and other items are wasted. She needs a simple way to see sales and waste, and to be told what to order next week.

A good problem statement names who has the problem, what is going wrong and what a solution must let them do, without describing the solution. Jordan deliberately did not write “build a dashboard”: a spreadsheet, a printed report or a better paper stock sheet might have solved it too, and choosing between them is part of the project.

Success criteria

Success criteria turn the problem into something that can be checked at the end. Jordan and Sandra agreed these four, and the evaluation comes back to each one.

#CriterionHow it will be measured
1Sandra can read the top seller and the waste percentage for any chosen weeksTimed trial with Sandra: under one minute, with no help
2The dashboard’s totals match the till’s own figuresThree-way check of the dashboard, a SQL query and a spreadsheet on the same records
3Sandra receives a reorder list she trusts and can explainThe rules are written as a decision tree that Sandra approves; each suggestion shows the rule used
4Nothing collected identifies a student or staff memberReview of the till export and the stored fields

Stakeholders

A stakeholder is anyone affected by the system. Sandra is the client and the main user. Canteen staff and volunteers count stock and would enter corrections. Students are affected indirectly by what the canteen stocks, but never use the system. The school leadership cares about food waste and cost, and the supplier receives Sandra’s orders. Jordan is the developer, and Priya, another student, agreed to act as a beta tester.

Problem definitionA statement of who has a problem, what is going wrong and what a solution must achieve, written before any solution is chosen.
StakeholderA person or group who is affected by the system or can influence it.
Success criterionA measurable statement that shows whether the project solved the problem.

Requirements and Constraints

Artefact Functional and non-functional requirements, with constraints

Requirements specification

Requirements say what the system must do or be. Functional requirements describe behaviour, such as calculating waste. Non-functional requirements describe qualities, such as speed, accessibility or privacy. Each has a priority (Must, Should, Could) and, importantly, a way of being tested, shown in the last column.

IDRequirementTypePriorityEvidence (see tests)
FR1Show revenue, items sold, top seller and waste percentage for any chosen weeksFunctionalMustN1, N2, N6, B1
FR2Filter by week range, category and itemFunctionalMustB1 to B3, E9, E10
FR3Show sales over time, sales by category and an item-by-weekday summaryFunctionalMustClient trial
FR4Suggest what to reorder using rules agreed with the clientFunctionalMustN3, B8, B9
FR5Let the manager test a change of price or quantity and see the projected effectFunctionalShouldN4
FR6Let the manager correct a day’s counts, refusing impossible valuesFunctionalMustN5, B4 to B7, E1 to E8
NFR1Easy to operate: the manager finds the top seller and waste percentage within a minute, untrainedNon-functional (usability)ShouldClient trial
NFR2Accessible: usable by keyboard, charts have text alternatives, readable on a phone, respects reduced-motion settingsNon-functional (accessibility)MustChecked in two browsers
NFR3Private: collects and stores no personal informationNon-functional (privacy)MustDesign review
NFR4Reliable: totals agree with the till’s own reportsNon-functional (reliability)MustN6
NFR5Quick: every panel recalculates after a filter change with no noticeable delayNon-functional (performance)ShouldClient trial
NFR6Compatible: runs in the browsers on the canteen laptop and Sandra’s phone, with nothing to installNon-functional (compatibility)MustChecked on both devices
NFR7Maintainable: each business rule lives in one place and is documentedNon-functional (maintainability)ShouldDocumentation trial

Constraints

A constraint is a limit the project has to live with. Unlike a requirement it is not negotiable by adding effort.

ConstraintDetailHow the project responds
TimeSix weeks, from 6 July to 14 August 2026Fixed scope of Must items; Should items dropped first if the plan slips
SkillsJordan knows HTML, JavaScript and spreadsheets; no server programmingThe dashboard runs entirely in the browser
MoneyAlmost none: the school has no budget for softwareFree tools only; see the budget
Hardware and dataOne canteen laptop; the till exports a file each week and has no live linkWeekly import of a file rather than a live feed
Client availabilitySandra is free for about half an hour twice a weekFixed check-ins; decisions saved up for them
PolicyThe school’s healthy-food guidelines and privacy obligations applyReviewed in the next section
Exam guidance

A question that says identify or describe requirements is usually looking for a functional and a non-functional example, each tied to the scenario. “Fast” on its own scores poorly: “a filter change recalculates every panel without a noticeable delay” is testable. Do not confuse a constraint (a limit on the project, such as the budget) with a requirement (a property of the system).


Time and Resources: the Gantt Chart

Artefact Gantt chart with resources and percentage complete; weekly action plan

Project plan

Jordan broke the six weeks into four phases that follow NESA’s stages, gave every task a self-explanatory name, an owner and a duration, marked the dependencies and put a milestone at the end of each phase. The chart below is the version at the end of Wednesday 29 July 2026, when the plan was updated with actual progress, as NESA asks (“charts should be regularly updated during development to reflect actual versus estimated times”).

Gantt chart

Gantt chart: the Canteen Insights project, with resources and progress

Six weeks, four phases, four milestones, with the work done shown as the solid part of each bar.

What to notice
  • Each task has an owner (Jordan, Sandra or Priya) and a percentage complete. The solid part of a bar is done, the pale part remains.
  • Arrows show dependencies: “Add reorder list, data checks” cannot start until “Add filters, pivot, what-if” is finished.
  • Task 14 is 50% complete but 75% was planned by the status line (the dotted line). That is a warning to act on, not a failure to hide.
  • Hollow diamonds are milestones: dates when something is approved or delivered, with no duration.

Try thisWork out which later tasks move if task 14 finishes on Friday 31 July instead of Thursday 30 July. Which milestone is at risk, and what would you drop first?

Reading the plan

The plan is a time and resource management tool because it answers four questions at a glance: what has to happen, in what order, who is doing it and whether the project is on track. At the status date, Phase 3 is 54% complete: the two finished tasks (2 and 3 days long), the half-finished filters task (4 days at 50%) and the unstarted reorder task add up to 7 of 13 working days. Phase 3 was expected to be further ahead, so Jordan did three things that day: recorded the reason in the process diary, moved the optional “export chart as an image” feature into a “Could” list, and used the spare Friday as a buffer.

Time/task action plan for the week

The Gantt chart shows the whole project. A time/task action plan zooms in on the next few days, so nothing depends on memory. This is Jordan’s plan for the week beginning Monday 27 July.

DayTaskOutputDone whenStatus at end of Wed 29 Jul
MonWeek-range and category filtersFilters working on the KPI tilesTotals change correctly for three test filtersDone
TueItem filter and reconcile rulesItem list follows the categoryChanging the category clears an item that no longer fitsDone
WedItem-by-weekday pivot tablePivot with totals and shadingGrand total equals the KPI totalIn progress
ThuWhat-if sliders and modelProjected revenue and wasteNo-change setting gives a change of $0.00Not started
FriBuffer, client check-in with SandraFeedback recordedSandra has seen the pivot tableNot started (buffer day)
Where the plan meets the syllabus

Both tools sit under “time and resource management”, which the Enterprise project notes explain in general terms. The notation used here is NESA’s (Course Specifications p.12, example 2). The Project Management Guide covers critical paths and how to recover a late task.

Exam guidance

A Gantt question usually gives a task list with durations and dependencies and asks you to draw or complete the chart. Award yourself marks for a dated time scale, task names, correct start and end positions, dependency arrows, at least one milestone, and, if resources are asked for, a name against every bar. If percentage complete is required, the solid part must match the number.


Part 2 Researching and planning

Interviews, Surveys and Prototypes

Artefact Research summaries, analytical report extract, prototype log

Requirements research

Jordan used more than one research tool, because each answers a different question. Interviews give depth, surveys give breadth, an analytical report of existing data gives evidence, and prototypes test ideas cheaply.

Interview with the client

A structured interview asks the same planned questions in the same order and records the answers. Jordan interviewed Sandra on Monday 6 July for 30 minutes, with open questions that invited stories rather than yes or no answers.

QuestionSummary of the answer
Walk me through how you decide what to order each week.Looks at last week’s paper stock sheet on Friday, adds a bit “if the weather is cold”, and phones the order through. No sales figures are used.
What happens to food that is not sold?Most fresh food is thrown out. Sandra thinks rolls and fruit are the worst but has never measured it.
Which decisions would you most like help with?How many of each fresh item to prepare each day, and what to order for next week.
Who will use it, and on what?Sandra, on the canteen laptop and sometimes her phone. Volunteers only enter corrections.
What must it never do?Show which student bought what, or need anyone to install anything.

“I know we run out of pies on Fridays. I don’t know how often, and I can’t tell you what it costs us.”

Sandra, canteen manager (fictional), interview, 6 July 2026

Surveys

A survey collects the same answers from many people, so results can be counted. Jordan ran two short paper-and-form surveys on Tuesday 7 July and Wednesday 8 July: one of students (to test how common sell-outs are from the customer’s side) and one of canteen staff and volunteers (to find out how fresh-food quantities are decided today). Both were anonymous.

Sample question: “This term, how often have you found the item you wanted sold out at the canteen?” with fixed choices, so answers can be counted. A poor version, “Do you like the canteen?”, would not have led to any decision.

Student survey (64 responses)NeverSometimesOften
Found the item you wanted sold out14 (22%)34 (53%)16 (25%)
What would improve the canteen most? (64 responses)ResponsesShare
Shorter queues2133%
More fresh and healthy choices1930%
Nothing sold out1523%
Lower prices914%
Staff and volunteer survey (6 responses): how do you decide how many pies to prepare?Responses
The same as last week3
Ask the manager2
Guess from the weather1

Read the results critically. Nearly four in five students have met a sell-out at least sometimes, which supports the problem. But a sample of 64 students who chose to answer may not represent the school, and “shorter queues” came first, so a dashboard cannot claim to fix everything students want. Jordan wrote that limitation into the report below.

Analytical report from existing data

The most convincing evidence was already in the till export. Jordan loaded eight weeks of it into a spreadsheet and summarised what it showed. This is an extract from the report.

Findings, weeks 1 to 8 (fictional data). Meat pies were sold out (everything prepared was sold) on 8 of 8 Fridays. Overall, 8.0% of the items put out for sale were thrown away, costing $2,151.60 at cost price. Waste is concentrated in fresh food: ham salad rolls 22.7%, toasties 19.9%, fruit cups 19.6% and sausage rolls 17.1%, against 9.0% for pies.

Recommendation. Prepare more pies on Fridays and fewer on Mondays, and cut the preparation of rolls, toasties and fruit cups. Test the changes in a pilot before applying them to every item.

Limitation. The till records what was sold, not what customers wanted. On the days pies sold out, real demand was higher than the figures show.

Presenting the research

Jordan presented these results to Sandra and three volunteers in a ten-minute session using five slides. The aim of a presentation of research results is agreement on what to build, so each slide carried one message and one chart or table.

SlideMessageEvidence shown
1The problem in one sentenceThe approved problem statement
2Sell-outs are realStudent survey chart; pies sold out on all 8 Fridays
3Waste is concentratedWaste percentage by item, from the till export
4What the system will and will not doRequirements list; the out-of-scope items
5What we decide todayApprove the requirements, book the Thursday check-ins

Prototypes

A prototype is a trial version built to test an idea before the full system exists. Jordan built four, each answering one question and each cheaper than the mistake it prevented.

PrototypeFormDateQuestion it answeredResult
P1Spreadsheet with a pivot table of the exportFri 10 JulIs there anything useful in the data?Sandra immediately asked why pies were gone every Friday, and wanted weekdays as columns. Weekday view added to the requirements.
P2Paper storyboard, four screensThu 16 JulWhat should Sandra see first?She circled waste percentage and the reorder list. A pie chart Jordan had drawn was crossed out.
P3Clickable page with placeholder numbersFri 24 JulIs it readable on the canteen laptop?Text too small. Key figures enlarged; screens 2 to 4 placed on one page so Sandra need not click.
P4Working dashboard on the imported recordsWed 29 JulDo the numbers make sense to her?She checked three totals against the till and all matched. She asked that the what-if panel, still to be built, show waste as well as revenue.
Exam guidance

If asked to apply tools to inform requirements, choose a tool to fit the question and give a sample question or output, as above. Compare tools when asked: an interview gives detail from few people, a survey gives numbers from many, and an analytical report shows what people did rather than what they say. Always note a limitation, such as a small or self-selected sample.


Modelling the System: DFDs and the System Flowchart

Artefact Level 0 and Level 1 data flow diagrams, system flowchart, informatics table

System models

Jordan drew three models. The data flow diagrams show what data moves, the system flowchart shows which devices and processes carry it, and a table of informatics names the participants, data and components. All use NESA’s notation.

Level 0 data flow diagram

The Level 0 diagram (or context diagram) shows the whole system as one process, with every external entity and no data stores. It is the picture Sandra checked first, because she could see what goes in and what comes out without any technical detail.

Data flow diagram

Level 0 data flow diagram: Canteen Insights

The whole system as one process, three external entities and six labelled flows.

What to notice
  • One circle for the system, closed rectangles for entities, no data stores.
  • Six flows cross the boundary. The two that carry the results of the dashboard, Dashboard and charts and Reorder list, both go to the Canteen manager.
  • Pairs of flows between the same two symbols curve to opposite sides, each with its own label and arrowhead.

Try thisName a piece of data Sandra sends and a piece she receives. Then find where the till system fits.

Level 1 data flow diagram

Level 1 opens the circle: four processes, each a job the system does, and two data stores. The data stores are the database tables from the schema. Every Level 0 flow appears here again with the same label, which is how you check the two levels balance.

Data flow diagram

Level 1 data flow diagram: Canteen Insights

Four processes and two data stores, with every Level 0 flow still present.

What to notice
  • Import sales and Check and correct data both write to the Sales store, and only Check and correct data changes the Items store (stock counts).
  • Analyse sales and Decide reorders only read from the stores. They never write to them.
  • The six Level 0 flows are still here: Sales export, Stocktake and corrections, Saved or error message, Filters and what-if settings, Dashboard and charts, Reorder list.

Try thisWhich process would break first if the till changed its export format, and what would Sandra see?

Common mistakes with DFDs

Putting data stores on a Level 0 diagram; joining two entities or two stores directly; leaving arrows unlabelled; labelling a flow with an action (“process”) rather than the data; and forgetting that a Level 1 diagram must show every Level 0 flow.

System flowchart

A system flowchart shows the main processes and devices, and the arrows show the direction of data. It answers a different question from the DFD: what hardware and storage does the system touch? This one uses eight of NESA’s nine symbols; nothing in Canteen Insights needs magnetic tape.

System flowchart

System flowchart: Canteen Insights

Inputs, processes, storage, displays, a paper document, a manual step and a cloud backup.

What to notice
  • Online input for the till sales and the typed stocktake, direct access storage for the database, online display for the dashboard and messages, a paper document for the printed reorder list.
  • The database and the Import process share a double-headed arrow because the process both reads and writes.
  • A manual operation, ordering from the supplier, follows the printed list. Sandra, not the software, places the order.
  • A telecommunications link joins the database to the cloud backup.

Try thisWhich symbol would you use for the till itself if it printed a paper receipt for each sale?

Informatics: participants, data and components

Informatics is the science of processing data for storage and retrieval. To clarify each of the relevant informatics in the new system, Jordan listed who takes part, what data exist, and which components handle them at each step.

StepParticipantsDataComponentsInformation produced
CollectCanteen staff at the tillItem, quantity, date and time of each sale (no customer details)Till, weekly export fileSales export
StoreJordan (import), Sandra (stock counts)Sales records, item list, stock on handLaptop, browser, database, cloud backupConsistent tables
ProcessThe systemTotals, averages, waste percentages, days of stockDashboard code and reorder rulesFigures and recommendations
Retrieve and displaySandra (and volunteers for corrections)Filtered recordsDashboard, data table, printerCharts, tables and the reorder list
Exam guidance

2025 HSC candidates were asked to compare Level 0 and Level 1 diagrams using the correct symbols. Marks come from things a marker can see: a circle for a process, an open-ended rectangle for a store, a closed rectangle for an entity, labelled curved arrows with heads, one process and no stores at Level 0, several processes and at least one store at Level 1. Add one sentence saying what each level is for.


Reorder Rules: the Decision Tree

Artefact Decision tree that the dashboard runs

Decision tree

The rules for reordering had to be ones Sandra understood and could challenge, so Jordan drew them as a decision tree before writing any code. A decision tree represents all possible combinations of decisions and their resulting actions, and every path ends in a final action.

Decision tree

Decision tree: what to order for next week

Five possible actions, each reached by a different path.

What to notice
  • Rectangles, not diamonds, with every branch labelled Yes or No.
  • Perishable items are judged on waste. Non-perishable items are judged on days of stock left, worked out as stock on hand divided by average units sold per day.
  • The thresholds are boundaries: exactly 3.0 days is not under 3, so it gives Reorder soon; exactly 10% waste is not over 10%, so it gives Order forecast + 10%.

Try thisTrace Bottled water: 58 on hand and about 36 sold a day. Which action does the tree give?

The tree is the code

This diagram is not a picture of the rules. It is the rules. The function that decides the action in the dashboard’s code has one branch for each path, in the same order:

function decide(perishable, wastePct, daysCover) {
  if (perishable) return wastePct > 10 ? 'forecast' : 'buffer';
  if (daysCover < 3) return 'now';
  if (daysCover < 5) return 'soon';
  return 'hold';
}

Two other parts of the reorder list follow from the tree. The forecast is the average units sold per day over the last ten trading days, times five days. Order forecast + 10% adds a buffer so fresh items do not sell out, and Order to forecast leaves the buffer off where waste is high. Reorder now and Reorder soon order enough for five days of sales plus a 20% buffer, less what is on hand. In the dashboard, the list shows which rule each suggestion used, so Sandra can disagree with a specific step.

Item (in the sample data)Path through the treeAction
Bottled water: 58 on hand, about 36 a dayNot perishable, 1.6 days left (under 3)Reorder now
Flavoured milk: 70 on hand, about 19 a dayNot perishable, 3.7 days left (3 or more, under 5)Reorder soon
Popcorn: 95 on hand, about 18 a dayNot perishable, 5.3 days left (5 or more)Hold
Ham salad roll: waste last week 16.2%Perishable, waste over 10%Order to forecast
Meat pie: waste last week 5.2%Perishable, waste 10% or lessOrder forecast + 10%
Exam guidance

NESA draws decision trees as rectangles joined by labelled branches (Course Specifications p.8). A frequent error is drawing diamonds, which belong to flowcharts. Check that branches from one question cover every case exactly once, so a value such as exactly 3.0 days cannot fit two branches. When asked to test a tree, choose data on both sides of every threshold as well as on it.


Data Design: the Dictionary and the Schema

Artefact Data dictionary and schema

Data design

Data dictionary

A data dictionary describes every field: its name, type, format, size, meaning and an example. Formats use NESA’s notation: X is any character, N is a digit and # is a numeric digit. Jordan wrote one for each of the three tables so anyone importing data knows exactly what will be accepted.

Field nameData typeData formatField sizeDescriptionExample
DailySalesOne row for each item on each trading day
SaleIDTextXNNNN5Unique record number: the letter S then four digitsS0325
SaleDateDateDD/MM/YYYY10Trading day (Monday to Friday)10/06/2026
ItemIDTextXNN3Item sold; links to the Items tableI01
PreparedInteger###3Units put out for sale that day, 0 to 50046
SoldInteger###3Units sold; never more than Prepared42
WastedInteger###3Units thrown out; Sold plus Wasted never exceeds Prepared4
ItemsOne row for each menu item
ItemIDTextXNN3Unique item numberI01
ItemNameTextXXX…XXX20Name of the itemMeat pie
CategoryIDTextXN2Category of the item; links to CategoriesC1
UnitPriceCurrency$##.##5Selling price in dollars$4.50
UnitCostCurrency$##.##5Cost to the canteen per unit, in dollars$2.10
PerishableBoolean1Y if unsold units are thrown out, N if they go back on the shelfY
OnHandInteger###3Units in stock at the last Friday stocktake (0 for fresh food)58
CategoriesOne row for each category
CategoryIDTextXN2Unique category numberC1
CategoryNameTextXXX…XXX20Name of the categoryHot food

Schema

The schema shows the structure: which tables exist, which field is each table’s primary key, and how tables are linked. Jordan normalised the data: an item’s name, price and category are stored once in Items, not repeated in each of the 480 sales rows. If a price changes, one row changes, and the data cannot contradict themselves.

Schema

Schema: the Canteen Insights database

Three tables joined by two one-to-many relationships.

What to notice
  • (P) marks the primary key of each table and (F) a foreign key. A foreign key holds a primary key value from another table.
  • One item has many sales rows, and one category has many items. The 1 is at the “one” end and the infinity sign at the “many” end.
  • The relationships are what make a join possible in SQL: Items.ItemID = DailySales.ItemID.

Try thisWhere would you store the supplier if each item came from one supplier? Sketch the new table and its foreign key.

Exam guidance

A data dictionary question expects all six NESA columns and sensible formats: a fixed-length code such as XNNNN is checked more easily than free text. For a schema, mark every primary key, every foreign key and the 1 and infinity ends of each relationship. When asked to explain normalisation, say that duplicated data can be updated inconsistently, and give an example from the scenario.


Screen Design: the Storyboard

Artefact Storyboard and the design decisions behind it

Storyboard

A storyboard shows each screen and how the user moves between them. Jordan drew four and took them to Sandra on Thursday 16 July. Designing for ease of operation meant asking of every screen: could Sandra use this on a busy Friday, with one hand and no manual?

Storyboard

Storyboard: the Canteen Insights dashboard

Four screens with a Help button, navigation buttons and a content panel on each.

What to notice
  • The highlighted button shows the current screen. A dot and arrow show that a button opens another screen.
  • Every screen has the same layout and the same button positions, so Sandra learns the pattern once.
  • Exit is always at the bottom and looks different from the navigation buttons.

Try thisWhich screen would you add for entering corrections? Sketch it and say which buttons must link to it.

Design decisions

DecisionReasonWhat changed after testing
Four numbers first (revenue, items sold, top seller, waste)Sandra circled these when shown the paper storyboardMade larger after the laptop trial
Plain words on every labelVolunteers should not need to learn terms such as “pivot”The pivot table is captioned “items by weekday”
Filters above the figures they changeWhat she selects should be next to what it affectsKept
Colour is never the only signalSome people have colour-vision differences, and phones are used in bright sunlightReorder actions use words and symbols as well as colour
Four screensSimple to draw and to explainScreens 2 to 4 became panels on one page after Sandra said “I don’t want to click”

The last row shows why a design is not finished when it is approved. Prototype P3 showed a better layout than the storyboard. Jordan updated the design and recorded the change, rather than building something that no longer matched the plan.


Computational, Design and Systems Thinking

Artefact Three ways of thinking, applied to the project

Thinking skills

The syllabus asks how three kinds of thinking help in designing and developing a system. Jordan used all three, at different moments, on the same problem.

ThinkingWhat it meansWhere it appears in Canteen Insights
Computational thinkingAnalysing a problem so that a person or a computer can solve it: organising data logically, breaking a problem into parts, interpreting patterns and designing algorithms.Decomposition: the dashboard is filters, KPIs, charts, pivot, what-if, reorder and data entry, each built and tested alone. Pattern recognition: Fridays are busiest and pies always sell out. Abstraction: a sale is just item, day and quantity; who bought it is deliberately ignored. Algorithm: the reorder rules.
Design thinkingUnderstanding a need, generating ideas and refining a design by testing, with economic, environmental and social impacts considered throughout.Empathise: the interview and the survey. Define: the problem statement. Ideate: the spreadsheet, the printed report and the dashboard were all considered. Prototype and test: P1 to P4. Waste reduction is an environmental and economic benefit.
Systems thinkingUnderstanding how connected parts interact and how a change in one affects the others.The canteen is a loop: orders lead to stock, stock to sales, sales to waste, and waste feeds back into orders. The dashboard adds a feedback link. Changing a price changes demand, which changes preparation and waste, and the what-if panel makes that chain visible.

Notice that the three are not competing methods. Systems thinking shows where the problem sits, design thinking keeps the project close to the people it serves, and computational thinking gets the solution into a form a computer can run.


Working with the Client: Collaboration and Negotiation

Artefact Collaboration set-up, needs versus wants, and the way of working

Collaboration

Online collaboration

Jordan, Sandra and Priya used ordinary tools rather than a purpose-built project system. Files lived in a shared school folder with version history, so any earlier copy could be recovered. Sandra sent each week’s till export to Jordan through the school email system. A single feedback log, a shared document with the date, who said it, what changed and its status, meant nothing said in a hallway was lost.

Negotiating needs and wants

Clients often ask for more than the time allows. Jordan sorted Sandra’s requests into needs and wants and negotiated the boundary using the priorities from the requirements.

RequestNeed or want?Outcome
See waste percentage and top sellerNeedMust (FR1)
Suggest what to orderNeedMust (FR4); rules approved by Sandra
Test a price changeWant, but cheap to buildShould (FR5)
Live link to the tillWantOut of scope: the till has no live feed. Weekly import instead.
Email alerts when stock is lowWantCould; recorded for a later version
Online pre-ordering by studentsWantA different project; recorded as out of scope

Criteria for working collaboratively

Jordan chose collaborating and managing criteria at the start, so behaviour could be judged against something later.

CriterionWhat it looked like in this project
Designing for ease of operation and maintenancePlain-language labels, one page, a written maintenance guide (see maintenance)
Clarifying the informaticsThe informatics table agreed with Sandra before the build
Outlining the role of participants, data and componentsThe same table, plus the Level 1 diagram
Negotiating user and client needs and wantsThe table above, signed off at the requirements milestone
Working collaborativelyFixed twice-weekly check-ins, a shared feedback log, Priya as a beta tester who reported problems on the log

Choosing a Development Approach

Artefact Approach comparison and justification

Development approach

Jordan compared NESA’s five approaches against the project’s facts: unclear requirements at the start, one developer, a client who is available in short bursts, no money and a fixed end date.

ApproachHow it worksFit for Canteen InsightsVerdict
Waterfall (structured)Finish each stage completely before starting the nextNeeds the requirements to be right first. Sandra could not say what she wanted until she saw numbers.Rejected
AgileShort cycles of build, review and adjustWeekly review with the client suits Sandra’s availability. Full agile roles suit teams, not one student.Borrowed the short cycles
PrototypingBuild a rough version, get feedback, improve itSandra reacts far better to something on screen. Four prototypes answered the main questions cheaply.Chosen
End-user developmentThe user builds the system, often with a spreadsheetSandra has neither time nor the confidence, and a spreadsheet alone cannot check entries.Rejected
OutsourcingAnother organisation builds itNo money, and the sales data and settings need to stay under the school’s control.Rejected

Decision: prototyping, run as an iterative approach with a short cycle each week: build, show Sandra, record feedback, adjust. Two features of the project made the choice: the requirements were uncertain, and changing a prototype was far cheaper than changing a finished system. The risk of prototyping is that it never ends. Jordan controlled it with the Gantt chart and by fixing the Must items first.

The changing nature of enterprise

Some features of this project reflect how enterprise projects are now run, and some show what it would look like if they were run another way.

TrendIn this projectIf the project were larger
Working remotelyMuch of the build happened at home. Files, feedback and till exports moved through shared folders and school email.Time-zone gaps and slower answers; clear written communication matters more.
Freelance workJordan behaves like a freelancer: one client, a defined brief, a fixed end date and no employer to fall back on.The brief and the approval milestones protect both sides.
Offshore developmentNot used. The client is a single local canteen.Could cut costs but adds time-zone, language and data-location questions.
Growth of start-upsThe same dashboard could suit other canteens if the import step were generalised.Digital tools and cloud services let a very small team start and grow a product with little capital.
Exam guidance

Choosing an approach is a justify task: name the approach, then link it to a fact in the scenario. “Agile is flexible” is a definition; “agile suits this project because the client can review something every week and requirements will change” is a justification. Show that you considered a different approach and why it fits less well.


Budget

Artefact Project budget with spreadsheet formulas

Budget

A budget lists what a project will cost and where the money comes from. Canteen Insights needs almost no cash, but Jordan still built one, because a project that has not counted its costs cannot say whether it was worth doing. Time is shown separately, as a notional cost, because Jordan is not being paid.

ItemTypeQuantityUnit costCostFormula in the Cost column
Development tools (browser, text editor, free spreadsheet)Cash1$0.00$0.00=C2*D2
Printing the quick-reference guideCash10$0.60$6.00=C3*D3
Laminating the guideCash10$1.20$12.00=C4*D4
Contingency (10% of cash costs above)Cash$1.80=0.1*SUM(E2:E4)
Cash total$19.80=SUM(E2:E5)
Jordan’s time (notional, 45 hours at $20 an hour)Notional45$20.00$900.00=C7*D7
Sandra’s time (5 sessions of half an hour)Client time2.5not costed

Comparing cost and benefit

In the eight sample weeks, the waste cost $2,151.60 at cost price. If the reorder list helped the canteen cut that by a quarter, the saving would be about $537.90 every eight weeks (=0.25*2151.60), which is more than the whole cash budget. That is an estimate, not a promise: it assumes the waste can be reduced without causing more sell-outs. It is one measure that the evaluation checks.

Exam guidance

NESA lists budget among the tools that support design and development. Show the working: columns for quantity and unit cost, a formula for each line and a total. In an exam, write formulas using NESA’s functions (such as SUM) and cell references, and state any assumption in words.

Part 3 Producing and implementing

The Live Dashboard

Artefact A working solution you can use in the browser

The product

This is Canteen Insights. It runs entirely in your browser, on 480 generated sales records: eight weeks (Monday 4 May to Friday 26 June 2026) of twelve items in five categories. Nothing you do is sent anywhere or stored. The data were made by a seeded random-number program with built-in patterns, such as busy Fridays, a sports carnival on Wednesday of week 5 and some wet days, so they are the same every time you load the page.

Things to try
  1. Set the measure to Items sold, choose Hot food and read the Fri column of the pivot table. Which item has the biggest Friday total? Open the data table and check whether it sold everything that was put out on those days.
  2. Click the Drinks bar in the category chart, then look at week 5 in the line chart. What happened on the Wednesday?
  3. In the what-if panel choose Ham salad roll and lower the items put out each day. What happens to waste, and at what point does it start to sell out?
  4. Read the reorder list, then find the same rules in the decision tree.
  5. Try to break the Correct a record form with the example buttons, then with your own bad input.

How the dashboard meets the requirements

PanelRequirementHow it works
FiltersFR2Week range, category and item. The item list follows the category; if the two contradict each other, the item is cleared and a notice says why. A reversed week range is swapped and a notice appears.
Key figuresFR1Revenue = the sum of Sold × UnitPrice. Items sold = the sum of Sold. Top seller = the item with the most units. Waste = Wasted ÷ Prepared. Each compares with the same number of earlier weeks when there are enough.
Line and bar charts, pivot tableFR3Drawn as inline SVG from the filtered records. The bar chart is also a set of buttons: choosing a bar sets the category filter. The pivot shades the busiest cells.
What-ifFR5Demand at a new price = current demand × (old price ÷ new price) to the power of an assumed elasticity; units sold is the smaller of demand and items put out. Fresh food not sold is thrown out.
Reorder listFR4One function, decide(), is the decision tree. Each suggestion shows the rule it used.
Data tableNFR4Shows the records behind every figure, and can be downloaded as a CSV file.
Correct a recordFR6Checks presence, type, range, date format and cross-field rules before saving anything. Every accepted change recalculates every panel.

Built to be used by everyone

  • Keyboard: every control can be reached with Tab. The bars are buttons, and in the line chart the left and right arrow keys, Home and End read each day.
  • Text alternatives: each chart has a text summary, and both charts have a table view (the daily figures table and the data table).
  • Colour is never alone: the reorder actions are words, and selected bars are labelled as well as coloured.
  • Themes and motion: it follows the light and dark themes of these notes, and any movement is switched off when your device asks for reduced motion.
  • Phones: the layout is single-column at phone width, and tables scroll inside their own frame.

The dashboard’s code is one file, js/pages/example-project.js, in two halves: an engine of plain functions (the data, the calculations, the reorder rules and the checks on typed data) and the code that draws it. Keeping calculation and drawing apart is what let Jordan test the numbers without looking at a screen. The test table runs those same functions.

KPIA key performance indicator: a single figure that shows how well something is going, such as waste percentage.
Pivot tableA summary that groups records by two fields, such as item and weekday, and adds up a value in each cell.
SlicerA control that filters the data shown in a report, such as the category buttons.
What-if analysisChanging an input to a model, such as a price, to see how the results would change.
Exam guidance

Questions on dashboards ask you to select or justify a visualisation. Match the chart to the question: a line for change over time, bars for comparing categories, a table when exact values matter. Say what decision it supports (“which day should more pies be made?”), and mention that a chart needs a text or table alternative for users who cannot see it.


SQL and Spreadsheet Formulas Behind the Numbers

Artefact Queries and formulas that produce the dashboard’s figures, checked live

Queries and formulas

Jordan’s test for “are the totals right?” was to get the same numbers by two other routes: a SQL query, and spreadsheet formulas. The queries use only the four keywords in NESA’s Course Specifications, SELECT, FROM, WHERE and ORDER BY, and tables are joined by matching key fields in the WHERE clause. Because those keywords select and sort rows but do not add them up, the totals come from adding a column of the result, exactly as you would in a spreadsheet.

Query A: one item, one week

“Show every sales row for meat pies in week 5, with the price.” The result has five rows (Monday to Friday). Adding Sold gives 215 pies, and Sold × UnitPrice gives $967.50.

SELECT DailySales.SaleDate, Items.ItemName, DailySales.Prepared, DailySales.Sold, DailySales.Wasted, Items.UnitPrice
FROM DailySales, Items
WHERE Items.ItemID = DailySales.ItemID
AND DailySales.SaleDate >= '01/06/2026'
AND DailySales.SaleDate <= '05/06/2026'
AND Items.ItemName = 'Meat pie'
ORDER BY DailySales.SaleDate ASC, Items.ItemName ASC

Checking in your browser…

Query B: a category over several weeks

“Show every drinks sale from week 3 to week 5.” This one joins three tables. Each extra table needs its own line of key equality in WHERE.

SELECT DailySales.SaleDate, Items.ItemName, DailySales.Prepared, DailySales.Sold, DailySales.Wasted, Items.UnitPrice
FROM DailySales, Items, Categories
WHERE Items.ItemID = DailySales.ItemID
AND Categories.CategoryID = Items.CategoryID
AND DailySales.SaleDate >= '18/05/2026'
AND DailySales.SaleDate <= '05/06/2026'
AND Categories.CategoryName = 'Drinks'
ORDER BY DailySales.SaleDate ASC, Items.ItemName ASC

Checking in your browser…

Query C: where is the waste?

“List the days on which ten or more units of a perishable item were thrown out, worst first.” The comparison operators and the sorted output do the analysis. Press the button to run this exact text in the browser and compare the count with a plain JavaScript filter over the same records.

SELECT DailySales.SaleDate, Items.ItemName, DailySales.Prepared, DailySales.Wasted
FROM DailySales, Items
WHERE Items.ItemID = DailySales.ItemID
AND Items.Perishable = 'Y'
AND DailySales.Wasted >= 10
ORDER BY DailySales.Wasted DESC, DailySales.SaleDate ASC

The same numbers in a spreadsheet

In a spreadsheet the sales rows go on a Sales sheet and the item list on an Items sheet. The formulas use only functions from NESA’s list: SUM, MAXIMUM, IF and LOOKUP. LOOKUP needs the ItemID column to be sorted ascending, which it is (I01 to I12). References to the Items sheet are absolute ($A$2:$A$13) so they stay fixed when the formula is filled down; references to the current row are relative.

CellFormulaWhat it does
Sales!F2 (Revenue)=D2*LOOKUP(B2,Items!$A$2:$A$13,Items!$D$2:$D$13)Sold times the price found by looking up the ItemID
Sales!G2 (In range?)=IF(A2>=Summary!$B$1,IF(A2<=Summary!$B$2,1,0),0)1 if the date is inside the chosen range, otherwise 0
Sales!H2 (Revenue counted)=F2*G2Revenue for rows in range only
Summary!B4 (Revenue)=SUM(Sales!H2:H481)The revenue tile
Summary!B5 (Items sold)=SUM(Sales!I2:I481)The items-sold tile (column I is =D2*G2)
Summary!B6 (Waste %)=SUM(Sales!J2:J481)/SUM(Sales!K2:K481)Wasted divided by prepared (J is =E2*G2, K is =C2*G2)
Summary!B7 (Top seller units)=MAXIMUM(Summary!E2:E13)Highest of the twelve item totals, found with a pivot table or a sorted list
Items!J2 (Action, non-perishable)=IF(I2<3,"Reorder now",IF(I2<5,"Reorder soon","Hold"))The bottom half of the decision tree, as nested IFs (I is days of stock)

Spreadsheet software names these functions differently (MAXIMUM is written MAX in most packages), so in the exam use NESA’s wording.

Live check: dashboard, SQL and spreadsheet

The panel below follows the dashboard’s filters. It rewrites the query for whatever you have selected, runs it with a small interpreter for NESA’s SQL, applies the spreadsheet formulas row by row, and compares all three. Because it reads the same data as the dashboard, it still agrees after you save a correction in the form above.

Going beyond the syllabus

Real SQL can add up values for you with SUM and GROUP BY, which would return the totals directly. Those are not in NESA’s list of keywords, so an HSC answer should not depend on them. They are worth knowing about, and a database used in the real world would use them.

Exam guidance

2025 HSC candidates were asked to write a query using four SQL keywords and a join. Full marks need SELECT with the right fields, FROM with every table, WHERE with both the search condition and the key equality that joins the tables, and ORDER BY with ASC or DESC. Missing the join condition is the most common lost mark: without it every row of one table is paired with every row of the other.


Implementation Plan

Artefact Implementation plan: method, integration, training, risks and testing

Implementation plan

A system that works on the developer’s laptop is not yet a solution. An implementation plan says how it will move into the real setting and how Jordan will know it is feasible, meaning that it can actually be done with the time, skills and equipment available.

Design thinking and the tools used

Jordan followed a design-thinking cycle and used a tool at each step. Each is a section of this page.

StepWhat happenedTool used
EmpathiseInterviewed Sandra; surveyed students and staffInterview and survey
DefineWrote the problem and requirementsProblem statement
IdeateCompared a spreadsheet, a report and a dashboardApproach comparison
PrototypeBuilt P1 to P4Storyboard, decision tree, Gantt chart
TestRan the tests and the client trialTest table

Risk analysis

A risk is something that might go wrong. For each one Jordan estimated how likely it is and how much damage it would do (Low, Medium, High) and planned what to do about it.

RiskLikelihoodImpactResponse
The till export format changesMediumHighThe import refuses a file with unexpected headings and says why; the old file is kept
The reorder list causes a shortageMediumMediumThe list is a suggestion, and the first two weeks are a pilot with a limited range
Data are lost or overwrittenMediumHighA weekly copy goes to the cloud backup; every correction is logged
A personal detail slips into an exportLowHighThe import keeps only item, quantity and date; other columns are dropped
The canteen browser is out of dateLowMediumTested in two browsers; no features that need a recent one
Jordan is away for a weekMediumMediumA buffer day in the plan; documentation lets a teacher help
Sandra loses confidence after one wrong suggestionMediumHighEach suggestion shows its rule, so she can see why it was made

Hardware and software integration

Canteen Insights uses equipment that already exists, so integration is mostly a weekly routine. On Friday the till exports the week’s file to the shared folder. On Monday morning Sandra (or a volunteer) opens the dashboard, imports the file and checks the message it shows. The laptop’s browser runs the dashboard, the printer produces the reorder list and the database is copied to the cloud backup. The system flowchart shows these links. The one integration risk, the export format, is covered in the table above.

Training and documentation

WhatWhoWhenHow Jordan knows it worked
30-minute walk-through with the live dashboardSandra and two volunteersWeek 1 of the pilotEach completes the same three tasks without help
Laminated one-page quick guideEveryone who uses the canteen laptopGiven out at the walk-throughA volunteer uses it to enter a correction
Maintenance guideSandra, the school’s teacher-librarian or a later studentHandoverPriya follows it cold (see maintenance)
Check-in after two weeksSandraEnd of the pilotQuestions and problems go into the feedback log

Preferred implementation method: pilot

NESA names four methods of implementation: direct, parallel, pilot and phased. Jordan chose a pilot. For two weeks only Sandra uses Canteen Insights, and only for hot food, sandwiches and fresh food, the three categories where the data show waste. Drinks and snacks stay on the paper stock sheet. Then the dashboard is extended to everything, and the volunteers start entering corrections.

Animated diagram

Implementation methods: switching from the old system to the new

Watch the steps, or step through with the arrow keys.

What to notice
  • Direct switches every office at once, so a fault hits everyone. Parallel keeps the old system running as a fallback.
  • Pilot moves one office first. Phased moves one module at a time across all offices.

Try thisUse the tabs to compare how each method behaves when the new system has a fault. Which would suit a canteen with one till and one manager?

MethodWhy it was not, or was, chosen
DirectToo risky. A wrong suggestion in week one would affect the whole canteen with no fallback.
ParallelPossible, but Sandra would do all the work twice for every item, and she has little time.
PilotChosen. One user and two categories limit the damage of a fault. The categories not in the pilot act as a comparison, showing whether the dashboard’s advice reduces waste.
PhasedA close second. The pilot is already phased by category, but it also limits who uses it.

Testing methodology

Jordan planned testing before the build ended. The next part covers it in detail, and the plan draws on the methods in the Course Specifications: functional testing against the requirements, live and simulated data (the sample data are simulated; the pilot uses live data), beta testing by Priya, and acceptance testing by Sandra.

Exam guidance

A question on implementation asks you to recommend or justify a method for a scenario. Name one of the four methods, describe how it would run here, and give a reason that comes from the scenario (a single-site canteen, a manager with little time, a real cost if the system is wrong). Comparing one other method earns the higher marks.

Part 4 Testing and evaluating

Testing with Normal, Boundary and Erroneous Data

Artefact Test table that runs live in your browser

Test plan and results

Testing checks whether a system does what it should, and a good test set does not just try things that work. Jordan chose data of three kinds for every input, because different faults hide in different places.

Kind of dataWhat it isFault it findsExample here
NormalTypical valid inputA calculation that is simply wrongAll data: $41,299.40
BoundaryValues at and either side of a limitA limit that is off by one (the classic “< or <=” slip)Sold = prepared is accepted; sold = prepared + 1 is refused
ErroneousInvalid or impossible inputA system that crashes or accepts nonsenseSold = abc; 31/02/2026

The test table

Each row gives the input, the expected result worked out before testing, and the actual result. Jordan worked the expected totals out in a spreadsheet, and wrote the expected messages from the rules in the requirements. In this table the Actual column is filled in by your browser, just now, by running the dashboard’s own functions on a fresh copy of the sample data; the Result column compares the two.

Running the tests…

Test table for Canteen Insights (fictional project, live results)
IDTest and inputExpectedActualResult
Normal data: typical inputs that the system must handle
N1Totals for all dataAll weeks, all categories, all items$41,299.40 and 10,953 itemsNeeds JavaScript–
N2A filtered totalCategory Drinks, weeks 3 to 5$3,536.50 and 1,129 itemsNeeds JavaScript–
N3Reorder rule, low stockBottled water, 58 on hand, latest ten days of salesReorder now, order 160Needs JavaScript–
N4What-if with nothing changedMeat pie at $4.50, current quantityRevenue change $0.00Needs JavaScript–
N5A valid correction10/06/2026, Meat pie, prepared 46, sold 44, wasted 2AcceptedNeeds JavaScript–
N6Three-way agreementDashboard, SQL and spreadsheet, all data and Meat pie in week 5All three methods agreeNeeds JavaScript–
Boundary data: values at the edge of what is allowed
B1Smallest week rangeWeek 5 to week 560 recordsNeeds JavaScript–
B2Exactly enough earlier weeks to compareWeeks 5 to 8Compared with weeks 1 to 4Needs JavaScript–
B3One week short of enoughWeeks 4 to 8No comparisonNeeds JavaScript–
B4Sold equals preparedPrepared 46, sold 46, wasted 0AcceptedNeeds JavaScript–
B5Sold one more than preparedPrepared 46, sold 47, wasted 0Rejected: Sold (47) plus wasted (0) is more than prepared (46).Needs JavaScript–
B6Largest allowed quantityPrepared 500, sold 500, wasted 0AcceptedNeeds JavaScript–
B7One over the largest quantityPrepared 501, sold 44, wasted 2Rejected: Prepared must be between 0 and 500 (you entered 501).Needs JavaScript–
B8Reorder threshold: days of stockExactly 3.0 days, then 2.9 daysReorder soon at 3.0 days; Reorder now at 2.9 daysNeeds JavaScript–
B9Reorder threshold: wasteExactly 10%, then 10.1%Order forecast + 10% at 10%; Order to forecast at 10.1%Needs JavaScript–
Erroneous data: input that is wrong and must be refused or handled
E1Letters in a number fieldSold = abcRejected: Sold must be a whole number, digits only (you entered "abc").Needs JavaScript–
E2A negative quantitySold = -5Rejected: Sold cannot be negative (you entered -5).Needs JavaScript–
E3A required field left emptyPrepared left blankRejected: Prepared is required.Needs JavaScript–
E4A date that does not existDate = 31/02/2026Rejected: 31/02/2026 is not a real date.Needs JavaScript–
E5A day the canteen is closedDate = 13/06/2026 (a Saturday)Rejected: 13/06/2026 is a Saturday; the canteen trades Monday to Friday.Needs JavaScript–
E6A date in the wrong formatDate = 10 June 2026Rejected: Date must be written dd/mm/yyyy, for example 10/06/2026.Needs JavaScript–
E7A fraction of an itemSold = 3.5Rejected: Sold must be a whole number of items (you entered 3.5).Needs JavaScript–
E8A rule between fieldsFruit cup: prepared 20, sold 15, wasted 2 (fresh food not sold must be thrown out)Rejected: Fruit cup is perishable, so everything not sold is thrown out: wasted should be 5.Needs JavaScript–
E9Filters that contradict each otherItem Meat pie is selected, then the category is changed to DrinksItem filter "All items"; The item filter was cleared because Meat pie is not in Drinks.Needs JavaScript–
E10Week range the wrong way roundFrom week 6, to week 3Weeks 3 to 6. The From week was after the To week, so the two were swapped.Needs JavaScript–
E11A selection with no records at allCategory Drinks and item Meat pie, forced together0 records, waste n/a, top seller noneNeeds JavaScript–

The dashboard handles the erroneous cases, it does not just survive them. In the Correct a record form above, every rule in E1 to E8 produces a message that says what is wrong and how to fix it, marks the field, and saves nothing. Try the example buttons under the form. The filter cases (E9 to E11) never leave the dashboard in an impossible state: the item list follows the category, a reversed range is swapped with a notice, and an empty selection shows “n/a” and “No sales match these filters” instead of a blank or a divide-by-zero error.

Methods of testing

The Course Specifications name six methods of testing. Here is how Jordan used each one.

MethodUsed how
Functional testingThe table above: each row tests one function against its expected result.
Simulated dataThe generated sample data. They let Jordan work out expected totals in advance and repeat every test identically.
Live dataFrom the pilot onward, real till exports. They will expose problems the sample data cannot, such as a new item.
Beta testingPriya used the dashboard at home with no instructions and reported problems on the feedback log. She found the reversed week range (E10).
Acceptance testingSandra ran through the success criteria on the canteen laptop. See feedback.
Volume testingNot yet done: the dashboard has only been tried on eight weeks. A year of data (about 3,000 rows) should be tried before it is used for a year, and this is on the maintenance plan.
Exam guidance

When asked to develop test data, give values, not descriptions: “sold = 47 when prepared = 46” beats “a number that is too big”. Include at least one normal, one boundary and one erroneous value, say what result you expect from each, and note which requirement each one checks. A boundary test needs a value on the limit and one just past it.


Verification and Validation

Artefact Requirements traceability: evidence of verification and validation

Verification and validation

The two words are easy to confuse. Verification asks “did we build the system right?”, meaning does it meet its specification, and is checked by testing, inspection and comparison. Validation asks “did we build the right system?”, meaning does it meet the client’s real need, and is checked with the client and users. A system can pass every test and still be useless if the requirements were wrong.

RequirementVerification (built right?)Validation (right system?)
FR1 Key figuresN1, N2: totals match the expected values. The query check agrees three ways.Sandra read the top seller and waste percentage in 25 seconds during the trial.
FR2 FiltersB1 to B3, E9, E10: ranges and contradictions handled.Sandra used the category bars without being told they were buttons.
FR3 Charts and pivotThe data table shows the records behind every chart.Sandra found the Friday pie sell-outs from the pivot table herself.
FR4 Reorder listN3, B8, B9: the decision tree and code agree on every boundary.Sandra compared the pilot suggestions with her own instincts and agreed with most.
FR5 What-ifN4: no change gives $0.00 change.Used to decide how many rolls to prepare; she asked for the waste figure to be shown as well as revenue.
FR6 CorrectionsN5, B4 to B7, E1 to E8: valid entries saved, bad ones refused with a message.A volunteer entered a correction using only the quick guide.
NFR2 AccessibilityKeyboard-only run-through, and checks at phone width and in light and dark themes.Not yet tested with users who rely on assistive technology (recorded as a limitation).
NFR3 PrivacyReview of the import and stored fields: none identify a person.Sandra confirmed nothing she cares about is missing.

Notice the gap in the accessibility row. Verification passed, but validation with real users who rely on assistive technology has not happened. Being honest about that gap is part of a good evaluation.

Exam guidance

“Distinguish between verification and validation” needs both definitions and an example of each from the scenario. A reliable memory hook: verification looks back at the specification, and validation looks out at the client. If a question gives test results and asks whether the project succeeded, say the tests verify, and the client’s response validates.


Client Feedback and Evaluation

Artefact Client feedback, evaluation against the success criteria and the impact of the system

Evaluation

Client feedback

Sandra worked through the dashboard on the canteen laptop on Wednesday 12 August, with Jordan watching and saying nothing. These are her words, recorded in the feedback log.

“I found the pie problem in about a minute. I didn’t know that ham rolls were being thrown out that much. I like that it tells me why it wants me to order something. The bit I trust least is the what-if, because it only knows what people did buy, not what they would have bought.”

Sandra, canteen manager (fictional), trial with Jordan, 12 August 2026

Evaluation against the success criteria

An evaluation makes a judgement against criteria set at the start, with evidence, and does not just say “it went well”.

CriterionEvidenceJudgement
1. Sandra reads the top seller and waste percentage for any weeks in under a minute, unaidedTimed at 25 seconds for the top seller and 40 seconds for waste percentage, with different weeks each timeMet
2. The totals match the tillThe three-way check agrees for every filter tried. Sandra matched three weekly totals to the till’s own printout.Met
3. A reorder list Sandra trusts and can explainShe agreed with most suggestions and could explain the rule for each. One was disputed (see limitations).Mostly met
4. Nothing identifies a student or staff memberThe import keeps only item, quantity and date. Review found no other fields.Met

Limitations

  • The till records what was sold, not what customers wanted. On the days pies sold out, demand is understated, so the forecast for pies is probably too low.
  • The what-if panel uses assumed price sensitivities. They came from interviews and are not measured, so its projections show direction, not exact amounts.
  • Only eight weeks of data and a single canteen. Seasonal effects, such as cold weather and end-of-term days, are not modelled.
  • The import is manual, so a busy week without an import leaves the dashboard out of date.
  • Accessibility was tested in two browsers and by keyboard, not with screen-reader users.

Impact of the system on its environments

An enterprise system does not only work or fail technically. It changes the places it is used in.

EnvironmentImpact seen or expectedJudgement
Canteen (operational)Weekly ordering takes about the same time but is based on evidence. Volunteers spend a few minutes on Fridays entering corrections.Positive, small cost
EconomicEstimated saving of a quarter of waste cost, $537.90 every eight weeks, against a cash cost of $19.80.Positive, unproven
SocialFewer sell-outs of popular items. Price changes remain a human decision.Positive
EnvironmentalLess thrown-out food.Positive, size unknown
TechnicalThe system depends on one weekly file from the till. If the till is replaced, the import must be rewritten.A dependency to manage

Modifying the design

Feedback led to three changes, each written up in the process diary and the change log: the four screens were merged into one page (P3), the what-if panel now shows waste as well as revenue (P4), and the evaluation now states that sold-out days hide real demand. The next version would add a column for “sold out before closing” to the till import, so the system can see lost sales.

Exam guidance

Evaluate means a judgement supported by criteria and evidence, with strengths and weaknesses. A high-scoring answer states each criterion, cites a result, and reaches a conclusion (“mostly met”), then names a limitation and an improvement. Do not evaluate against features you added later, only against the original success criteria.


Maintaining the System

Artefact Maintenance plan and documentation trial

Maintenance plan

Systems are used for far longer than they are built. Maintenance is the work of keeping a system correct and useful once it is live. Jordan wrote a plan so that Sandra, or someone after Jordan, could look after Canteen Insights without guesswork.

TaskHow oftenWhoKind of maintenance
Import the week’s till export and check the messageEvery MondaySandra or a volunteerRoutine operation
Update the stock counts (OnHand)Every Friday afternoonSandraRoutine operation
Copy the database to the cloud backupEvery Monday, after the importSandraBackup
Add a new menu item or change a priceWhen the menu changesSandra, with the guideAdaptive (changing for new conditions)
Reduce item-level rows older than 12 months to weekly totalsEach termA teacher or later studentData retention
Review the reorder thresholds (3 and 5 days, 10% waste)Each termSandra and a teacherImproving (perfective)
Fix a fault reported in the feedback logAs reportedThe maintainerCorrective (fixing faults)
Try a year of data (volume test)Before the first anniversaryThe maintainerPreventive (avoiding future problems)

Trialling the documentation

Documentation is only useful if someone else can follow it. Jordan gave Priya the maintenance guide and asked her to add a new item, an iced tea, with no help. This is the extract she followed.

  1. Open the Items table and add a new row at the bottom.
  2. Give it the next ItemID in order, for example I13, using the format XNN.
  3. Enter the name, choose its CategoryID from the Categories table, and enter the price and cost in dollars.
  4. Enter Y for Perishable if unsold units are thrown out, otherwise N, and enter the units on hand.
  5. Check the dashboard: the item appears in the item list, and the three-way check still agrees.

Priya stopped at step 3 because it was not clear whether the cost meant the cost of one item or a box. Jordan rewrote the step to say “cost of one item, for example $0.80”, and the change is in the log. Trials find problems that the author never sees, which is why NESA lists trialling the operation and maintenance documentation as part of verifying a system.

Version log

VersionDateChangeReason
1.029 Jul 2026First working dashboardPrototype P4
1.131 Jul 2026What-if panel added, showing waste beside revenueClient feedback on P4
1.23 Aug 2026Reversed week range swapped with a noticeBeta test (Priya): E10
1.310 Aug 2026Data entry refuses a Saturday dateTest E5 failed on the first run
Exam guidance

Maintenance questions ask what must be done after implementation. Give specific, scheduled tasks with an owner (a weekly backup, a termly review of thresholds), not general advice such as “keep it updated”. Documentation belongs in the answer: a user guide for operators and a maintenance guide for whoever changes the system.


Process Diary Excerpt

Artefact Two entries from the process diary

Process diary

A process diary documents the progress of a project. NESA lists what each entry should include: the date, the person making the entry, progress since the last entry, tasks achieved, stumbling blocks and how they were managed, possible approaches for upcoming tasks, reflective comments and resources used. Here are two of Jordan’s entries (fictional).

Entry 6: Wednesday 22 July 2026
Person
Jordan
Progress
Phase 2 finished last Friday and Sandra approved the design. Phase 3 has started: the tables are built and all 480 sample rows are imported.
Tasks achieved
Task 12 (build tables, import sales) is 100%. Task 13 (charts and KPI tiles) has started.
Stumbling blocks
Item names in the export had trailing spaces, so the join to the Items table matched nothing. Managed by trimming names on import, and added a row-count check so an empty join is noticed straight away.
Next
Line chart first, then KPI tiles. Try a bar chart of categories, ordered largest first.
Reflection
The bug would have been invisible if I had not compared the row count with the file. I will do that check on every import.
Resources used
Sandra’s till export (8 weeks), the data dictionary, about 4 hours.
Entry 8: Wednesday 29 July 2026
Person
Jordan
Progress
Charts and KPI tiles are finished. Filters, pivot table and what-if are half done, but the Gantt chart says 75% by today, so I am behind.
Tasks achieved
Task 13 is 100%. Task 14 is 50%: week and category filters work; the pivot table is under way.
Stumbling blocks
Priya found that choosing From week 6 and To week 3 gave an empty dashboard. Fix planned: swap the two weeks and show a notice (this became test E10). The pivot table took longer than planned because of shading contrast in dark mode.
Next
Use Friday’s buffer day for the what-if panel. Move “export the chart as an image” to the Could list. Ask Sandra on Thursday which numbers she wants beside the what-if result.
Reflection
My time estimates for interface work are too optimistic. I estimated the pivot table at one day and it will take two. I will add half again to estimates for anything with a screen.
Resources used
Feedback log entries 11 to 14, Priya’s test notes, about 5 hours.

Notice that the second entry connects to the Gantt chart, the test table and the version log. A diary earns its place because it is the link between the plan, the problems and the decisions. This is what NESA means by ongoing evaluation: judging progress as it happens, not only at the end.

Exam guidance

If asked to write or complete a process diary entry, include all eight items NESA lists. The most-missed are the stumbling block and how it was managed, and a reflective comment that shows something was learned. Specific details, such as the task number, a percentage or the number of hours, make an entry credible.

Finish Connecting the example to the syllabus

How This Maps to the Syllabus

Finish Each dot point in the Enterprise project focus area, and where this page shows it

The Enterprise project focus area has nine dot points. This table lists each one (NESA’s wording) with a link to the explanation in the Enterprise project notes, and links to the places in this page that demonstrate it. Use it as a checklist for your own project: could you point to an artefact for each row?

Syllabus dot pointExplained inShown in this example
Describe the tools and processes used to manage and document the development of an enterprise systemNotesProblem definition; Time and resource management, Gantt chart; an iterative approach in the approach and the diary; production process and technical skills in the dashboard and the queries; testing and evaluation in testing and evaluation
Explain the effect of the changing nature of enterprise on the development of projectsNotesOffshore development, working remotely, freelance work and start-ups
Investigate tools that support the design and development of an enterprise systemNotesOnline collaboration; time/task action plan; process diary; budget; system flowchart; data flow diagrams; decision tree
Describe how computational, design and systems thinking skills are used in the design and development of an enterprise systemNotesComputational, design and systems thinking
Select key collaborating and managing criteria appropriate to the development of an enterprise projectNotesCollaborating criteria; ease of operation and maintenance; informatics and the roles of participants, data and components; needs and wants
Apply tools to inform the requirements and limitations of an enterprise systemNotesInterviews; surveys; analytical reports; prototypes; presentations of research results; requirements and constraints
Explore and apply the most suitable development approach to develop, modify and implement an enterprise systemNotesWaterfall, agile, prototyping, end-user and outsourcing compared, with prototyping chosen
Develop an implementation plan and test its feasibility for an enterprise computing systemNotesDesign thinking, tools, integration, training and the pilot; risk analysis; storyboard; Gantt chart; decision tree; methodology for testing
Verify and validate an enterprise computing systemNotesEvaluating test data; trialling the operation and maintenance documentation; impact of implementation and modifying designs; verification and validation; maintaining the system
Source

Dot points are from the NESA Enterprise Computing 11–12 Syllabus ↗ (© NSW Education Standards Authority). Diagram notation, SQL keywords, spreadsheet functions and implementation and testing methods are from the Enterprise Computing Course Specifications (© NESA). This page is a study aid and does not replace either document.