← VCE Software Development U4O1

User-centred design

Designing a solution around the needs of its real users, by finding out what they need and involving them throughout development, using their feedback to revise the design.

Understanding User-centred design in VCE Software Development U4O1

What it does: The code shows users trying a prototype and giving feedback, which is how users are involved in development. The design is updated using the feedback, which completes the user-centred design cycle. Surveys, interviews and observation find out what users actually need. Feedback is used to revise the design. A working program can still fail its users. The real users, here students and canteen staff, determine the needs the design must meet. Users try the prototype and their comments show what to improve. Revisions are driven by user needs, not by adding features for their own sake.

Common mistakes: Lists have no .len() method. Use len(feedback) to count how many pieces of user feedback were collected. The loop should print each single need, so it must use the loop variable need. Printing needs shows the whole list every time.

Class: _____________________  ·  Name: _____________________  ·  Date: _________

Free printable worksheet with full answer key — or add this module to a class and your students practise it interactively.

This module's key terms are also in a printable crossword (Modules 3–79) and word search (Modules 3–114).

Take this worksheet further — free with Cloodit

Each concept is reinforced from every angle — learned, then applied, then tested.

Learning
Duo
What is the main focus of user-centred design?
Building the solution around what the developer finds easiestBuilding the solution around the needs of its real users
Matches
design = build(developer_ideas) release(design)
↓
The design is built only from the developer's own ideas. User needs were never identified, so it is not user-centred.
Applying
Meanings
Term
user-centred design
Meaning
Designing a solution around the needs of its real users, by finding out what they need and involving them throughout development, using their feedback to revise the design.
Practice
needs ← identify_user_needs()
Testing
Gaps
feedback.("menu is confusing")
Check Answer
Spots
2feedback.append("Too small")
3count = feedback.len()

Cloodit turns curriculum-aligned coding content into journeys students work through one biome at a time.

The 'Badger' badge — Determined Digger, one of Cloodit's 106 collectible badges
Students earn collectable badges

Over 100 of them, across seven natural biomes.

Study Buddy
Students build a real study resource

Turns their work into revision material ready for Flash Cards and Exam study.

Diamond Dash — one of Cloodit's live, competitive Sprint games
Students lock in with Sprints

Live, competitive practice for the start of the lesson or a teacher-led lesson finisher.

A Cloodit certificate of achievement, ready to personalise and print
Custom printable certificates

Honour your top performers, or encourage a student who's trying hard — ready to print in seconds.

Quick Questions

1. What is the main focus of user-centred design?
A. Building the solution around the needs of its real users ✓
B. Building the solution around what the developer finds easiest
User-centred design puts the real users' needs first, rather than developer convenience.
2. When should users be involved in user-centred design?
A. Throughout development, from early planning to final testing ✓
B. Only after the solution is finished and released
Users are involved throughout development so problems are found early, not just at the end.
3. Which action is an example of identifying user needs?
A. Choosing the colour scheme the developer likes best
B. Surveying and interviewing the people who will use the app ✓
Surveys, interviews and observation find out what users actually need.
4. A tester says the menu buttons are too small to tap. What should the developer do under user-centred design?
A. Ignore the feedback because the code already works
B. Revise the design, such as making the buttons larger, then check again with users ✓
Feedback is used to revise the design. A working program can still fail its users.
5. True or false: user-centred design only needs feedback collected once at the start of a project.
A. False: feedback is collected repeatedly and used to refine the design ✓
B. True: one round of feedback is enough for the whole project
User-centred design is iterative. Users give feedback at several stages and the design is revised each time.

Match the Pairs

user-centred design → Designing a solution around the needs of its real users and involving them throughout development
survey = ask_users("What do you need?") → Identifying user needs by asking real users what they require from the solution
Involving users in feedback: collect their comments on a prototype so the design can be improved → feedback = get_feedback(prototype, testers)
Revising the design from user feedback: change the design when users report a problem → design = revise(design, feedback)
design = build(developer_ideas) release(design) → The design is built only from the developer's own ideas. User needs were never identified, so it is not user-centred.
needs = ask_users() design = build(needs) release(design) → Users are asked once at the start but never involved again. There is no feedback step and no revision.

Key Term

user-centred design
Designing a solution around the needs of its real users, by finding out what they need and involving them throughout development, using their feedback to revise the design.

Fill in the Blanks

1. feedback = [] feedback.append("menu is confusing")
Hint: Type the list method that stores a new piece of user feedback at the end of the list.
2. for comment in feedback: print(comment)
Hint: Type the keyword that starts a loop so each user comment is reviewed one at a time.
3. version = 1 if "confusing" in comment: version = version + 1
Hint: Type the operator that checks whether a word appears inside the user's comment, so the design is revised.
4. need = input("What do you need? ")
Hint: Type the function that asks the user to type in their need, so the designer can identify it.
5. rating = int(input("Rate 1-5: ")) if rating < 3: print("Revise the design")
Hint: Type the comparison operator that tests whether the user's rating is lower than the pass mark.

Spot the Error

Question 1
A feedback = []
B feedback.append("Too small")
C count = feedback.len()
D print(count, "comments")
Line C — Lists have no .len() method. Use len(feedback) to count how many pieces of user feedback were collected.
Question 2
A needs = ["fast", "simple"]
B for need in needs:
C print("Users need:", needs)
Line C — The loop should print each single need, so it must use the loop variable need. Printing needs shows the whole list every time.
Question 3
A users = ["Sam" "Priya"]
B for user in users:
C print("Survey", user)
Line A — The list items must be separated by a comma. It should be users = ["Sam", "Priya"] so the real users to survey are stored correctly.
Question 4
A ratings = [4, 2, 5, 3]
B total = sum(ratings)
C average = total / len(ratings)
D if average > 3:
E print("Revise design")
Line D — The design should be revised when users rate it LOW. The condition should be average < 3, so poor feedback triggers a revision.
Question 5
A reply = print("Any issues? ")
B if reply != "":
C print("Thanks!")
Line A — print() only displays text and returns None. To collect feedback from the user, use input("Any issues? ").

Student with a class code? Join your class →