Functional vs. Non-Functional Requirements: What must your system do?
Understand the basics of IT analysis. Learn the difference between what a system does and how it does it. Examples, comparisons, and a quiz.
Functional vs. Non-Functional Requirements
Imagine you are ordering a car. Your requirement is for the vehicle to drive, turn, and brake. These are functions. However, you also want it to be red, consume little fuel, and be safe. These are non-functional traits. In the IT world, it works exactly the same way.
Functional Requirements
Non-Functional Requirements
How does it look in practice?
Every project starts by gathering a list of needs. Without distinguishing them, developers might build a system that technically works but is unusable (e.g., it takes 10 minutes to load).
| Cecha | Trait | Functional Requirement |
|---|---|---|
| Example | User can reset their password. | Page loads in under 2 seconds. |
| Context | System features | Quality and performance |
| Priority | Critical for business operations | Critical for user experience and security |
Common Mistakes and Pitfalls
Vague descriptions
Ignoring security
Pro Tips
Use the MoSCoW method
Example: Banking App Analysis
- Fingerprint login\n- Executing a domestic transfer\n- Downloading a PDF statementQuiz: Check your knowledge
In which category would you place the requirement: 'The system must work correctly on the Safari browser'?
Requirements Structure (Mermaid)
What next?
- Learn how to write requirements using the SMART principle (Specific, Measurable, Achievable, Relevant, Time-bound).
- Familiarize yourself with the concept of a User Story (As a user I want to..., so that...).
- Read about the ISO/IEC 25010 standard, which classifies software quality.
- Analyze any application (e.g., Facebook) and try to list 5 non-functional requirements.
- Check INF.04 exam tasks regarding system requirements analysis.
You might also like
Relational and Logical Operators: How to Compare Data?
Understand how comparison operators work and how to combine conditions using AND, OR, and NOT. Essential knowledge for control statements.
Conditional Operator: Short-hand if-else in one line
Learn the ternary operator. Find out how to shorten your code and when to use it instead of classic if-else statements.
Mathematical Operators: The Foundation of Computing
Learn basic and advanced mathematical operators. Understand how modulo, incrementation works, and why operator precedence matters.