A use case represents a complete meaningful “chunk” of activity by the system in relation to its external users (actors), human or machine. It represents the primary route through which requirements are captured for the system under construction
Within the UML metamodel, use case is a sub-class of
classifier
.
The use case icon is an oval (see Figure 17.1, “ Typical model elements on a use case diagram. ”). It may be split in two, with the lower compartment showing extension points
![]() | Caution |
---|---|
By default ArgoUML does not show the extension point
compartment. It may be revealed by the context sensitive
|
The details tabs that are active for use cases are as follows.
ToDoItem
Standard tab.
Properties
See Section 17.3.2, “ Use Case Property Toolbar ” and Section 17.3.3, “ Property Fields For Use Case ” below.
Documentation
Standard tab. See Section 13.4, “ Documentation Tab ”.
Presentation
Standard tab. The Fill color is used for the use case oval.
The Display: Extension Points
check box is used to control whether an extension point
compartment is displayed.
Source
Standard tab. It would not be usual to provide any code for a use case, since it is primarily a vehicle for capturing requirements about the system under construction, not creating the solution.
Stereotype
Standard tab.
Tagged Values
Standard tab. In the UML metamodel,
UseCase
has the following standard tagged
values defined.
persistence
(from the
superclass, Classifier
). Values
transitory
, indicating state is
destroyed when an instance is destroyed or
persistent
, marking state is preserved
when an instance is destroyed.
![]() | Tip |
---|---|
In general the instantiation of use cases is not a major aspect of any design method (they are mostly concerned with requirements capture. For most OOA&D methodologies, this tag can safely be ignored. |
semantics
(from the
superclass, Classifier
). The
value is a specification of the semantics of the
use case.
derived
(from the
superclass, ModelElement
).
Values true
, meaning the use
case is redundant -it can be formally derived from
other elements, or false
meaning
it cannot.
![]() | Note |
---|---|
Derived use cases still have their value in analysis to introduce useful names or concepts. |
Checklist
Standard tab for a Classifier.
Go up
Navigate up through the package structure of the model.
New use case
This creates a new use case within the model, (but not within the diagram), and shows immediately the properties tab for that use case.
![]() | Tip |
---|---|
This method of creating a new use case can be confusing. It is much better to create a new use case on the diagram of your choice. |
New extension point
This creates a new use extension point within the namespace of the current use case, with the current use case as its associated use case, navigating immediately to the properties tab for that extension point.
New Attribute
This creates a new attribute within the current use case, navigating immediately to the properties tab for that attribute.
New Operation
This creates a new operation within the current use case, navigating immediately to the properties tab for that operation.
New Reception
This creates a new reception within the current use case, navigating immediately to the properties tab for that reception.
New Stereotype
This creates a new stereotype within the current use case, navigating immediately to the properties tab for that stereotype.
Delete
This deletes the selected use case from the model.
![]() | Warning |
---|---|
This is a deletion from the model
not just the diagram. To delete
a use case from the diagram, but keep it within the
model, use the main menu |
Name
Text box. The name of the use case. Since a use
case is a classifier, it would be conventional to
Capitalize the first letter (and initial letters of any
component words), e.g. RemoteSensor
.
The name is shown inside the oval representation of the
use case on the diagram.
![]() | Note |
---|---|
ArgoUML does not enforce any naming convention for use cases |
Namespace
Text box with navigation button. Records the namespace for the use case. This is the package hierarchy.
Modifiers
Check box, with entries
Abstract
Leaf
and
Root
.
Abstract
is used to
declare that this actor cannot be instantiated, but
must always be specialized. .
Leaf
indicates that this
use case can have no further children, while
Root
indicates it is a top level
use case with no parent.
Client Dependencies
Text area. Lists the “depending” ends of the relationship, i.e. the end that makes use of the other end.
Button 1 double click navigates to the dependency and opens its property tab.
Button 2 click shows a pop-up menu with one entry
Add...
that
opens a dialog box where you can add and remove
depending modelelements.
Supplier Dependencies
Text area. Lists the “supplying” ends of the relationship, i.e. the end supplying what is needed by the other end.
Button 1 double click navigates to the dependency and opens its property tab.
Button 2 click shows a pop-up menu with one entry
Add...
that
opens a dialog box where you can add and remove
dependent modelelements.
Generalizations
Text area. Lists use cases which are generalizations of this one. Will be set whenever a generalization is created on the from this Use Case. Button 1 Double Click on a generalization will navigate to that generalization.
Specializations
Text box. Lists any specialized use case (i.e. for which this use case is a generalization.
Button 1 double click navigates to the generalization and opens its property tab.
Extends
Text box. Lists any class that is extended by this use case.
Where an extends relationship has been created, button 1 double click will navigate to that relationship.
Includes
Text box. Lists any use case that this use case includes.
Where an include relationship has been created, button 1 Double Click will navigate to that relationship.
Attributes
Text area. Lists all the attributes (see Section 18.7, “ Attribute ”) defined for this use case. Button 1 double click navigates to the selected attribute. Button 2 gives a pop up menu with two entries, which allow reordering the attributes.
Move Up
. Only available
where there are two or more attributes listed, and
the attribute selected is not at the top. It moves
the attribute up one position.
Move Down
. Only available
where there are two or more attributes listed, and
the attribute selected is not at the bottom. It
moves the attribute down one position.
Association Ends
Text box. Lists any association ends (see Section 18.12, “ Association ”) of associations connected to this use case.
Button 1 double click navigates to the selected entry.
Operations
Text area. Lists all the operations (see Section 18.8, “ Operation ”) defined on this use case. Button 1 click navigates to the selected operation. Button 2 gives a pop up menu with two entries, which allow reordering the operations.
Move Up
. Only available
where there are two or more operations listed, and
the operation selected is not at the top. It moves
the operation up one position.
Move Down
. Only available
where there are two or more operations listed, and
the operation selected is not at the bottom. It
moves the operation down one position.
Extension Points
Text box. If this use case is, or can be extended, this field lists the extension points for the use case.
![]() | Note |
---|---|
Extension points are listed by their location point rather than their name. |
Where an extension point has been created (see below), button 1 Double Click will navigate to that relationship. Button 2 gives a pop up menu with the following entries.
New
. Add a new extension
point and navigate to it, making this use case the
owning use case of the extension point.
Move Up
. Only available
where there are two or more extension points listed, and
the extension point selected is not at the top. It moves
the extension point up one position.
Move Down
. Only available
where there are two or more extension points listed, and
the extension point selected is not at the bottom. It
moves the extension point down one position.