Business Analysis: Working with Use Cases Flashcards
What is a use case?
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 would you describe use cases?
Process -driven
Goal-Centric
User-focused
For which of the following projects would use cases be an effective requirements development method?
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.
Which of the following would be a good use case title?
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.
What is an actor, in the context of use cases?
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.
Why is it a bad idea to document business rules within a use case?
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.
What is the basic flow of a use case?
The Simplest sequence of steps take to accomplish the use case
What is the alternative flow of a use case?
Alternative of achieving the goal of the use case.
What is the exception flow of a use case?
A possible sequence of steps undertaken by an actor wherein the goals of the use case are not accomplished.
Why is the basic flow sometimes called the “happy path?”
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.
Which of the following would be valid content for the “Notes and References” portion of a basic flow step?
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.
Give an example of an alternate flow?
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).
Why do we usually have alternate flows branch out from steps where a system is the actor?
Because we are specifying how a system should respond to soe previous action
Because we can’t control what human actors will do.
What is the last step of an alternate flow?
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
What are good strategies for finding possible exceptions that should be modeled as exception flows in your use cases?
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.