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?hunchentoot-session=150432%3AFDA01AA644C424D6C80AD1B0D74707E9)
extend :
Extend (0 *); -- source
UseCase![](/se-interop/image/down-arrow.png?hunchentoot-session=150432%3AFDA01AA644C424D6C80AD1B0D74707E9)
extensionPoint :
ExtensionPoint (0 *); -- source
UseCase![](/se-interop/image/down-arrow.png?hunchentoot-session=150432%3AFDA01AA644C424D6C80AD1B0D74707E9)
include :
Include (0 *); -- source
UseCase![](/se-interop/image/down-arrow.png?hunchentoot-session=150432%3AFDA01AA644C424D6C80AD1B0D74707E9)
subject :
Classifier (0 *); -- source
UseCase![](/se-interop/image/down-arrow.png?hunchentoot-session=150432%3AFDA01AA644C424D6C80AD1B0D74707E9)
classifierBehavior :
Behavior (0 1); -- source
BehavioredClassifier![](/se-interop/image/down-arrow.png?hunchentoot-session=150432%3AFDA01AA644C424D6C80AD1B0D74707E9)
interfaceRealization :
InterfaceRealization (0 *); -- source
BehavioredClassifier![](/se-interop/image/down-arrow.png?hunchentoot-session=150432%3AFDA01AA644C424D6C80AD1B0D74707E9)
ownedBehavior :
Behavior (0 *); -- source
BehavioredClassifier![](/se-interop/image/down-arrow.png?hunchentoot-session=150432%3AFDA01AA644C424D6C80AD1B0D74707E9)
ownedTrigger :
Trigger (0 *); -- source
BehavioredClassifier![](/se-interop/image/down-arrow.png?hunchentoot-session=150432%3AFDA01AA644C424D6C80AD1B0D74707E9)
attribute :
Property (0 *); -- source
Classifier![](/se-interop/image/down-arrow.png?hunchentoot-session=150432%3AFDA01AA644C424D6C80AD1B0D74707E9)
collaborationUse :
CollaborationUse (0 *); -- source
Classifier![](/se-interop/image/down-arrow.png?hunchentoot-session=150432%3AFDA01AA644C424D6C80AD1B0D74707E9)
feature :
Feature (0 *); -- source
Classifier![](/se-interop/image/down-arrow.png?hunchentoot-session=150432%3AFDA01AA644C424D6C80AD1B0D74707E9)
general :
Classifier (0 *); -- source
Classifier![](/se-interop/image/down-arrow.png?hunchentoot-session=150432%3AFDA01AA644C424D6C80AD1B0D74707E9)
generalization :
Generalization (0 *); -- source
Classifier![](/se-interop/image/down-arrow.png?hunchentoot-session=150432%3AFDA01AA644C424D6C80AD1B0D74707E9)
inheritedMember :
NamedElement (0 *); -- source
Classifier![](/se-interop/image/down-arrow.png?hunchentoot-session=150432%3AFDA01AA644C424D6C80AD1B0D74707E9)
isAbstract : Boolean (1 1); -- source
Classifier![](/se-interop/image/down-arrow.png?hunchentoot-session=150432%3AFDA01AA644C424D6C80AD1B0D74707E9)
isFinalSpecialization : Boolean (1 1); -- source
Classifier![](/se-interop/image/down-arrow.png?hunchentoot-session=150432%3AFDA01AA644C424D6C80AD1B0D74707E9)
ownedTemplateSignature :
RedefinableTemplateSignature (0 1); -- source
Classifier![](/se-interop/image/down-arrow.png?hunchentoot-session=150432%3AFDA01AA644C424D6C80AD1B0D74707E9)
ownedUseCase :
UseCase (0 *); -- source
Classifier![](/se-interop/image/down-arrow.png?hunchentoot-session=150432%3AFDA01AA644C424D6C80AD1B0D74707E9)
powertypeExtent :
GeneralizationSet (0 *); -- source
Classifier![](/se-interop/image/down-arrow.png?hunchentoot-session=150432%3AFDA01AA644C424D6C80AD1B0D74707E9)
redefinedClassifier :
Classifier (0 *); -- source
Classifier![](/se-interop/image/down-arrow.png?hunchentoot-session=150432%3AFDA01AA644C424D6C80AD1B0D74707E9)
representation :
CollaborationUse (0 1); -- source
Classifier![](/se-interop/image/down-arrow.png?hunchentoot-session=150432%3AFDA01AA644C424D6C80AD1B0D74707E9)
substitution :
Substitution (0 *); -- source
Classifier![](/se-interop/image/down-arrow.png?hunchentoot-session=150432%3AFDA01AA644C424D6C80AD1B0D74707E9)
templateParameter :
ClassifierTemplateParameter (0 1); -- source
Classifier![](/se-interop/image/down-arrow.png?hunchentoot-session=150432%3AFDA01AA644C424D6C80AD1B0D74707E9)
useCase :
UseCase (0 *); -- source
Classifier![](/se-interop/image/down-arrow.png?hunchentoot-session=150432%3AFDA01AA644C424D6C80AD1B0D74707E9)
templateBinding :
TemplateBinding (0 *); -- source
TemplateableElement![](/se-interop/image/down-arrow.png?hunchentoot-session=150432%3AFDA01AA644C424D6C80AD1B0D74707E9)
package :
Package (0 1); -- source
Type![](/se-interop/image/down-arrow.png?hunchentoot-session=150432%3AFDA01AA644C424D6C80AD1B0D74707E9)
visibility :
VisibilityKind (1 1); -- source
PackageableElement![](/se-interop/image/down-arrow.png?hunchentoot-session=150432%3AFDA01AA644C424D6C80AD1B0D74707E9)
owningTemplateParameter :
TemplateParameter (0 1); -- source
ParameterableElement![](/se-interop/image/down-arrow.png?hunchentoot-session=150432%3AFDA01AA644C424D6C80AD1B0D74707E9)
elementImport :
ElementImport (0 *); -- source
Namespace![](/se-interop/image/down-arrow.png?hunchentoot-session=150432%3AFDA01AA644C424D6C80AD1B0D74707E9)
importedMember :
PackageableElement (0 *); -- source
Namespace![](/se-interop/image/down-arrow.png?hunchentoot-session=150432%3AFDA01AA644C424D6C80AD1B0D74707E9)
member :
NamedElement (0 *); -- source
Namespace![](/se-interop/image/down-arrow.png?hunchentoot-session=150432%3AFDA01AA644C424D6C80AD1B0D74707E9)
ownedMember :
NamedElement (0 *); -- source
Namespace![](/se-interop/image/down-arrow.png?hunchentoot-session=150432%3AFDA01AA644C424D6C80AD1B0D74707E9)
ownedRule :
Constraint (0 *); -- source
Namespace![](/se-interop/image/down-arrow.png?hunchentoot-session=150432%3AFDA01AA644C424D6C80AD1B0D74707E9)
packageImport :
PackageImport (0 *); -- source
Namespace![](/se-interop/image/down-arrow.png?hunchentoot-session=150432%3AFDA01AA644C424D6C80AD1B0D74707E9)
isLeaf : Boolean (1 1); -- source
RedefinableElement![](/se-interop/image/down-arrow.png?hunchentoot-session=150432%3AFDA01AA644C424D6C80AD1B0D74707E9)
redefinedElement :
RedefinableElement (0 *); -- source
RedefinableElement![](/se-interop/image/down-arrow.png?hunchentoot-session=150432%3AFDA01AA644C424D6C80AD1B0D74707E9)
redefinitionContext :
Classifier (0 *); -- source
RedefinableElement![](/se-interop/image/down-arrow.png?hunchentoot-session=150432%3AFDA01AA644C424D6C80AD1B0D74707E9)
clientDependency :
Dependency (0 *); -- source
NamedElement![](/se-interop/image/down-arrow.png?hunchentoot-session=150432%3AFDA01AA644C424D6C80AD1B0D74707E9)
name : String (0 1); -- source
NamedElement![](/se-interop/image/down-arrow.png?hunchentoot-session=150432%3AFDA01AA644C424D6C80AD1B0D74707E9)
nameExpression :
StringExpression (0 1); -- source
NamedElement![](/se-interop/image/down-arrow.png?hunchentoot-session=150432%3AFDA01AA644C424D6C80AD1B0D74707E9)
namespace :
Namespace (0 1); -- source
NamedElement![](/se-interop/image/down-arrow.png?hunchentoot-session=150432%3AFDA01AA644C424D6C80AD1B0D74707E9)
qualifiedName : String (0 1); -- source
NamedElement![](/se-interop/image/down-arrow.png?hunchentoot-session=150432%3AFDA01AA644C424D6C80AD1B0D74707E9)
ownedComment :
Comment (0 *); -- source
Element![](/se-interop/image/down-arrow.png?hunchentoot-session=150432%3AFDA01AA644C424D6C80AD1B0D74707E9)
ownedElement :
Element (0 *); -- source
Element![](/se-interop/image/down-arrow.png?hunchentoot-session=150432%3AFDA01AA644C424D6C80AD1B0D74707E9)
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].