---
title: "Functional versus non-functional requirements"
subject: "Software Engineering"
chapter: 1
key: "semester_5/software_engineering:functional-nonfunctional"
source: https://www.bctengineer.com/q/semester_5/software_engineering/functional-nonfunctional
site: BCT Engineering
---

# Functional versus non-functional requirements

Software Engineering · Chapter 1: Software Process and requirements

- Asked in: 2069 Chaitra, 7 marks
- Video: [Functional vs Non-functional Requirements | Requirement Engineering | Software Engineering](https://www.youtube.com/watch?v=IBqO6aUkJSE) — Gate Smashers
- Answer checked by Claude Sonnet 5.5 on 2026-10-14
- Page: https://www.bctengineer.com/q/semester_5/software_engineering/functional-nonfunctional
- Whole chapter: https://www.bctengineer.com/md/semester_5/software_engineering/chapter-1

## Question

Differentiate function and nonfunctional requirement used during requirement engineering process.

## Short answer

Functional requirements define what the system does (services, features). Non-functional requirements specify constraints on how well it performs, such as speed, reliability, and security. The latter are often more critical for system acceptability.

## Answer

Requirements are descriptions of what a system should do and the constraints on how it operates. In requirements engineering they are divided mainly into **functional** and **non-functional** requirements.

#### Functional requirements
**Functional requirements** are statements of the **services** the system should provide, how it should react to particular inputs, and how it should behave in particular situations. They may also state what the system should **not** do.
- Describe *what* the system does: inputs, processing, outputs, data stored.
- Depend on the type of software, its users and the system.

Examples (library system):
- A member shall be able to search books by title, author or ISBN.
- The system shall issue a book and record the due date.
- The system shall calculate a fine of Rs. 5 per day for late return.

#### Non-functional requirements
**Non-functional requirements** are **constraints** on the services or functions offered by the system, or properties of the system as a whole, such as performance, reliability, security, usability and constraints on the development process or standards.
- Describe *how well* the system does its job.
- Often more critical than individual functional requirements: if a non-functional requirement is not met (for example, an aircraft control system that is not reliable), the whole system may be useless.

Examples (library system):
- Search results shall be shown within 2 seconds.
- The system shall be available 99% of the time during library hours.
- Only librarians shall be able to delete member records.

Sommerville classifies non-functional requirements as:

```text
Non-functional requirements
|-- Product requirements
|     usability, efficiency (performance,
|     space), reliability, portability
|-- Organisational requirements
|     delivery, implementation, standards
`-- External requirements
      interoperability, ethical,
      legislative (privacy, safety)
```

- **Product requirements**: behaviour of the product (speed, memory, reliability, usability, portability).
- **Organisational requirements**: from policies and procedures (process standards, programming language, delivery dates).
- **External requirements**: from outside factors (laws, privacy, interoperability with other systems, ethics).

#### Differences
| Basis | Functional requirement | Non-functional requirement |
|---|---|---|
| Meaning | What the system should do | How well / under what constraints |
| Focus | Services, features, behaviour | Quality attributes, constraints |
| Scope | Usually a single function | Often the system as a whole |
| Example | "Generate monthly salary slip" | "Slip generated within 3 seconds" |
| Source | User needs, business processes | Users, policies, laws, budget |
| Verification | Functional (black-box) testing | Performance, load, security, usability tests |
| Expression | Use cases, DFDs, feature lists | Measurable metrics (seconds, %, MTTF) |
| If not met | A feature is missing | System may be unusable or rejected |

Non-functional requirements should be written in a **measurable** way so that they can be tested, for example using metrics such as transactions per second, response time, mean time to failure, availability, or training time. A vague goal like "the system shall be easy to use" should be changed to "a new operator shall be able to use all functions after 2 hours of training".

## Check yourself

The answer's key points as multiple-choice questions, with the correct option and why.

1. What does a functional requirement describe?
   A. How well or under what constraints the system works
   B. The services the system should provide and how it reacts to particular inputs
   C. The cost of development
   D. The programming language to use
   Answer: B. Functional requirements state what the system does: inputs, processing and outputs. (Key point: Functional requirement)

2. Which of these is a non-functional requirement for a library system?
   A. The system shall issue a book and record the due date
   B. A member shall search books by ISBN
   C. The system shall calculate a fine of Rs. 5 per day
   D. Search results shall be shown within 2 seconds
   Answer: D. Response time is a performance constraint, i.e. how well the system works, not a feature. (Key point: Non-functional requirement)

3. Under Sommerville's classification, a requirement that comes from privacy law is which type?
   A. External requirement
   B. Product requirement
   C. Organisational requirement
   D. Functional requirement
   Answer: A. Laws, ethics and interoperability come from outside factors, so they are external requirements. (Key point: Classification of NFRs)

4. How are functional and non-functional requirements typically verified?
   A. Both only by code review
   B. Functional by black-box testing; non-functional by performance, load, security or usability tests
   C. Functional by load tests; non-functional by black-box tests
   D. Neither can be verified
   Answer: B. Features are checked with functional tests while quality attributes need performance, load, security or usability testing. (Key point: Verification)

## Related in Software Engineering

- [Importance of requirement engineering; elicitation techniques](https://www.bctengineer.com/question.md?key=semester_5%2Fsoftware_engineering%3Arequirement-engineering-importance) — Software Engineering, chapter 1
- [Requirement management process](https://www.bctengineer.com/question.md?key=semester_5%2Fsoftware_engineering%3Arequirement-management) — Software Engineering, chapter 1
- [Functional versus structural testing; COCOMO for 200 KLOC](https://www.bctengineer.com/question.md?key=semester_5%2Fsoftware_engineering%3Afunctional-vs-structural-cocomo2) — Software Engineering, chapter 8
- [Requirement engineering and specification](https://www.bctengineer.com/question.md?key=semester_5%2Fsoftware_engineering%3Arequirement-engineering-views) — Software Engineering, chapter 1
- [Restaurant information system requirements](https://www.bctengineer.com/question.md?key=semester_5%2Fsoftware_engineering%3Arestaurant-requirements) — Software Engineering, chapter 1
- [Requirement gathering and analysis techniques](https://www.bctengineer.com/question.md?key=semester_5%2Fsoftware_engineering%3Arequirement-gathering-techniques) — Software Engineering, chapter 1

## Related in other subjects

- [Functional vs non-functional; include and extend](https://www.bctengineer.com/question.md?key=semester_6%2Fobject_oriented_analysis_and_design%3Afunctional-nonfunctional-include-extend) — Object Oriented Analysis and Design, chapter 2
- [RoR headworks arrangement and functional requirements](https://www.bctengineer.com/question.md?key=semester_7%2Fhydropower_engineering%3Aror-headworks-arrangement-requirements) — Hydropower Engineering, chapter 5, asked 3×
- [General requirements of functional RoR headworks](https://www.bctengineer.com/question.md?key=semester_7%2Fhydropower_engineering%3Aror-headworks-requirements-only) — Hydropower Engineering, chapter 5, asked 2×
- [Roof types, functional requirements, timber roofs](https://www.bctengineer.com/question.md?key=semester_6%2Fbuilding_technology%3Aroof-types-requirements-timber) — Building Technology, chapter 4, asked 5×
