3 Lecture
CS504
Midterm & Final Term Short Notes
Requirement Engineering-1
Requirement Engineering: Discover the vital process of gathering, analyzing, and defining software requirements. Learn techniques to elicit user needs, manage stakeholder expectations, and translate them into clear and concise specifications. Ma
Important Mcq's
Midterm & Finalterm Prepration
Past papers included
Download PDF
What is the primary goal of requirement engineering? a) To develop software prototypes b) To manage software development teams c) To gather, analyze, and define software requirements d) To conduct usability testing Solution: c) To gather, analyze, and define software requirements Which of the following is not a requirement type? a) Functional requirement b) Non-functional requirement c) Design requirement d) Performance requirement Solution: c) Design requirement Which requirement engineering technique involves observing users in their natural environment? a) Interviews b) Questionnaires c) Use case modeling d) Ethnography Solution: d) Ethnography What is the purpose of a use case diagram in requirement engineering? a) To describe the behavior of a system b) To depict the interaction between system components c) To specify the system architecture d) To represent the system's user interface Solution: a) To describe the behavior of a system Which technique is used to prioritize requirements based on their importance? a) Prototyping b) Risk analysis c) Impact analysis d) MoSCoW prioritization Solution: d) MoSCoW prioritization What is the main advantage of using a requirements traceability matrix? a) It helps in identifying software bugs b) It ensures that all requirements are met c) It improves user satisfaction d) It speeds up the software development process Solution: b) It ensures that all requirements are met Which of the following is an example of a non-functional requirement? a) The system must allow users to create an account b) The system must process requests within 2 seconds c) The system must be compatible with Windows and macOS d) The system must generate weekly reports Solution: b) The system must process requests within 2 seconds What does the acronym SMART stand for in the context of requirement specification? a) Specific, Measurable, Achievable, Relevant, Time-bound b) Simple, Modifiable, Acceptable, Realistic, Timely c) Structured, Managed, Accurate, Reliable, Thorough d) Scalable, Maintainable, Adaptable, Robust, Testable Solution: a) Specific, Measurable, Achievable, Relevant, Time-bound Which of the following is a requirement validation technique? a) Use case modeling b) User story mapping c) Requirements review d) Requirement prioritization Solution: c) Requirements review What is the purpose of requirements elicitation? a) To document software requirements b) To prioritize requirements c) To gather requirements from stakeholders d) To analyze and refine requirements Solution: c) To gather requirements from stakeholders
Subjective Short Notes
Midterm & Finalterm Prepration
Past papers included
Download PDF
What is the role of a requirements engineer in the software development process? Answer: The role of a requirements engineer is to gather, analyze, and define software requirements, ensuring that they accurately capture the needs and expectations of stakeholders. Explain the difference between functional and non-functional requirements. Answer: Functional requirements define what a system should do, specifying its behavior and functionality. Non-functional requirements, on the other hand, define how the system should perform, encompassing qualities like performance, usability, security, and reliability. Why is it important to involve stakeholders in the requirements engineering process? Answer: Involving stakeholders ensures that their perspectives and requirements are considered, leading to a more comprehensive and accurate set of requirements. It helps in aligning the software solution with their needs and increasing their satisfaction. What are the common challenges faced during requirements elicitation? Answer: Common challenges include incomplete or ambiguous requirements, conflicting stakeholder expectations, changing requirements, and difficulty in prioritizing and managing requirements effectively. What is the purpose of requirements prioritization? Answer: Requirements prioritization helps in determining the relative importance of requirements, ensuring that the most critical and valuable ones are addressed first. It assists in resource allocation and decision-making throughout the software development process. How can traceability matrices aid in requirements management? Answer: Traceability matrices establish links between requirements and other artifacts, such as design documents, test cases, and code. They help in tracking the origin, impact, and coverage of requirements, enabling effective change management and ensuring requirements are properly addressed. Describe the concept of requirement validation. Answer: Requirement validation involves evaluating and reviewing requirements to ensure their correctness, completeness, and consistency. It helps in identifying potential issues, clarifying ambiguities, and refining requirements before moving forward with the development process. What is the significance of prototyping in requirements engineering? Answer: Prototyping allows stakeholders to visualize and interact with a preliminary version of the software, providing early feedback on the requirements. It helps in validating requirements, identifying usability issues, and improving the overall quality of the final product. How can conflicts or disagreements among stakeholders' requirements be resolved? Answer: Conflicts or disagreements among stakeholders' requirements can be resolved through effective communication, negotiation, and compromise. Facilitation techniques, such as brainstorming or consensus building, can be employed to find mutually acceptable solutions. What is the role of a requirements traceability matrix in change management? Answer: A requirements traceability matrix helps in managing changes by providing a structured way to track the impact of changes on requirements, ensuring that any modifications or updates are properly evaluated, communicated, and implemented.