Bird
Raised Fist0
Software Engineeringknowledge~10 mins

Functional vs non-functional requirements in Software Engineering - Interactive Practice

Choose your learning style10 modes available
Practice - 5 Tasks
Answer the questions below
1fill in blank
easy

Complete the sentence to identify a functional requirement.

Software Engineering
A functional requirement describes what a system [1] to do.
Drag options to blanks, or click blank then click option'
Aneeds
Bshould
Cwants
Ddoes
Attempts:
3 left
💡 Hint
Common Mistakes
Confusing functional requirements with user desires or needs.
Thinking functional requirements describe qualities instead of actions.
2fill in blank
medium

Complete the sentence to identify a non-functional requirement.

Software Engineering
A non-functional requirement defines how well a system [1] its functions.
Drag options to blanks, or click blank then click option'
Aperforms
Bexecutes
Cdelivers
Dimplements
Attempts:
3 left
💡 Hint
Common Mistakes
Mixing up non-functional with functional requirements.
Thinking non-functional requirements describe specific system actions.
3fill in blank
hard

Fix the error in the statement about requirements.

Software Engineering
Functional requirements describe system qualities like [1] and security.
Drag options to blanks, or click blank then click option'
Afeatures
Busability
Cspeed
Dperformance
Attempts:
3 left
💡 Hint
Common Mistakes
Confusing qualities with functions.
Assuming security is a functional requirement.
4fill in blank
hard

Fill both blanks to complete the example of functional and non-functional requirements.

Software Engineering
A functional requirement might be 'The system shall [1] user login', while a non-functional requirement might be 'The system shall respond within [2] seconds'.
Drag options to blanks, or click blank then click option'
Aallow
Bauthenticate
C2
D5
Attempts:
3 left
💡 Hint
Common Mistakes
Choosing vague verbs for functional requirements.
Picking unrealistic or incorrect time values for non-functional requirements.
5fill in blank
hard

Fill all three blanks to complete the dictionary comprehension that separates functional and non-functional requirements.

Software Engineering
requirements = {req: type for req, type in req_list if type == '[1]' or type == '[2]' and req != '[3]'}
Drag options to blanks, or click blank then click option'
Afunctional
Bnon-functional
Cperformance
Dsecurity
Attempts:
3 left
💡 Hint
Common Mistakes
Mixing up functional and non-functional strings.
Incorrectly excluding the wrong requirement.

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

  1. Step 1: Understand the definition of functional requirements

    Functional requirements describe specific behaviors or functions the system must perform.
  2. 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.
  3. Final Answer:

    A feature that specifies what the system should do -> Option C
  4. 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

  1. Step 1: Identify non-functional requirements

    Non-functional requirements describe how the system performs, such as speed or reliability.
  2. 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.
  3. Final Answer:

    The system should respond to user input within 2 seconds -> Option B
  4. 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

  1. Step 1: Analyze the statement's action

    Encrypting data is a specific action the system must perform, describing what it does.
  2. Step 2: Classify the requirement type

    Since it describes a function (encryption), it is a functional requirement.
  3. Final Answer:

    Functional requirement -> Option A
  4. 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

  1. Step 1: Understand the requirement's nature

    "User-friendly" describes a quality but is subjective and lacks clear criteria.
  2. Step 2: Identify the problem

    Requirements must be clear and measurable; this one is vague and cannot be tested easily.
  3. Final Answer:

    It is too vague and not measurable -> Option D
  4. 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
C. Both are functional requirements
D. Both are non-functional requirements

Solution

  1. Step 1: Analyze "handle 1000 users simultaneously"

    This describes a specific system function to support multiple users at once, which is a functional requirement.
  2. Step 2: Analyze "respond within 1 second"

    This describes a performance measure, how fast the system reacts, so it is non-functional.
  3. Final Answer:

    "Handle 1000 users simultaneously" is functional; "respond within 1 second" is non-functional -> Option A
  4. Quick Check:

    Function = what system does; Performance = how system performs [OK]
Hint: Capacity = functional; speed = non-functional [OK]
Common Mistakes:
  • Classifying capacity as non-functional
  • Mixing performance with system capabilities
  • Ignoring the difference between function and quality
Recommended

Ready to prove it?

Pass the test and this pattern moves unknown strong while earning +1 Grip toward your certificate.

10 questions~5 mineasy hard