OO Use Cases (PPT 5-8) Flashcards

1
Q

What are Use Cases?

A

A description of a complete sequence of actions, and variants thereof, performed by a system in order to yield a result of value to an actor

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

What components does a Use Case need?

A
  • Actors: Things outside the system which interact with it

- Use Cases: Functionality provided by the system to meet goals of the actors

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

Who or what can be an actor?

A
  • Human users
  • Other software systems
  • Sometimes electro-mechanical systems (this depends on the system, sometimes its not the mechanical system, its what interacts with that)
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

What are usually not actors?

A
  • The system itself
  • Databases
  • Computer OS or peripherals (Unless developing drivers or low level applications)
  • Automated tasks could be an actor but it depends on the situation
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

What s the UML representation of an actor?

A

A stick man

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

How do we name actors?

A
  • Usually a noun or noun-phrase

- Capture the role they play, not just their position

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

What should a single use case represent?

A
  • Represent a major piece of functionality
  • should be something complete
  • deliver something of value to an actor
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

What does CRUD mean?

A
Create
Retrieve
Update
Delete
If something needs all of these items then it is one use case, not four
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

What is a secondary actor?

A

It is an actor which is involved during a use case

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

What is a Use Case Specification?

A

It is a description of a complete sequence of actions

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

What do we need to specify for each use case?

A
  • How it starts
  • Basic steps required to fulfil the case
  • Any alternate ways of fulfilling it
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

How do use cases start?

A

When an actor does something.

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

What is the basic flow of events?

A

It is the most common pathway or mian success scenario. Captured as dialogue between actor and system.

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

How do we identify alternate flows?

A

Go through basic flow and think of:

  • Different decisions that could be made
  • Things that could go wrong
  • Lack of response from an actor
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

Why are alternate flows important?

A

They may raise major design decisions

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

How do we document alternatives?

A

Give each one a unique identifier, usually in the form (An) where n is the number of alternate flow. We then give them a descriptive name, a small description and the flow of events

17
Q

What does include do?

A

If several use cases share common behaviour, this can be refactored out into a separate use case using include

18
Q

When should we use include?

A
  • If several use cases share the same piece of behaviour

- If the new use case would contain a reasonable amount of dialogue

19
Q

What is generalizing a relationship?

A

This is when one use case inherits all the characteristics of another use case.

20
Q

What are some common mistakes made with include and extend?

A
  • Overusing both of them

- Trying to force them into somewhere that doesn’t fit

21
Q

How can use cases be used throughout the life cycle?

A
  • Can help plan and deliver iterations
  • Can help with estimating effort
  • Can also help with testing and user documentation
22
Q

How are use cases used at the inception of the life cycle?

A
  • Sketch use cases out and elaborate on riskier ones
  • Rank each for risk, business value and architectural significance
  • Attack riskiest and most significant first
23
Q

How are use cases used at the elaboration stage?

A
  • Attack the riskiest and most significant first

- Completely elaborate, analyse, design and implement

24
Q

How can we estimate effort from use cases?

A

Can use Use Case Points

  • Determine weighting of actors (simple, average, complex)
  • Determine weighting of use cases (simple, average, complex)
  • Assign amount of hours for UCP
25
Q

When should we use extend?

A

When two use cases do the same thing but one does a little more

26
Q

What does extend do?

A

It is used to add new, optional behaviour to an already existing use case