Use cases describe the interactions that take place between actors and IT systems during An association is a connection between an actor and a use case. Use case diagrams show business use cases, actors, and the relationships between them. The relationships between actors and business use cases state that. If you are dead-set on including this relationship in your system use-case diagram, then it's clear that the extends relation makes more sense.
Luckily for you, it's also easy enough to avoid them.
uml - Use case diagram - System as an Actor that collect customer information - Stack Overflow
Use cases are an increasingly popular technique for documenting system and software requirements. This simplicity can be deceptive, however. Although project teams have little trouble getting started with use cases, many of them encounter similar problems in applying them on a larger scale.
I have four recommendations that will help prevent many of the common use-case pitfalls, and one recommendation that will help you detect and remove them. Be explicit about the system boundary.
The use-case model has a trivial notation. Lines or arrows connect the actors to the use cases. The Top 10 Use-Case Pitfalls 1.
The system boundary is undefined or inconstant. The use cases are written from the system's not the actors' point of view. The actor names are inconsistent. There are too many use cases.
How to Avoid Use-Case Pitfalls
The actor-to-use case relationships resemble a spider's web. The use-case specifications are too long.
The use-case specifications are confusing. The use case doesn't correctly describe functional entitlement. The customer doesn't understand the use cases. The use cases are never finished. But what is this labeled box that we call the system? Are we talking about a computer system?
Or a whole business enterprise? Use cases might legitimately be used to describe any of these system boundaries. However, they should only focus on one at a time. The actors and use cases appropriate at one system boundary are likely to be incorrect for a different system boundary. A Kiosk Customer uses the computer system to order tickets, or a Phone Customer calls an number for the ticket business and a Phone Clerk an employee of the ticket business uses the computer system to order tickets.
Who are the actors? In a use-case diagram with a mixed-up system boundary, the modelers try to show both the users of the business and the users of the computer system in the same use-case model.
The textual specification of the Order Tickets use case also becomes muddled: The set of interactions between the Phone Customer and the business is different from the set of interactions between the other actors and the computer system.
UML Use Case Include
You can end up with: Too many use cases Pitfall 4. Mixed up actor-to-use case relationships Pitfall 5.
Huge and confusing use-case specifications that try to address multiple levels of scope Pitfalls 6 and 7. Mixed-Up Scope The example problem for this and the following use cases is a computerized baseball ticket order system. Customers may view the season schedule and reserve tickets at kiosks in shopping centers, or they may call an number and a phone clerk will reserve tickets for them. The customer may pay by credit card or at the time the tickets are picked up at the stadium on the day of the game.
This use-case diagram has a mixed-up system boundary. The modelers have tried to show both the users of the business and the users of the computer system in the same use-case model. The textual specification of the Order Tickets use case also becomes muddled, because the set of interactions between the Phone Customer and the business is different from the set of interactions between the other actors and the computer system.
These problems can be avoided by being explicit about the scope and labeling the system boundary accordingly. For example, the system boundary could represent a computer system, with Kiosk Customer and Phone Clerk as actors who use the Order Tickets use case. Or, the system boundary could represent an entire enterprise. The actor, Phone Customer, is a user of the ticket business but not a user of the computer system.
Both of these are legitimate models; the choice between them depends on whether you are trying to define the requirements of a computer system or employing use cases in business process modeling or re-engineering.
A related problem occurs when the system boundary is totally missing from the diagram. If you are working with such a tool, you should still strive to make the system boundary explicit. Place the actors and the use cases on the diagram as if the imaginary box were there. Use a standardized template for your use-case specifications. To position your project for success in writing good use-case specifications, create a template for documenting them preferably before you actually need to use it.
The template provides consistency between use cases, and encourages adherence to project standards. In the absence of an industry standard, various use-case specification templates have been proposed, with similar sets of fields.
The Use Case Name is the name that appears under or inside the oval on the use case diagram.
The Actor is the primary actor that initiates the use case. The Goal is a brief description of the use-case goal, from the perspective of the primary actor or actors. The Context is the background "story" in which the use case applies, while the Trigger is the specific event that causes the use case to start. The Alternative Flows are alternate normal success paths, each described in terms of its trigger what caused a jump from the normal flowsteps and result.
Exception Flows are error paths, each described in terms of its trigger what caused a jump from the normal flowsteps and result.
An optional Issues field notes any requirements assumptions, upon which the use case is based. At the very least, a use case specification should answer these basic questions: This information should include a glossary of actor names and other important terms preventing Pitfall 3business rules that cross use cases, a "story" or activity diagram showing how the use cases relate over time, and so on.
UML Use Case Diagrams: Tips
For my company, I developed a Microsoft Word template file for specifying use-case packages, with customized styles for major elements and in-line guidance annotations. The customized styles are useful if you want to automate feeding the Word-based document into a requirements management tool. It provides reminders on use-case naming conventions e. Alistair Cockburn has a web site http: In this figure, the system boundary represents a whole business enterprise.
A large use case could have some behaviors which might be detached into distinct smaller use cases to be included back into the base use case using the UML include relationship. The purpose of this action is modularization of behaviors, making them more manageable. Use case B is extracted from larger use case A into a separate use case.
Use cases B and C are extracted from larger use case A into separate use cases. When two or more use cases have some common behaviorthis common part could be extracted into a separate use case to be included back by the use cases with the UML include relationship.
Execution of the included use case is analogous to a subroutine call or macro command in programming. All of the behavior of the included use case is executed at a single location in the including use case before execution of the including use case is resumed. Note, while UML 2. Including use case depends on the addition of the included use case, which is required and not optional.
It means that including use case is not complete by itself, and so it would make sense to refer to the including use cases as abstract use cases.