- 2069 Chaitra · 7 marks
Functional versus non-functional requirements
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.
Differentiate function and nonfunctional requirement used during requirement engineering process.
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:
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".
✓ Answer checked by Claude Sonnet 5.5
Related questions
- Importance of requirement engineering; elicitation techniques · Software Engineering, chapter 1
- Requirement management process · Software Engineering, chapter 1
- Functional versus structural testing; COCOMO for 200 KLOC · Software Engineering, chapter 8
- Requirement engineering and specification · Software Engineering, chapter 1
- Restaurant information system requirements · Software Engineering, chapter 1
- Requirement gathering and analysis techniques · Software Engineering, chapter 1
- Functional vs non-functional; include and extend · Object Oriented Analysis and Design, chapter 2
- RoR headworks arrangement and functional requirements · Hydropower Engineering, chapter 5 · asked 3×
- General requirements of functional RoR headworks · Hydropower Engineering, chapter 5 · asked 2×
- Roof types, functional requirements, timber roofs · Building Technology, chapter 4 · asked 5×