Software Design & Development · Analysis

SDD2 — Analysis: Purpose, Scope, Boundaries and Functional Requirements

📅 Thu 5 Jun 2026 · P3+P4 (double)
~120 minutes
Learning intentions
Success criteria
Warm up — recap from SDD1
Answer all three questions, then check your answers.
Question 1
What is the first phase of the iterative development process?
Question 2
Which development methodology uses short cycles called sprints?
Question 3
In which phase of the iterative development process would you create pseudocode and draw structure diagrams?

Key vocabulary

Purpose
A concise statement of what a software system is for and why it is being built.
Scope
The set of features and functions that are included in — or excluded from — a software project.
Boundaries
The edges of a system: what data goes in, what comes out, and which users or external systems it interacts with.
Functional requirement
A statement of something the system must do, always phrased as "The system must…"
End-user
The person (or people) who will use the finished software day-to-day.
Stakeholder
Anyone affected by the software — including end-users, managers, clients, and others who have an interest in the outcome.
Scope creep
The tendency for a project to expand beyond its original plan as new features are continuously added.

Why analysis comes first

The first phase of the iterative development process is analysis. Its job is to make sure everyone — the client, the development team, and the end-users — agrees on exactly what the software is supposed to do before a single line of code is written. Skipping or rushing analysis is one of the most common causes of failed software projects: teams end up building the wrong thing, or building things that the client didn't actually need.

During analysis, the development team gathers information by interviewing stakeholders, observing current working practices, and studying any existing systems. They use this to produce a clear written record of requirements. Everything that comes later — design, implementation, testing — depends on getting this right.

Purpose

The purpose of a software system is a short, plain-English statement that answers two questions: what does this software do, and who is it for? A good purpose statement is specific enough to guide decisions throughout the project, but short enough to be understood by someone who isn't a developer.

Examples of well-written purpose statements:

Notice that each statement names the who (pupils, librarians, gym members, staff) and the what (borrow/return books, book classes, manage bookings). There is no mention of how the system will work internally — that comes later in the design phase.

Scope and boundaries

Once the purpose is agreed, the team defines the scope: a list of what the system will do (in scope) and what it will not do (out of scope). Being explicit about what is out of scope is just as important as listing what is in scope. Without a clear boundary, projects suffer from scope creep — new features keep being added, budgets overrun, and deadlines are missed.

Boundaries describe the system's interfaces with the world around it:

Defining boundaries prevents misunderstandings. A librarian might assume the system will also manage overdue fines — but if that's out of scope, it needs to be written down clearly so there are no surprises when the finished software is delivered.

Functional requirements

A functional requirement is a statement of something the system must be able to do. Every functional requirement is phrased the same way:

"The system must…"

Using "must" (not "should" or "might") signals that this is a definite requirement, not a wish list. Functional requirements describe what the system does — never how it does it. Describing the how is the job of the design phase.

Examples of correctly phrased functional requirements for a school library system:

These are specific, measurable, and describe behaviour — not technology. Compare them to statements that are not functional requirements:

End-users and stakeholders

Different people have different needs from the same system. A stakeholder is anyone with an interest in the project — this includes end-users (the people who use the software daily), managers, clients who are paying for it, and sometimes even competitors. Part of the analysis phase is identifying all stakeholders and gathering their requirements.

Stakeholders can have conflicting requirements. For example, end-users might want a fast, simple interface, while managers want detailed audit logs of every action. The development team must resolve these conflicts during analysis, before design begins. Discovering a conflict after the system has been built is far more expensive to fix.

Worked examples

Example 1 — Library management system
1
Scenario: A secondary school wants a system to manage book loans. Pupils can borrow up to 3 books at once. Librarians can manage the catalogue and see who has each book.
2
Purpose: "The purpose of this system is to allow pupils to borrow and return books from the school library, and to let librarians manage the catalogue and monitor outstanding loans."
3
Scope:
In scope
  • ✓ Pupils searching for books
  • ✓ Borrowing and returning books
  • ✓ Librarians adding/removing books
  • ✓ Overdue loan warnings
Out of scope
  • ✗ Processing overdue fines
  • ✗ Ordering new stock
  • ✗ Pupil attendance records
4
Functional requirements:
  • The system must allow pupils to search for books by title or author.
  • The system must prevent a pupil from borrowing more than 3 books at once.
  • The system must record which pupil has borrowed each book.
  • The system must display an alert if a book has been on loan for more than 14 days.
Each requirement begins with "The system must", describes a specific behaviour, and avoids saying how it will be implemented.
Example 2 — School canteen pre-ordering app
1
Scenario: A school canteen wants an app where pupils order their lunch in advance each morning. This will reduce queuing at lunchtime and help the kitchen prepare the correct quantities.
2
Purpose: "The purpose of this app is to allow pupils to pre-order their school lunch each morning, reducing queuing and giving the canteen staff accurate order counts."
3
Boundaries: Pupils log in; they see the daily menu (input from canteen staff); they place one order per day; the system outputs an order summary to the kitchen. The system does not process payments — cash is still taken at the counter.
4
Functional requirements:
  • The system must allow pupils to log in using their school ID number.
  • The system must display today's lunch menu.
  • The system must allow pupils to place one order per day before 10:30am.
  • The system must allow pupils to cancel or change their order before 10:30am.
  • The system must generate a summary of all orders for the canteen at 10:30am.
Notice how the deadline (10:30am) appears inside the requirement itself — this makes it specific and testable.
Example 3 — Identifying functional requirements in a list
1
Task: From the list below, identify which statements are functional requirements and which are not. Explain each decision.
2
A: "The system must be easy to use."
Verdict: Not a functional requirement. It doesn't describe a specific behaviour. What does "easy to use" mean? There's no way to test whether the system passes or fails this requirement.
3
B: "The system must allow users to register an account using their email address and a password."
Verdict: Functional requirement. It describes a specific action the system must support. It is testable — you can check whether the system lets users register.
4
C: "The project must be delivered by 1 December 2026."
Verdict: Not a functional requirement. This is a project deadline — a constraint on the team, not a description of what the system does.
5
D: "The system must send a booking confirmation email within 5 minutes of a successful booking."
Verdict: Functional requirement. Specific, measurable, and describes system behaviour.
A functional requirement must describe something the system does. It must be specific enough to test.
Now you try
A local gym wants a membership management system. Members should be able to book exercise classes online using an app. Staff need to be able to manage bookings and view how many spaces are left in each class.

Write: (a) a purpose statement · (b) three things in scope · (c) one thing out of scope · (d) three functional requirements
⚠️ Common mistakes — examiner feedback
📝 Exam tip

When a question asks you to write functional requirements, always use "The system must…" and always refer to the scenario. Copying the phrasing from the scenario shows the examiner that your requirements are relevant. Vague or generic answers (not referring to the specific scenario) receive zero marks even if the format is correct.

Task Set A — Core questions

Task Set A — Core questions
Work through all questions, then check your answers.
Question 1
What is the term for a statement that describes something the system must do?
Question 2
Which of the following is a correctly phrased functional requirement?
Question 3
Complete the sentence: "The _______ of a software project defines the features that are included and excluded from development."
Question 4
A team is building a school library app. Which of the following would be OUT of scope?
Question 5
What term describes the tendency for a project to expand beyond its original plan as new features are continuously added?
Question 6
Describe what is meant by the 'purpose' of a software system. (2 marks)
Question 7
Which of the following best describes 'scope creep'?
Question 8
A school wants to build an app that lets pupils view their timetable and homework tasks, and lets teachers set homework. Write four functional requirements for this system. (4 marks)
Question 9
What term describes the people who will use a finished piece of software on a daily basis?
Question 10
Explain why identifying what is out of scope is just as important as identifying what is in scope. (2 marks)

Task Set B — Extension

Task Set B — Extension · Beyond the specification
Longer written answers — no auto-check. Discuss your answers with your teacher.
Extension 1
A client says: "I want a simple website to sell handmade jewellery." Write: (a) a purpose statement for the system, (b) three things in scope, (c) two things out of scope, and (d) four functional requirements.
Extension 2
Explain what is meant by a stakeholder and give an example of two stakeholders for an online banking system who might have conflicting requirements. Describe the conflict. (3 marks)
Extension 3
A functional requirement states: "The system should be fast." Explain why this is a poor functional requirement and rewrite it to make it specific and testable. (2 marks)
📁 File this in OneNote under:
Higher Computing Science → Software Design & Development → SDD2
📌 Teacher notes — not for pupils

Double period. No coding yet — this is a fully written/discussion lesson. Analysis is the foundation everything else builds on; pupils who understand requirements writing will find testing and evaluation much easier later.

Suggested timing: 10 min warm-up + vocab scan · 20 min notes (walk through examples 1 and 2 together, use think-pair-share for example 3) · 10 min "now you try" (pairs) · 40 min Task Set A · 10 min Task Set B (extension pairs) · 10 min debrief.

Common pupil confusion: they write requirements in the form "The user can…" or "Users should be able to…" — be firm that the correct form is "The system must…". This distinction is consistently examined.

Task Set B Q3 (poor functional requirement) is a favourite exam question style — worth spending time on as a class.