712 User requirements
Translate the needs of your stakeholders into clear and testable requirements using structured documentation and visual modelling tools.
User stories
User requirements describe what the system must do to meet the needs of different users. These are expressed as user stories, written from the user's perspective. A user story captures a goal and its reason, and helps ensure the system is grounded in real needs.
Each user story follows the format:
As a [user type], I want to [action], so that [goal].
These are not technical specifications. They are plain-language descriptions of what users expect to be able to do. Later in the project, they will be refined into functional and non-functional requirements during system design.
Bug Tracker – sample user stories
As a developer, I want to update a bug’s status so my team knows what I’m working on.
As a project manager, I want to assign bugs to developers to distribute work effectively.
As a tester, I want to report new bugs with screenshots so developers have the necessary information.
As an admin, I want to control user access levels to protect sensitive project data.
As a team member, I want to comment on bugs so that I can contribute suggestions or context.
These stories help define what the system should support. Once gathered, they become the basis for creating user flows.
From user stories to user flows
A user flow describes the steps a user takes to achieve the goal described in a user story. Depending on how the user interacts with the system, multiple user stories may lead to multiple distinct flows, or the same story might give rise to several alternative flows.
Bug Tracker – flow for the developer updating a bug
Log in
View assigned bugs
Open bug detail
Change status to “In Progress”
Add a comment
Submit changes
Return to dashboard
Another flow might begin with a notification email or a bug search. These are different starting points, but they share the same underlying story.
Storyboarding the user experience
A storyboard is a sequence of panels that visualise what the user sees and does during the interaction. It focuses on the interface and user experience, rather than logic.
Each frame shows a key screen or moment in the flow, usually accompanied by a short caption.
Bug Tracker – storyboard for reporting a new bug
Login screen – User enters credentials
Dashboard – User clicks “New Bug”
Bug form – User enters title, description, and uploads a screenshot
Submit screen – A message confirms the bug was created
Bug list – New bug appears at the top
Storyboards help test your assumptions. Before any code is written, you can spot missing screens, unclear steps, or awkward transitions. You can spot missing screens, unclear steps, or awkward transitions before any code is written.

Synthesising user flows into diagrams
A user flow diagram brings together the logic behind user flows. It visualises common paths and variations, using boxes for steps and arrows for transitions.
Bug Tracker – user flow diagram (developer flow)
[Login]
↓
[View Dashboard]
↓
[Select Bug]
↓
[Edit Bug: Change Status + Add Comment]
↓
[Submit Changes]
↓
[Confirmation Message]
↓
[Return to Dashboard]
A single diagram may represent the synthesis of multiple user flows (below) derived from different stories. This helps identify shared pathways and structural requirements for the system.

Working through user stories, flows, and diagrams ensures your project starts with a solid foundation. These artefacts guide the system design phase and provide the structure for testing, validation, and user feedback.
Actions
Use the examples below to create the following drafts for your software engineering project:
User stories
User flows
Storyboards
User flow diagram
Resources
The examples below show a possible approach for establishing user requirements for a Bug Tracker, a structured system for logging, managing, and resolving software bugs, replacing ad hoc methods like email and spreadsheets.
Last updated
Was this helpful?