17.3.  Use Case

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]Caution

By default ArgoUML does not show the extension point compartment. It may be revealed by the context sensitive Show menu (using button 2 click), or from the Presentation tab.

17.3.1.  Use Case Details Tabs

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]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]Note

    Derived use cases still have their value in analysis to introduce useful names or concepts.

Checklist

Standard tab for a Classifier.

17.3.2.  Use Case Property Toolbar

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]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]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 Remove From Diagram (or press the Delete key).

17.3.3.  Property Fields For Use Case

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]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]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.