What are functional requirements in software engineering?
Functional requirements describe what a system should do. They specify the tasks, functions, or behaviors the software must perform to meet user needs.
Click to reveal answer
beginner
What are non-functional requirements?
Non-functional requirements define how a system performs its functions. They include qualities like speed, security, usability, and reliability.
Click to reveal answer
beginner
Give an example of a functional requirement.
An example is: 'The system must allow users to log in using a username and password.' This describes a specific action the system must perform.
Click to reveal answer
beginner
Give an example of a non-functional requirement.
An example is: 'The system should load the homepage within 2 seconds.' This describes a quality or performance measure, not a specific function.
Click to reveal answer
intermediate
Why are non-functional requirements important?
They ensure the system is usable, reliable, and efficient. Without them, a system might work but be slow, insecure, or hard to use.
Click to reveal answer
Which of the following is a functional requirement?
AThe system must send an email notification when a user registers.
BThe system should be available 99.9% of the time.
CThe system must load pages within 3 seconds.
DThe system should have a user-friendly interface.
✗ Incorrect
Functional requirements describe specific actions or behaviors, like sending an email notification.
Non-functional requirements usually describe:
AWhat the system does.
BThe programming language used.
CHow the system performs.
DThe number of users.
✗ Incorrect
Non-functional requirements focus on qualities like performance, security, and usability.
Which is an example of a non-functional requirement?
AThe system encrypts user data.
BUsers can reset their password.
CThe system must allow file uploads.
DUsers can create profiles.
✗ Incorrect
Encrypting data is a security quality, which is a non-functional requirement.
Functional requirements are important because they:
AImprove user satisfaction.
BDefine system features and behaviors.
CMake the system secure.
DEnsure the system is fast.
✗ Incorrect
Functional requirements specify what the system must do.
Which statement is true about non-functional requirements?
AThey are the same as functional requirements.
BThey are optional for software projects.
CThey describe system functions.
DThey include performance and reliability.
✗ Incorrect
Non-functional requirements include qualities like performance and reliability.
Explain the difference between functional and non-functional requirements with examples.
Think about what the system does versus how well it does it.
You got /4 concepts.
Why are both functional and non-functional requirements important in software development?
Consider what happens if one type is missing.
You got /3 concepts.
Practice
(1/5)
1. Which of the following best describes a functional requirement in software engineering?
easy
A. The look and feel of the user interface
B. A measure of how fast the system responds
C. A feature that specifies what the system should do
D. The hardware needed to run the software
Solution
Step 1: Understand the definition of functional requirements
Functional requirements describe specific behaviors or functions the system must perform.
Step 2: Match the option to the definition
A feature that specifies what the system should do states a feature specifying what the system should do, which matches the definition.
Final Answer:
A feature that specifies what the system should do -> Option C
Quick Check:
Functional requirement = What system does [OK]
Hint: Functional = what system does, Non-functional = how it does [OK]
Common Mistakes:
Confusing functional with non-functional requirements
Thinking performance is a functional requirement
Mixing hardware needs with software functions
2. Which of the following is an example of a non-functional requirement?
easy
A. The system must allow users to reset their password
B. The system should respond to user input within 2 seconds
C. The system must save user data to a database
D. The system must support login with username and password
Solution
Step 1: Identify non-functional requirements
Non-functional requirements describe how the system performs, such as speed or reliability.
Step 2: Evaluate each option
The system should respond to user input within 2 seconds specifies response time, which is a performance measure and thus non-functional.
Final Answer:
The system should respond to user input within 2 seconds -> Option B
Quick Check:
Non-functional = performance or behavior [OK]
Hint: Look for speed, usability, or reliability for non-functional [OK]
Common Mistakes:
Choosing features as non-functional requirements
Confusing functional actions with performance measures
Ignoring timing or quality aspects
3. Consider this statement: "The system shall encrypt all user data before saving." What type of requirement is this?
medium
A. Functional requirement
B. Non-functional requirement
C. Neither functional nor non-functional
D. Both functional and non-functional
Solution
Step 1: Analyze the statement's action
Encrypting data is a specific action the system must perform, describing what it does.
Step 2: Classify the requirement type
Since it describes a function (encryption), it is a functional requirement.
Final Answer:
Functional requirement -> Option A
Quick Check:
Encryption = system function = functional [OK]
Hint: If it describes a system action, it's functional [OK]
Common Mistakes:
Thinking encryption is a performance or quality aspect
Confusing security features with non-functional requirements
Selecting 'both' without clear reasoning
4. A software team wrote this requirement: "The system must be user-friendly." What is the main issue with this requirement?
medium
A. It describes a functional requirement incorrectly
B. It is a security requirement
C. It is a hardware requirement, not software
D. It is too vague and not measurable
Solution
Step 1: Understand the requirement's nature
"User-friendly" describes a quality but is subjective and lacks clear criteria.
Step 2: Identify the problem
Requirements must be clear and measurable; this one is vague and cannot be tested easily.
Final Answer:
It is too vague and not measurable -> Option D
Quick Check:
Good requirements = clear + measurable [OK]
Hint: Vague terms mean poor requirements [OK]
Common Mistakes:
Assuming all non-functional requirements are clear
Confusing vague qualities with functional features
Ignoring measurability in requirements
5. A project requires the system to handle 1000 users simultaneously and respond within 1 second. Which combination correctly classifies these requirements?
hard
A. "Handle 1000 users simultaneously" is functional; "respond within 1 second" is non-functional
B. "Handle 1000 users simultaneously" is non-functional; "respond within 1 second" is functional