16 Questions
What is the purpose of using extension points in use cases?
To model optional parts of a use case
In the context of use cases, what does generalization refer to?
Identifying use cases that accomplish the same goal in different ways
How can extension points enhance the flexibility of a use case?
By allowing the use case to be extended under specific circumstances
Which statement best describes the role of extension points in use case modeling?
To provide a way for extending a basic behavior in certain conditions
What is the main purpose of generalization in use case modeling?
To identify use cases with similar goals but different methods
What is the purpose of 'extends' in a use-case scenario?
Breaking out a separate use-case that does a little bit more
How can 'includes' be understood in the context of use-case scenarios?
Breaking out similar behavior as a separate use-case
In a use-case scenario, what is the primary purpose of capturing exceptional cases in separate use-cases?
Capturing normal behavior and potential errors separately
When using use cases, what is the key benefit of identifying the actors who will be using the system?
Understanding who will interact with the system and their goals
What is the difference between 'includes' and 'extends' in a use-case scenario?
Breaking out a separate use-case that does a little bit more vs. capturing normal behavior and potential errors separately
What is the purpose of Forward engineering?
Generating code from model into programming language
Which term describes the process of reconstructing a model from the implementation?
Reverse engineering
What is the purpose of a package in structural modeling?
Grouping elements
Which UML diagram captures user-visible functions that achieve discrete goals?
Use case diagram
What is the main purpose of an extension point in UML?
Allowing use cases to be extended through additional behavior
Which term describes the process of going both ways between a model and implementation?
Round-trip engineering
Study Notes
Use Case Modeling
- Use cases can have variations, and instead of drawing all possible variations as separate use cases, we can have further use cases that extend the basic behavior.
- The association allows a basic use case to incorporate additional behavior under certain circumstances.
Extend and Include Relationships
- Extends allows specifying a conditional include.
- Includes are used when you have a piece of behavior that is similar across many use cases.
- Examples of includes: valuation, validate user interaction, sanity check on sensor inputs, and check for proper authorization.
Use Case Generalization
- Use case generalization identifies use cases that accomplish the same goal but in different ways.
- We can note the similarity by using generalization.
Identifying Use Cases
- Identify the actors: who will be using the system?
- Identify the goals: what do they want the system to do for them?
- Identify key scenarios: what outcomes or workflows need to be considered?
UML Diagrams
- Use case diagrams show the relationships between actors and use cases.
- Class diagrams show the structure of the system.
Structural Modeling
- Subsystems are packages or holders for grouping elements.
- Use case modeling captures some user-visible function.
- A use case achieves a discrete goal for the user.
Capturing Use Cases
- Use cases can be captured or elicited by understanding the user's goals and scenarios.
- Examples of use cases: format a document, request an elevator, etc.
Test your knowledge on how use case association and extension can be used to incorporate additional behaviors under certain circumstances, model optional parts, complex interactions, and adding new use cases into existing ones.
Make Your Own Quizzes and Flashcards
Convert your notes into interactive study material.
Get started for free