L10: Modelling Use Cases in UML Flashcards

1
Q

What is a use case diagram?

A

Use case diagram defines the system boundary, the actors who interact directly with the system and the functionality (use cases) provided by the system to actors.

High level view of the functionality of the system
- What the system does and who uses it

Use case modelling is a form of requirement engineering
- Eliciting and documenting functional requirements

Best used when
- The system is dominated by functional requirements
- The system has many types of users to whom it delivers different functionality

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

What is the use case modelling process?

A
  • Identifying a system boundary (what is inside or outside a system)
  • Identifying actors (the entities that are interacting with and using the system)
  • Identifying the use cases (the functionality that is used by the actors)

Iterating these steps until use cases and system boundary are stable. Create iterations and work with stakeholder to refine the model.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

What is an actor?

A

Someone or something that interacts with the system. External to the system

UML Notation: a stick person that could be the customer or an external system.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

What is the use case?

A
  • A use case is something an actor wants the system to do
  • Use cases are always started by an actor
  • Use cases are always written from the point of view of the actor

UML Notation: an oval titled by the interaction, e.g. PlaceOrder

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

How do we identify use cases?

A

One obvious way is to start with the list of actors, and then consider how each actor is going to use the system.

“as … I want to do … so i can get the benefit …”

You may find new actors when identifying use cases. Use case modelling is iterative and proceeds via a process of stepwise refinement.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

What is a communication link?

A

Participation of an actor in a use case

UML Notation: a line between and actor and a use case

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

What is a system boundary?

A

System boundary is used to define
* What is part of the system (inside the boundary)
* What is external to the system (outside the boundary)

UML Notation: A system boundary is represented as a box labelled with the name of the system with actors drawn outside the box with use cases inside the box

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

What are the 4 relationships in use case diagrams?

A

Actor generalisation
A relationship between a general actor and a more specific actor

Use case generalisation
A relationship between a general use case and a more specific use case

«include»
A relationship between use cases that lets one use case include behaviours from others

«extend»
A relationship between use cases that lets one use case extend its behaviour with one or more behaviour fragments from another

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

What is actor generalisation?

A

An actor generalisation from a more specific, or specialised, actor to a more general, or generalised, actor indicates that instances of the more specific actor may be substituted for instances of the more general actor.
Less general actors can have their own use cases, specific to them.

Notation: Tree of specialised actors pointing towards a more general actor. The arrow is a hollow triangle, pointing to the more general version of the concept.

Actor generalisation reduces duplication and clutter in the diagram.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

What is use case generalisation?

A

Factors out behaviour common to one or more use cases into a parent use case.

Child use cases represent more specific forms of the parent.

Children may:
- inherit features from their parent use case
- add new features
- override (change) inherited features.

Notation: Tree of specialised use cases pointing towards a more general use case. The arrow is a hollow triangle, pointing to the more general version of the concept.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

What is the «include» relationship?

A

The base use case explicitly incorporates the behaviour of another use case (inclusion use case) at a location specified in the base use case.

Uses
- To avoid repetition of a use case in multiple base use cases
- To show how the system can reuse a pre-existing component
- To show common functionalities between use cases
- To document the fact that the project has developed a new reusable component

Notation: A dotted line with an arrow pointing towards the inclusion use case labelled ‘«include»’

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

What is the «extend» relationship?

A

A way to insert new behaviour into an existing use case if a condition is met. The base use case provides a set of extension points where new behaviour (extension use case) may be added .

Notation: A dotted line with an arrow pointing towards the base use case labelled ‘«extend»’. Also a short description of the condition.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

What is the different between the «include» and «extend» relationships?

A

«include»
No matter what, the inclusion use case is always included. The arrow points towards the inclusion use case.

«extend»
The extension use case is only included if a certain condition is met. The arrow points towards the base use case.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

What is the specification for use cases?

A

A document for each use case
No UML standard

Typical content
- How the use case starts and ends
- Normal flow of events
- Alternate flow of events

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

What is included in the general use case template?

A
  • Use case name
  • Use case ID
  • Brief description
  • Actors
  • Precondition
  • What must be true before the use case starts
  • Main flow
  • Steps in the use case
  • Postcondition
  • What must be true at the end of the use case
  • Alternative flows
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

Use case example. (Read)

A

Use case name: CreateNewCustomerAccount
Use case ID: 5
Brief description: System creates a new account for the Customer
Actors: Customer
Precondition: None
Main flow: 1. The use case starts when the Customer selects ….
Postcondition: A new account has been created for the Customer
Alternative flows:
- InvalidEmailAddress
- InvalidPassword
- Cancel

17
Q

Compare the main flow and alternative flow.

A

Main flow
- Lists the steps that capture the situation where everything goes as expected and desired
- There are no errors, deviation, interrupts or branches

If deviation exists
- If it is small, we create branches in the main flow
- Otherwise, we create alternative flows