Class UML 2.3::UseCase
Description:
A use case is the specification of a set of actions performed by a system,
which yields an observable result that is, typically, of value for one
or more actors or other stakeholders of the system.
Direct Superclasses: BehavioredClassifierDirect Subclasses: Class Precedence List: UseCase,
BehavioredClassifier,
Classifier,
TemplateableElement,
Type,
PackageableElement,
ParameterableElement,
Namespace,
RedefinableElement,
NamedElement,
ElementProperties:
![](/se-interop/image/down-arrow.png)
extend :
Extend (0 *); -- source
UseCase![](/se-interop/image/down-arrow.png)
extensionPoint :
ExtensionPoint (0 *); -- source
UseCase![](/se-interop/image/down-arrow.png)
include :
Include (0 *); -- source
UseCase![](/se-interop/image/down-arrow.png)
subject :
Classifier (0 *); -- source
UseCase![](/se-interop/image/down-arrow.png)
classifierBehavior :
Behavior (0 1); -- source
BehavioredClassifier![](/se-interop/image/down-arrow.png)
interfaceRealization :
InterfaceRealization (0 *); -- source
BehavioredClassifier![](/se-interop/image/down-arrow.png)
ownedBehavior :
Behavior (0 *); -- source
BehavioredClassifier![](/se-interop/image/down-arrow.png)
ownedTrigger :
Trigger (0 *); -- source
BehavioredClassifier![](/se-interop/image/down-arrow.png)
attribute :
Property (0 *); -- source
Classifier![](/se-interop/image/down-arrow.png)
collaborationUse :
CollaborationUse (0 *); -- source
Classifier![](/se-interop/image/down-arrow.png)
feature :
Feature (0 *); -- source
Classifier![](/se-interop/image/down-arrow.png)
general :
Classifier (0 *); -- source
Classifier![](/se-interop/image/down-arrow.png)
generalization :
Generalization (0 *); -- source
Classifier![](/se-interop/image/down-arrow.png)
inheritedMember :
NamedElement (0 *); -- source
Classifier![](/se-interop/image/right-arrow.png)
isAbstract : Boolean (1 1); -- source
Classifier If true, the Classifier does not provide a complete declaration and can
typically not be instantiated. An abstract classifier is intended to be
used by other classifiers e.g. as the target of general metarelationships
or generalization relationships.
Default value: FALSE
![](/se-interop/image/down-arrow.png)
isFinalSpecialization : Boolean (1 1); -- source
Classifier![](/se-interop/image/down-arrow.png)
ownedTemplateSignature :
RedefinableTemplateSignature (0 1); -- source
Classifier![](/se-interop/image/down-arrow.png)
ownedUseCase :
UseCase (0 *); -- source
Classifier![](/se-interop/image/down-arrow.png)
powertypeExtent :
GeneralizationSet (0 *); -- source
Classifier![](/se-interop/image/down-arrow.png)
redefinedClassifier :
Classifier (0 *); -- source
Classifier![](/se-interop/image/down-arrow.png)
representation :
CollaborationUse (0 1); -- source
Classifier![](/se-interop/image/down-arrow.png)
substitution :
Substitution (0 *); -- source
Classifier![](/se-interop/image/down-arrow.png)
templateParameter :
ClassifierTemplateParameter (0 1); -- source
Classifier![](/se-interop/image/down-arrow.png)
useCase :
UseCase (0 *); -- source
Classifier![](/se-interop/image/down-arrow.png)
templateBinding :
TemplateBinding (0 *); -- source
TemplateableElement![](/se-interop/image/down-arrow.png)
package :
Package (0 1); -- source
Type![](/se-interop/image/down-arrow.png)
visibility :
VisibilityKind (1 1); -- source
PackageableElement![](/se-interop/image/down-arrow.png)
owningTemplateParameter :
TemplateParameter (0 1); -- source
ParameterableElement![](/se-interop/image/down-arrow.png)
elementImport :
ElementImport (0 *); -- source
Namespace![](/se-interop/image/down-arrow.png)
importedMember :
PackageableElement (0 *); -- source
Namespace![](/se-interop/image/down-arrow.png)
member :
NamedElement (0 *); -- source
Namespace![](/se-interop/image/down-arrow.png)
ownedMember :
NamedElement (0 *); -- source
Namespace![](/se-interop/image/down-arrow.png)
ownedRule :
Constraint (0 *); -- source
Namespace![](/se-interop/image/down-arrow.png)
packageImport :
PackageImport (0 *); -- source
Namespace![](/se-interop/image/down-arrow.png)
isLeaf : Boolean (1 1); -- source
RedefinableElement![](/se-interop/image/down-arrow.png)
redefinedElement :
RedefinableElement (0 *); -- source
RedefinableElement![](/se-interop/image/down-arrow.png)
redefinitionContext :
Classifier (0 *); -- source
RedefinableElement![](/se-interop/image/down-arrow.png)
clientDependency :
Dependency (0 *); -- source
NamedElement![](/se-interop/image/right-arrow.png)
name : String (0 1); -- source
NamedElement The name of the NamedElement.
![](/se-interop/image/down-arrow.png)
nameExpression :
StringExpression (0 1); -- source
NamedElement![](/se-interop/image/down-arrow.png)
namespace :
Namespace (0 1); -- source
NamedElement![](/se-interop/image/down-arrow.png)
qualifiedName : String (0 1); -- source
NamedElement![](/se-interop/image/down-arrow.png)
ownedComment :
Comment (0 *); -- source
Element![](/se-interop/image/down-arrow.png)
ownedElement :
Element (0 *); -- source
Element![](/se-interop/image/down-arrow.png)
owner :
Element (0 1); -- source
ElementConstraints:
Signature: no_association_to_use_case() : Boolean;
Description: UseCases can not have Associations to UseCases specifying the same subject.
Expression: true
Signature: must_have_name() : Boolean;
Description: A UseCase must have a name.
Expression: self.name -> notEmpty ()
Signature: cannot_include_self() : Boolean;
Description: A use case cannot include use cases that directly or indirectly include
it.
Expression: not self.allIncludedUseCases()->includes(self)
Signature: binary_associations() : Boolean;
Description: UseCases can only be involved in binary Associations.
Expression: true
Operations:
Signature: allIncludedUseCases() : UseCase;
Description: The query allIncludedUseCases() returns the transitive closure of all use cases (directly or indirectly) included by this use case.
The OCL used here is not normative.Editor's notes: in is a reserved word.
Expression: result = self.include->union(self.include->collect(n | n.allIncludedUseCases()))
Original: result = self.include->union(self.include->collect(in | in.allIncludedUseCases()))
Send questions or comments to
[email protected].