CPRE Requirements Modeling & Use Cases 2 — Questions and Answers
Question 1: In a UML activity diagram used for requirements modeling, what does a fork node represent?
- A decision point where one of several alternative flows is chosen
- The start of a parallel set of concurrent flows (Correct answer)
- The merging of multiple sequential flows into one
- A synchronization point where all incoming flows must complete
Correct answer: The start of a parallel set of concurrent flows
A fork node splits a single flow into two or more concurrent flows that execute in parallel.
Question 2: Which notation is most appropriate for modeling the life cycle of a system object and the conditions under which it changes state?
- Use case diagram
- Data flow diagram
- State machine diagram (Correct answer)
- Context diagram
Correct answer: State machine diagram
A state machine diagram models the discrete states of an object, the events that trigger transitions between states, and any associated guards or actions.
Question 3: When building a use case model, the IREB CPRE Foundation Level recommends that use cases should be specified at the level of:
- Individual user interface interactions (button clicks, screen transitions)
- Elementary business processes that deliver value to a primary actor (Correct answer)
- Architectural components and their internal operations
- Database transactions and stored procedures
Correct answer: Elementary business processes that deliver value to a primary actor
IREB guidance aligns with Cockburn's sea-level goal: a use case should represent an elementary business process that delivers observable value to the primary actor.
Question 4: In a data flow diagram (DFD), what does a double-headed arrow or an open rectangle with a horizontal line represent?
- An external entity
- A process that transforms data
- A data store (repository) (Correct answer)
- A control flow condition
Correct answer: A data store (repository)
In Yourdon/DeMarco notation, a data store is represented as two parallel horizontal lines (or an open-ended rectangle), symbolizing a repository of data at rest.
Question 5: What is the key difference between a <<extend>> and a <<include>> relationship in a UML use case diagram?
- <<extend>> is optional and condition-dependent; <<include>> is mandatory and unconditional (Correct answer)
- <<extend>> is mandatory; <<include>> is optional and condition-dependent
- <<extend>> applies only to actors; <<include>> applies only to use cases
- <<extend>> models inheritance; <<include>> models aggregation
Correct answer: <<extend>> is optional and condition-dependent; <<include>> is mandatory and unconditional
<<extend>> adds behavior optionally when a specific condition (extension point) is met, whereas <<include>> always invokes the included use case unconditionally.
Question 6: Which artifact is typically used in requirements modeling to document the vocabulary and key concepts of the problem domain?
- Glossary or domain model (Correct answer)
- Deployment diagram
- Sequence diagram
- Test case specification
Correct answer: Glossary or domain model
A glossary or domain model captures domain terms, definitions, and concept relationships, creating a shared vocabulary that reduces ambiguity in requirements.
Question 7: In use case modeling, a 'post-condition' describes:
- The triggering event that starts the use case
- The state of the system after the use case has completed successfully (Correct answer)
- The set of actors who may participate in the use case
- The non-functional constraints on the use case execution
Correct answer: The state of the system after the use case has completed successfully
A post-condition specifies the observable state of the system after the use case finishes its main success scenario (or a specified alternative flow).
In a UML activity diagram used for requirements modeling, what does a fork node represent?