Bird
Raised Fist0
Software Engineeringknowledge~5 mins

Requirements elicitation techniques in Software Engineering - Time & Space Complexity

Choose your learning style10 modes available
Time Complexity: Requirements elicitation techniques
O(n * m)
Understanding Time Complexity

When gathering requirements, the time it takes to collect and understand user needs can vary greatly.

We want to see how the effort grows as the number of stakeholders or requirements increases.

Scenario Under Consideration

Analyze the time complexity of this simple requirements gathering process.

def gather_requirements(stakeholders):
    requirements = []
    for person in stakeholders:
        for question in person.questions:
            answer = ask(question)
            requirements.append(answer)
    return requirements

This code collects answers to questions from each stakeholder to build a list of requirements.

Identify Repeating Operations

Look at the loops that repeat work:

  • Primary operation: Asking questions to stakeholders.
  • How many times: For each stakeholder, it asks all their questions.
How Execution Grows With Input

As the number of stakeholders or questions grows, the total questions asked grows too.

Input Size (stakeholders x questions)Approx. Operations (questions asked)
10 stakeholders x 5 questions50
100 stakeholders x 5 questions500
1000 stakeholders x 5 questions5000

Pattern observation: The total work grows directly with the number of questions asked.

Final Time Complexity

Time Complexity: O(n * m)

This means the time grows proportionally to the number of stakeholders times the number of questions per stakeholder.

Common Mistake

[X] Wrong: "The time only depends on the number of stakeholders, not questions."

[OK] Correct: Each stakeholder can have many questions, so total time depends on both factors multiplied.

Interview Connect

Understanding how effort scales with more users or questions helps you plan and communicate project timelines clearly.

Self-Check

"What if we only asked a fixed number of questions regardless of stakeholders? How would the time complexity change?"

Practice

(1/5)
1. Which of the following is a primary goal of requirements elicitation techniques in software engineering?
easy
A. To test the software for bugs
B. To write the final code for the software
C. To gather and understand what users and stakeholders want
D. To deploy the software to users

Solution

  1. Step 1: Understand the purpose of requirements elicitation

    Requirements elicitation is about collecting needs and expectations from users and stakeholders before development.
  2. Step 2: Differentiate from other software phases

    Writing code, testing, and deployment happen after requirements are gathered.
  3. Final Answer:

    To gather and understand what users and stakeholders want -> Option C
  4. Quick Check:

    Requirements elicitation = gathering needs [OK]
Hint: Elicitation means gathering needs from users [OK]
Common Mistakes:
  • Confusing elicitation with coding or testing
  • Thinking deployment is part of elicitation
2. Which of the following is the correct description of the interview technique in requirements elicitation?
easy
A. A group discussion with many stakeholders at once
B. A written questionnaire sent to users
C. Watching users interact with the current system silently
D. A one-on-one conversation to gather detailed information

Solution

  1. Step 1: Define the interview technique

    An interview is a direct, one-on-one conversation to get detailed user needs.
  2. Step 2: Compare with other techniques

    Group discussions are workshops, questionnaires are surveys, and silent watching is observation.
  3. Final Answer:

    A one-on-one conversation to gather detailed information -> Option D
  4. Quick Check:

    Interview = one-on-one talk [OK]
Hint: Interview means talking directly to one person [OK]
Common Mistakes:
  • Mixing interviews with group workshops
  • Confusing interviews with surveys or observations
3. Consider a project team using both surveys and observations to gather requirements. What is the main benefit of combining these two techniques?
medium
A. It reduces the total time needed to gather requirements
B. It provides both user opinions and actual user behavior insights
C. It eliminates the need for stakeholder meetings
D. It ensures all requirements are gathered without any missing

Solution

  1. Step 1: Understand surveys and observations

    Surveys collect user opinions via questions; observations watch real user actions.
  2. Step 2: Identify combined benefit

    Using both gives a fuller picture: what users say and what they actually do.
  3. Final Answer:

    It provides both user opinions and actual user behavior insights -> Option B
  4. Quick Check:

    Surveys + observations = opinions + behavior [OK]
Hint: Combine opinions (surveys) with actions (observations) [OK]
Common Mistakes:
  • Assuming combination always saves time
  • Believing it guarantees no missing requirements
4. A team used only interviews to gather requirements but missed some important user needs. What is the most likely reason?
medium
A. They did not use multiple elicitation techniques together
B. Interviews always produce incomplete data
C. Users do not know their own needs
D. Interviews are only for technical requirements

Solution

  1. Step 1: Recognize limitation of single technique

    Using only interviews can miss some needs because users may forget or not mention everything.
  2. Step 2: Importance of multiple techniques

    Combining interviews with surveys, observations, or workshops improves completeness.
  3. Final Answer:

    They did not use multiple elicitation techniques together -> Option A
  4. Quick Check:

    Single technique misses needs; combine methods [OK]
Hint: Use multiple techniques to avoid missing needs [OK]
Common Mistakes:
  • Thinking interviews always fail
  • Blaming users for not knowing needs
  • Assuming interviews only cover technical needs
5. A software team wants to ensure they capture both explicit and hidden user requirements for a complex system. Which combination of elicitation techniques is best suited for this goal?
hard
A. Observations and interviews, to see real behavior and ask detailed questions
B. Interviews and workshops, to discuss and clarify needs interactively
C. Only surveys, because they reach many users quickly
D. Workshops alone, since group consensus covers all needs

Solution

  1. Step 1: Identify explicit vs hidden requirements

    Explicit needs are clearly stated; hidden needs are revealed by watching real user behavior.
  2. Step 2: Match techniques to requirement types

    Observations reveal hidden needs by watching actions; interviews clarify explicit needs by asking questions.
  3. Step 3: Evaluate other options

    Surveys alone miss hidden needs; workshops help but may not reveal hidden behaviors fully.
  4. Final Answer:

    Observations and interviews, to see real behavior and ask detailed questions -> Option A
  5. Quick Check:

    Hidden + explicit needs = observations + interviews [OK]
Hint: Use observation for hidden, interviews for explicit needs [OK]
Common Mistakes:
  • Relying only on surveys or workshops
  • Ignoring hidden requirements from behavior
  • Assuming group talks reveal all needs
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