Requirements engineering: elicitation, SRS, use cases and requirement modelling. - Question Bank

1. What is an 'exception condition' in a use case description?
A) A step that is always performed.
B) A situation where the normal flow of events is interrupted or fails.
C) An alternative path to achieve the goal.
D) A user interface element.
2. What is a key benefit of involving end-users in the requirements engineering process?
A) To reduce the cost of development.
B) To ensure the software meets their actual needs and is usable.
C) To speed up the coding process.
D) To delegate development tasks.
3. Which requirement modeling technique focuses on the data entities and their relationships, often used for database design?
A) Use Case Diagram
B) Data Flow Diagram
C) Entity-Relationship Diagram
D) State Machine Diagram
4. What does the term 'domain analysis' refer to in requirements engineering?
A) Analyzing the project management tools.
B) Studying the specific subject area or industry for which the software is being developed.
C) Evaluating the performance of existing software.
D) Designing the user interface.
5. What is the purpose of an 'optional' step in a use case description?
A) It must always be performed.
B) It is performed only under specific conditions or is not essential for the main goal.
C) It is performed after the main goal is achieved.
D) It is an alternative path to success.
6. Which of the following is a form of requirements elicitation that involves asking a set of questions to a group of stakeholders?
A) Workshops
B) Surveys
C) Prototyping
D) Observation
7. What is a 'business rule' in the context of requirements?
A) A rule governing the internal system design.
B) A policy or guideline that governs business operations and is often reflected in system requirements.
C) A rule for software testing.
D) A rule for hardware configuration.
8. In requirement engineering, what is the difference between 'what' and 'how'?
A) 'What' refers to the implementation details, 'how' refers to the user needs.
B) 'What' refers to the system's required functionality, 'how' refers to the implementation strategy.
C) 'What' refers to non-functional requirements, 'how' refers to functional requirements.
D) 'What' refers to the project scope, 'how' refers to the project budget.
9. What does a 'Class Diagram' depict?
A) The flow of data through a system.
B) The states and transitions of an object.
C) The structure of a system in terms of classes, attributes, operations, and relationships.
D) The interactions between actors and the system.
10. Which modeling technique is most suitable for visualizing the relationships between different classes in an object-oriented system?
A) Data Flow Diagram
B) Use Case Diagram
C) Class Diagram
D) State Machine Diagram
11. What is requirements traceability?
A) The process of writing software code.
B) The ability to track the origin, usage, and changes of requirements throughout the development lifecycle.
C) The performance testing of the system.
D) The documentation of user manuals.
12. What is the main challenge in requirements elicitation?
A) Writing efficient code.
B) Understanding and capturing the true needs of diverse stakeholders.
C) Designing the database.
D) Testing the system thoroughly.
13. Which of the following is a key characteristic of a well-defined requirement?
A) Ambiguity
B) Vagueness
C) Testability
D) Incompleteness
14. What is the purpose of a 'System Context Diagram' (Level 0 DFD)?
A) To show the detailed internal processes of the system.
B) To illustrate the system as a single process and its interactions with external entities.
C) To define the database schema.
D) To describe the user interface.
15. What is a 'scenario' in requirements engineering?
A) A formal definition of a system state.
B) A specific sequence of actions or events that illustrates how a system is used.
C) A diagram showing data flow.
D) A list of non-functional requirements.
16. Which elicitation technique is useful for understanding user preferences and gathering feedback on specific features?
A) Ethnography
B) Surveys and questionnaires
C) System design documents
D) Code reviews
17. What is the 'cardinality' of a relationship in an ERD?
A) The name of the relationship.
B) The number of instances of one entity that can be associated with instances of another entity.
C) The type of data stored in an entity.
D) The sequence of operations.
18. What does a 'relationship' represent in an ERD?
A) A data storage location.
B) An association between two entities.
C) A process that transforms data.
D) A user interface element.
19. What does an 'entity' represent in an ERD?
A) An action performed by the system.
B) A relationship between two data items.
C) A thing about which data is stored (e.g., a customer, a product).
D) A data flow.
20. In requirement modeling, what is the purpose of an Entity-Relationship Diagram (ERD)?
A) To model the flow of data.
B) To model the structure of data and relationships between data entities.
C) To model user interactions.
D) To model system states and transitions.
21. What does a 'trigger' represent in a State Machine Diagram?
A) A stable condition
B) An event that causes a transition from one state to another
C) A data store
D) An external actor
22. Which of the following is a common method for requirement validation?
A) Code compilation
B) Requirement reviews and walkthroughs
C) Database backup
D) Network configuration
23. What is the primary purpose of requirement validation?
A) To ensure the requirements are technically feasible to implement.
B) To confirm that the requirements accurately reflect the stakeholders' needs and are consistent.
C) To define the project timeline.
D) To document the system's internal logic.
24. The format 'As a <type of user>, I want <some goal> so that <some reason>' is typical for:
A) Use Cases
B) User Stories
C) Data Flow Diagrams
D) State Machines
25. What is a user story, often used in Agile methodologies?
A) A detailed technical specification of a system component.
B) A short, simple description of a feature told from the perspective of the person who desires the new capability.
C) A formal diagram illustrating system states.
D) A comprehensive report on system performance.
26. What is the main benefit of using a structured SRS document?
A) It allows for frequent changes without documentation.
B) It provides a clear, agreed-upon basis for development and testing.
C) It focuses solely on the user interface.
D) It is primarily for marketing purposes.
27. Which type of requirement specifies performance, security, and reliability characteristics?
A) Functional requirements
B) Non-functional requirements
C) User requirements
D) System requirements
28. What is a 'stakeholder' in the context of requirements engineering?
A) Only the end-users of the software.
B) Anyone who is affected by or can affect the system.
C) The development team members.
D) The project manager only.
29. Which elicitation technique involves bringing together stakeholders to discuss and generate ideas or requirements?
A) Surveys
B) Interviews
C) Brainstorming sessions
D) Observation
30. What is the purpose of prototyping in requirements engineering?
A) To finalize the system architecture.
B) To provide a working model for user feedback and validation of requirements.
C) To generate test cases.
D) To manage project risks.
31. Which of the following is an example of a non-functional requirement?
A) The system shall allow users to search for products.
B) The system shall process 100 transactions per second.
C) The system shall generate a monthly sales report.
D) The system shall allow users to add items to a shopping cart.
32. What is a functional requirement?
A) Describes a quality attribute or constraint of the system.
B) Specifies a function that the system must perform.
C) Defines the user interface appearance.
D) Outlines the system's performance metrics.
33. Which elicitation technique involves observing users in their natural work environment?
A) Brainstorming
B) Prototyping
C) Ethnography
D) Focus groups
34. What is a 'transition' in a State Machine Diagram?
A) A stable condition of an object
B) A movement from one state to another, often triggered by an event
C) A data store
D) An external actor
35. What does a 'state' represent in a State Machine Diagram?
A) An action performed by the system
B) A condition under which a transition occurs
C) A stable condition or status of an object
D) A user interaction
36. Which modeling technique is best suited for representing the dynamic behavior of a system, focusing on states and transitions?
A) Use Case Diagrams
B) Data Flow Diagrams
C) Entity-Relationship Diagrams
D) State Machine Diagrams
37. What is a 'data store' in the context of a DFD?
A) A source of external input
B) A destination for output data
C) A place where data is held for later use
D) A process that transforms data
38. What does an 'external entity' represent in a DFD?
A) A data storage location
B) A source or destination of data outside the system boundary
C) A transformation process
D) A control signal
39. In a DFD, what does a 'process' bubble represent?
A) A data store
B) An external entity
C) A transformation of incoming data into outgoing data
D) A data flow line
40. What is the primary focus of a Data Flow Diagram (DFD)?
A) The control flow and states of a system.
B) The movement of data through a system.
C) The user interface design.
D) The hardware components of a system.
41. Which requirement modeling technique uses a graphical representation of system functionality and user interactions?
A) Data Flow Diagrams (DFDs)
B) Entity-Relationship Diagrams (ERDs)
C) Use Case Diagrams
D) State Machine Diagrams
42. What does the 'extend' relationship signify between two use cases?
A) One use case is a generalization of another.
B) One use case conditionally adds behavior to another use case under specific circumstances.
C) One use case is always performed before another.
D) One use case is a prerequisite for another.
43. What does the 'include' relationship signify between two use cases?
A) One use case is a specialization of another.
B) One use case conditionally executes another use case.
C) One use case always incorporates the functionality of another use case.
D) One use case is an alternative path to another.
44. In a use case diagram, what does an 'actor' typically represent?
A) A software component
B) A hardware device
C) A user or external system that interacts with the system
D) A specific function within the system
45. What is the purpose of a use case in requirements engineering?
A) To describe the internal implementation details of a system.
B) To illustrate how an external actor interacts with the system to achieve a goal.
C) To define the database schema for the software.
D) To document the project schedule and milestones.
46. A good SRS document should be:
A) Ambiguous and incomplete
B) Vague and hard to understand
C) Unambiguous, complete, and verifiable
D) Written only in technical jargon
47. What does SRS stand for in the context of software requirements?
A) Software Reliability Specification
B) System Resource Statement
C) Software Requirements Specification
D) Service Request System
48. Which of the following is a common technique for requirements elicitation?
A) Code debugging
B) User interviews
C) Performance profiling
D) Database normalization
49. What is the primary goal of requirements elicitation in software engineering?
A) To design the software architecture.
B) To identify and understand the needs and constraints of stakeholders.
C) To write the final code for the software.
D) To perform system testing.