Business Analysis: Working with Use Cases Flashcards

1
Q

What is a use case?

A

Use cases are descriptions of how users (or actors, as we will cover later) interact with systems. Although they can be used to describe processes, they are bigger than just that one area. It has become fairly common to use the term “use case” to describe scenarios. This is, strictly speaking, incorrect. Later in the course, we will look at use case diagrams which are visual models for system functionality. But here we’re just talking about single use cases.

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

How would you describe use cases?

A

Process -driven
Goal-Centric
User-focused

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

For which of the following projects would use cases be an effective requirements development method?

A

The middleware project would probably not be a very good candidate for use cases. Since it sounds like there are no human actors involved, and messaging would likely be handled by data descriptions, another approach (e.g. data flow modeling) would be a better candidate. The ready-made system project, since it has already been built, would likely not require use cases either. The custom-developed e-commerce site, with all the various shopping options, would be the best candidate for use case modeling.

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

Which of the following would be a good use case title?

A

Since use case titles always follow the form, [verb] + [noun phrase], “Archive an e-mail” is correct. It sounds like a mini-goal that a user would want to accomplish. “Archival of e-mails” sounds like a requirements category or system feature. “The system will…” looks like a business requirement.

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

What is an actor, in the context of use cases?

A

Actors are all those people and systems involved in executing a given use case. People actors would be a subset of all actors, and users are a subset of people actors. We usually don’t talk about stakeholders of a use case, but when we do, it’s referring to anyone with an interest in the use case being executed. The majority aren’t actors.

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

Why is it a bad idea to document business rules within a use case?

A

If you document 50 business rules in 200 different use case documents, it will be a nightmare to maintain. Business rules are actually quite short; nonetheless, a business rule repository or separate document is better suited for maintaining them. Modern businesses are dynamic indeed. But it is important to document business rules.

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

What is the basic flow of a use case?

A

The Simplest sequence of steps take to accomplish the use case

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

What is the alternative flow of a use case?

A

Alternative of achieving the goal of the use case.

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

What is the exception flow of a use case?

A

A possible sequence of steps undertaken by an actor wherein the goals of the use case are not accomplished.

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

Why is the basic flow sometimes called the “happy path?”

A

It’s called the “happy path.” The actors easily and directly accomplish the goal without any problems, so they’re happy at the end because nothing went wrong.

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

Which of the following would be valid content for the “Notes and References” portion of a basic flow step?

A

A reference to an alternate or exception flow.
A reference to a business rule.
A note cautioning developers and testers about some intricate detail of this step.

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

Give an example of an alternate flow?

A

The user accomplishes her goal of logging on to the system. Since her initial attempt failed, but she was eventually able to meet her goal, this is best modeled with an alternate flow. The first answer is a good example of something best modeled in the basic flow. Nothing goes wrong; the user accomplishes his goal. The third answer, as you’ll see in the next lecture, is best modeled using an exception flow (the goal of logging on is not met, because the system is down).

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

Why do we usually have alternate flows branch out from steps where a system is the actor?

A

Because we are specifying how a system should respond to soe previous action
Because we can’t control what human actors will do.

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

What is the last step of an alternate flow?

A

The last step in an alternate flow should direct the reader back to the appropriate step in the basic flow. This helps the reader have a clear idea of how the system will behave

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

What are good strategies for finding possible exceptions that should be modeled as exception flows in your use cases?

A

Have developers review your draft use cases and provide input.
Look for places in your basic flow where unexpected problems might pop up.
Look for places in alternative flows where unexpected problems might pop up.

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

What does the last statement of an exception flow usually do?

A

Just as the last step of alternate flows direct the reader back to a place in the basic flow, the last step of an exception flow ends the use case.

17
Q

What is a common outcome of missing an exception flow here and there?

A

Missed requirements
Poor user experience
Annoyed management

18
Q

What is the best strategy for finding use case preconditions?

A

examining the basic, alternate and exception flows (usually in that order).

19
Q

Will use cases always have at least one postcondition? Why?

A

Use cases always have a goal, and the achievement of that goal is the first precondition. Cockburn and Cunningham probably agree that postconditions are a best practice, but this has (to my knowledge) never been expressed by them together. Use cases do have exception flows where the goal is not met, true. But postconditions reflect the state of the system after the use case has been successfully executed, so this statement doesn’t apply. The last answer is false. All use cases should have preconditions.

20
Q

Give an example of a trigger?

A

The clocking ticking to a particular time – is the trigger among this list. The other answers look like preconditions or postconditions, depending on the context they’re found in. Remember that a trigger is an event. It’s something that happens at some point in time.

21
Q

Which of the following use case components is the first activity in a flowchart?

A

The trigger is usually the first activity (rectangle) in a flowchart. Alternatively, the first step of the basic flow is also acceptable. Preconditions and postconditions are states rather than activities, and they aren’t depicted in flowcharts.

22
Q

If your flowchart becomes very complicated, what is the best strategy for handling it?

A

The best approach will be to reduce the flowchart’s complexity. Complexity is harder for stakeholders to understand. Complexity also breeds defects and lower testability. Just be sure to refactor your use case as well.

23
Q

Why are swim lane flowcharts better than regular flowcharts when paired with use cases?

A

Swim lane flowcharts highlight the actors of a use case, making it more easily mappable to the use case. For this reason, we more commonly use swim lane flowcharts than regular ones.

24
Q

When should you make a use case diagram for your project?

A

Recommend creating a use case diagram whenever you have three or more use cases.

25
Q

If one use case contains another, the use case __________ the other use case.

A

The use case includes the other use case, usually as a single step in the basic flow.

26
Q

Why should you use «includes» relationships in your use cases?

A

To simplify your use case flows
To enhance the maintainability of your documentation.
To illustrate dependencies across use cases.

27
Q

Which of the following is a valid strategy for refactoring «extends» relationships out of use cases.

A

The alternate flow is the best option. The exception flow won’t work, because it indicates that the use case fails. The two use cases should be kept separate, because they will not always be executed at the same time.

28
Q
A