Properties of Operations in UML Class Diagrams

On a UML class diagram in Visual Studio Ultimate, you can add operations to classes and interfaces. An operation is a method or function that can be performed by an instance of a class or interface.

To add an operation, right-click the class or interface, point to Add, and then click Operation.

If the operations of a class on the diagram are not visible, click the expand chevron at the top of the class or interface. If you can see the Operation header, click [+] to expand the operations section.

Signature of an Operation

The signature of an operation is the line of text that represents it in a class or interface on a UML class diagram. It has the following form:

+ OperationName (parameter1 : Type1 [*], ...) : ReturnType [*]

+ denotes public Visibility. The other permitted values are - (private), # (protected), ~ (package).

OperationName is underlined if the Is Static property is true, and is italic if the Is Abstract property is true.

: ReturnType is omitted if no return type is defined.

[*] denotes the multiplicity of a parameter or return type. It is omitted if the multiplicity is 1.

See the next section for a full description of these properties.

Properties

These are the properties of an operation in a class or interface on a UML class diagram.

To see the properties of an operation, right-click the operation in the class or interface on the diagram, and then click Properties. The properties appear in the Properties window.

Property

Default

Description

Name

(a new name)

Should be unique within the containing type.

Parameters

(none)

A list that has the form name:Type, name:Type, …. Click […] to edit the list.

The types can be primitive types, or types that are defined in the model. If you enter a name for a new type in this property, a type will be added to the Unspecified Types section of UML Model Explorer.

Return Type

(none)

(none), or a primitive type, or a type that is defined in the model. If you enter a name for a new type in this property, a type will be added to the Unspecified Types section of UML Model Explorer.

Postconditions

(none)

An optional condition specifying a relationship between the state of the system before and after the operation's execution.

Preconditions

(none)

An optional condition specifying the assumptions about the state of the system before the operation begins execution.

Body Conditions

(none)

An optional constraint on the values returned by the operation.

Visibility

Public

The permitted values, and the characters that appear in the signature are:

+ Public - visible globally

- Private - not visible outside the owning type

# Protected - visible to types derived from the owner

~ Package - visible to other types within the same package.

Signature

+Name()

Summarizes the visibility, name, parameters, and return type of this operation. You can change these properties by editing the signature on the diagram, or by editing the individual properties.

Work Items

0 associated

Count of associated work items. Read-only.

For more information, see Link Model Elements and Work Items.

Concurrency

Sequential

Sequential - The operation is or will be designed without concurrency control. Calling this operation concurrently might result in failures.

Guarded - The operation will automatically block until other instances of it have completed.

Concurrent - The operation is designed so that multiple calls to it can execute concurrently.

Is Static

False

If true, this operation is shared between all instances of this type.

If true, the name of the operation will be underlined where it appears on the diagram.

Is Abstract

False

If true, no code is associated with this operation. Therefore, the owning class is abstract.

Is Leaf

False

The designer intends that this operation cannot be overridden in derived classes.

Is Query

False

If true, no significant changes to the state of the system are made by this operation. Therefore, it can be used, for example, in a test to check the state of the system.

Multiplicity

1

1 - a single value of the specified type.

0..1 - can be null.

* - a collection of values of the specified type.

1..* - a collection containing at least one value.

n..m - a collection that contains between n and m values.

Is Ordered

False

If true, the collection forms a sequential list. For Multiplicity more than 1.

Is Unique

False

If true, there are no duplicate values in the collection. For Multiplicity more than 1.

See Also

Concepts

UML Class Diagrams: Reference

Properties of Types in UML Class Diagrams

Properties of Attributes in UML Class Diagrams

Properties of Associations in UML Class Diagrams

UML Class Diagrams: Guidelines