Understanding Solution Functional Requirements in VCE Innovative Solutions
What it does: Booking a slot is a concrete, testable action, matching the definition of a functional requirement. This requirement addresses a user need and guides what must be built before development starts. Functional requirements should be clear and specific so they can be tested and verified. Functional requirements are based on the needs identified earlier in the design process. Functional requirements can be revised as understanding of the project develops. This code snippet describes a specific action the system must perform, making it functional. 'Nice to use' is vague and untestable, so it fails as a functional requirement.
Common mistakes: A functional requirement is about what the system does, not how it looks — appearance belongs to non-functional requirements. Functional requirements can and should be checked once the system is built, to confirm they've been met.
Quick Questions
1. Does a functional requirement describe what a system must do?
A functional requirement describes a specific action, task, or feature the system must perform.
2. Which is a functional requirement: 'the system must send an email' or 'the system must look modern'?
A. Must send an email ✓
B. Must look modern
Sending an email is a specific action, while looking modern is a quality — a non-functional requirement.
3. Should a functional requirement be specific and testable?
Functional requirements should be clear and specific so they can be tested and verified.
4. Are functional requirements written before or after development begins?
Functional requirements are written before development to guide what needs to be built.
5. Are functional requirements derived from identified user needs?
Functional requirements are based on the needs identified earlier in the design process.
Fill in the Blanks
1. The system must allow users to log in
Hint: Type the word showing this action is required
2. The system must let users book a slot
Hint: Type the action users must be able to perform on a slot
3. The system must send a confirmation email
Hint: Type the type of email the system must send
4. A functional requirement describes what a
system must do
Hint: Type the word meaning to perform an action
5. Functional requirements are derived from
user needs
Hint: Type what the requirements are based on
Spot the Error
Question 1
A
It is always about how the system looks, not what it does.
B
A functional requirement describes what a system must do.
C
It describes a specific action or feature.
D
It can be tested to check if it has been met.
Line A — A functional requirement is about what the system does, not how it looks — appearance belongs to non-functional requirements.
Question 2
A
Functional requirements are derived from user needs.
B
They are impossible to check once the system is built.
C
They guide what features must be built.
D
They should be specific and testable.
Line B — Functional requirements can and should be checked once the system is built, to confirm they've been met.
Question 3
A
"The system must allow login" is a functional requirement.
B
Functional requirements describe specific actions.
C
"The system must be fast" is a functional requirement.
D
They focus on features, not general qualities.
Line C — "The system must be fast" describes a quality, not a specific action, so it's a non-functional requirement instead.
Question 4
A
Functional requirements list what a system must do.
B
Each requirement should be clear and specific.
C
A vague requirement is hard to test.
D
Vague requirements are always the best kind to write.
Line D — Vague requirements are hard to test and should be avoided — clear, specific requirements are preferred.
Question 5
A
"Send a confirmation email" is a functional requirement.
B
It describes a specific system action.
C
It can be tested by checking if the email is sent.
D
Functional requirements are usually written as clear statements.
E
Functional requirements never involve user actions like logging in.
Line E — Functional requirements often involve user actions, like logging in or booking, since these describe what the system enables users to do.