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:
- The process begins when the user starts the system.
- The system authenticates the user.
- If authentication is successful, the system displays available services.
- The user selects an operation and the system processes the request.
- 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
- The system shall allow users to create and manage accounts.
- The system shall allow users to submit requests or reports.
- The system shall allow users to view the status of their requests.
- The system shall notify users about important updates.
- The system shall allow users to search and view available services or information.
- The system shall allow users to update their personal information.
- The system shall provide real-time information about system activities.
- 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:
- The system shall allow users to submit requests through the system interface.
- The system shall store the submitted request information in the system database.
- The system shall display the submitted request details to the user.
- 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:
- The system shall allow residents to submit bin overflow reports.
- The system shall store the report and location data.
- The system shall notify municipal authorities about the issue.
- The system shall update the report status after resolution.
