Computer Science
Grade 10
20 min
Requirements Gathering
Requirements Gathering
Tutorial Preview
1
Introduction & Learning Objectives
Learning Objectives
Define 'requirements gathering' and explain its critical importance in the software development lifecycle.
Differentiate between functional and non-functional requirements using clear examples.
Identify key stakeholders in a software project and describe their potential influence.
Compare at least three common requirements gathering techniques (interviews, surveys, observation).
Write a simple user story following the standard 'As a [user], I want [goal], so that [reason]' format.
Create a basic requirements list for a simple application, categorizing each item as functional or non-functional.
Ever used an app and thought, 'Why doesn't it just do this one simple thing?' 🤔 That frustration often starts long before any co...
2
Key Concepts & Vocabulary
TermDefinitionExample
StakeholderAny person, group, or organization who can affect or is affected by a software project.For a school grading app, stakeholders include students (the users), teachers (who input grades), parents (who view grades), and school administrators (who manage the system).
Functional RequirementA requirement that specifies a function the system must be able to perform. It describes *what* the system does.For a photo-sharing app: 'The system shall allow a user to upload a photo from their device's gallery.'
Non-Functional RequirementA requirement that describes *how* the system performs a certain function. It relates to qualities like performance, security, and usability.For a photo-sharing app: 'Uploading a photo must complete in under 5 seconds o...
3
Core Syntax & Patterns
The User Story Format
As a <type of user>, I want <some goal>, so that <some reason>.
Use this format to capture functional requirements from a user's perspective. It forces you to think about WHO the user is, WHAT they need to do, and WHY they need to do it, ensuring features have a clear purpose.
Functional vs. Non-Functional Categorization
Functional = WHAT it does. Non-Functional = HOW it does it.
Always categorize requirements to separate the system's features (e.g., 'log in') from its quality attributes (e.g., 'log in securely and quickly'). This helps in planning both development and system architecture.
The 'SMART' Criteria for Requirements
Requirements should be Specific, Measurable, Achievable, Relevan...
4 more steps in this tutorial
Sign up free to access the complete tutorial with worked examples and practice.
Sign Up Free to ContinueSample Practice Questions
Challenging
You are gathering requirements for the School Cafeteria App. The cafeteria manager (stakeholder) wants a detailed inventory tracking system, while students (stakeholders) primarily want a fast, simple ordering process. These requirements may conflict in terms of development time. What is the best first step to resolve this?
A.Build the students' features first because there are more of them.
B.Facilitate a meeting between the manager and a student representative to prioritize features for the Minimum Viable Product (MVP).
C.Ignore the manager's request because it makes the app too complex.
D.Build both features simultaneously by hiring more developers.
Challenging
A user story for the Class Project Management Tool is: 'As a teacher, I want to view a summary of each team's task completion, so that I can identify groups that are falling behind.' Which pair of requirements best supports this user story?
A.Functional: A dashboard page for teachers showing project names and a percentage-complete bar for each. Non-Functional: The dashboard data must be updated in real-time, refreshing every 5 seconds.
B.Functional: Students can log in with a username and password. Non-Functional: Passwords must be at least 8 characters long.
C.Functional: Students can create new tasks. Non-Functional: The website must be compatible with the Chrome browser.
D.Functional: A button to export data to a CSV file. Non-Functional: The application must be deployed on the school's server.
Challenging
A team used only surveys to gather requirements for a new school event app. After launch, they discovered they completely missed a critical need for teachers to manage student attendance at events. Which other technique, if used in combination with surveys, would have been MOST likely to discover this missed requirement?
A.More surveys, but sent to a larger group of students.
B.Brainstorming sessions with only the development team.
C.Interviews with a diverse group of stakeholders, including teachers and event organizers.
D.Observing how students currently find out about events.
Want to practice and check your answers?
Sign up to access all questions with instant feedback, explanations, and progress tracking.
Start Practicing Free