wleci
AboutProjectsBlogContact
Contact
Back to blog
INF.04IT AnalysisSoftware Engineering

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.

December 24, 20253 min read
Share:

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

Describe the specific actions and functions that a system must perform. They answer the question: What is the system supposed to do?

Non-Functional Requirements

Define quality attributes and constraints of the system. They answer the question: How is the system supposed to work?

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).

CechaTraitFunctional Requirement
ExampleUser can reset their password.Page loads in under 2 seconds.
ContextSystem featuresQuality and performance
PriorityCritical for business operationsCritical for user experience and security

Common Mistakes and Pitfalls

Vague descriptions

Writing a requirement as 'The system must be fast' is a mistake. You must provide a specific value, e.g., 'Server response time must not exceed 200ms'.

Ignoring security

We often treat non-functional requirements (like data encryption) as an afterthought. This is a trap that leads to data breaches and costly fixes.

Pro Tips

Use the MoSCoW method

Divide requirements into those the system __Must__ have, __Should__ have, __Could__ have, and those it __Won't__ have this time.

Example: Banking App Analysis

text
- Fingerprint login\n- Executing a domestic transfer\n- Downloading a PDF statement

Quiz: 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

INF.04Programming

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.

2 min read
INF.04Programming

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.

2 min read
INF.04Programming

Mathematical Operators: The Foundation of Computing

Learn basic and advanced mathematical operators. Understand how modulo, incrementation works, and why operator precedence matters.

3 min read
Back to blog
wleci.pl

Full-stack Developer

I build modern web applications with passion for clean code and good design.

[email protected]
Poland

Navigation

  • Home
  • About
  • Projects
  • Blog
  • Contact

Services

  • Web applications
  • Websites
  • API & Backend
  • Consulting

Technologies

  • React / Next.js
  • TypeScript
  • Node.js
  • PostgreSQL

Social

© 2026 wleci.pl. All rights reserved.

Privacy policy•Terms of service

Made with in Poland