Software Engineering and Requirements Analysis Q&A

Software Engineering Practice Questions

1Q: Which of the following statements about domain requirements is FALSE?
A: Domain requirements typically specify how a system must implement a feature.

2Q: In which scenario would the V-Model be the best choice for software development?
A: When the project requires early testing and strict validation.

3Q: Which of the following is the biggest challenge in requirements elicitation for large-scale systems?
A: Ensuring that all stakeholders provide input without conflict.

4Q: For a mission-critical system (e.g., aerospace software) where failure is not an option, which SDLC model is most suitable?
A: Waterfall Model

5Q: In the Incremental Development Model, how are requirements managed?
A: High-priority requirements are implemented first, with lower-priority ones handled in later increments.

6Q: What is the most important factor when selecting an SDLC model for a project?
A: The complexity, risk level, and flexibility of requirements.

7Q: Which of the following best explains why V-Model is not suitable for iterative development?
A: It requires extensive upfront planning and detailed requirement specifications.

8Q: What is the key advantage of the Sawtooth Model over traditional Waterfall and V-Model approaches?
A: It combines iterative feedback with structured development.

9Q: Which characteristic must a good requirement specification always satisfy?
A: It should be testable and verifiable.

10Q: Which of the following is an example of a non-functional requirement?
A: “The system should support 100,000 concurrent users with a response time of <2 seconds.”

11Q: What is the primary purpose of requirements traceability?
A: To document how each requirement relates to design, implementation, and testing.

12Q: “The cloud-based payroll system shall maintain 99.99% uptime…” What type of non-functional requirement is this?
A: Availability requirement

13Q: “The flight control system must continue to operate correctly even in the event of a hardware failure.” What type of non-functional requirement is this?
A: Reliability requirement

14Q: Which requirements elicitation technique is best suited for capturing unspoken user needs in a workplace environment?
A: Ethnographic Studies

15Q: “The mobile banking application shall allow users to complete a funds transfer in no more than three steps.” What type of non-functional requirement is this?
A: Usability requirement

16Q: Which of the following is an incorrect classification of requirements?
A: “The system shall support multiple user roles with different access levels.” → NFR

17Q: Which correctly lists the stages of the Requirements Engineering Process?
A: Elicitation → Specification → Validation → Management

18Q: What is the primary reason why requirements change during a system’s lifetime?
A: Business environment evolution and new user needs

19Q: Why are domain requirements particularly difficult to elicit from stakeholders?
A: They are often implicit, as experts assume they are universally understood.

20Q: In the Spiral Model, what determines the number of iterations in the development process?
A: The complexity and risk level of the project.

21Q: Which requirements validation technique is most effective for ensuring completeness and consistency before implementation?
A: Requirements reviews and stakeholder walkthroughs

22Q: Which one of these statements about Git is true?
A: Git helps manage the history of the project.

23Q: If a remote repository is offline, which statement is true?
A: You can continue to work with the local repository.

24Q: What is the primary function of Git in software development?
A: Tracking changes in source code and enabling collaboration

25Q: Which of the following is NOT a key phase in the Spiral Model?
A: Continuous Development.

26Q: Which testing phase in the V-Model corresponds to the requirement analysis phase?
A: User Acceptance Testing

27Q: Which expression is least appropriate for a performance-related non-functional requirement?
A: Must improve system performance

28Q: How does the IEEE SRS differentiate between functional and non-functional requirements?
A: Functional requirements describe system behavior, while non-functional requirements define constraints and qualities.

29Q: In which scenario is the Waterfall Model the best choice?
A: When requirements are fixed and well-defined.

30Q: What is the main objective of the IEEE Software Requirements Specification (SRS) standard?
A: To provide a structured framework for documenting software requirements.

Common Requirement Ambiguities

  • Missing Detail (Omission): The requirement does not specify which payment methods are supported.
  • Method Ambiguity: The requirement does not specify how order confirmation is delivered (email, SMS, etc.).
  • Process Ambiguity: The requirement does not explain how delivery tracking works.
  • Timing Ambiguity: The requirement does not specify when customers can leave ratings and reviews.
  • Role / Responsibility Ambiguity: The requirement does not specify which restaurant staff can accept or reject orders.

UML and Process Modeling

Diagram Type: UML Activity Diagram

Process Flow Template:

  1. The process begins when the user starts the system.
  2. The system authenticates the user.
  3. If authentication is successful, the system displays available services.
  4. The user selects an operation and the system processes the request.
  5. The system completes the operation and ends the process.

UML Symbols:

  • ● = Start
  • Rounded Rectangle = Activity
  • ◇ = Decision
  • → = Flow
  • ▬ = Fork / Join
  • ◎ = End

Non-Functional Requirements Examples

  • Performance: The system shall respond within 2 seconds.
  • Availability: The system shall maintain uptime of at least 99%.
  • Security: The system shall encrypt all sensitive user data.
  • Reliability: The system shall recover within 5 seconds after a system failure.

User Requirements List

  1. The system shall allow users to create and manage accounts.
  2. The system shall allow users to submit requests or reports.
  3. The system shall allow users to view the status of their requests.
  4. The system shall notify users about important updates.
  5. The system shall allow users to search and view available services or information.
  6. The system shall allow users to update their personal information.
  7. The system shall provide real-time information about system activities.
  8. The system shall allow users to provide feedback or ratings.

Functional Requirements Mapping

User Requirement: The system shall allow users to submit requests or reports.

Functional System Requirements:

  1. The system shall allow users to submit requests through the system interface.
  2. The system shall store the submitted request information in the system database.
  3. The system shall display the submitted request details to the user.
  4. The system shall notify administrators or responsible authorities when a new request is submitted.

Real-World Example: Bin Overflow Reporting

User Requirement: Residents can report overflowing bins.

Functional Requirements:

  1. The system shall allow residents to submit bin overflow reports.
  2. The system shall store the report and location data.
  3. The system shall notify municipal authorities about the issue.
  4. The system shall update the report status after resolution.