margin-left:22.0pt'>N-ary associations are associations that
connect more than two classes.?Each instance lang=EN-US>쟯f the association lang=EN-US>쟧s an n-tuple of values from the respective classes.?There are
several characteristics for n-ary association lang=EN-US>s, which are: (i) Multiplicity for ternary associations can be
specified; (ii) The name lang=EN-US>쟯f the association (if any) is shown near the diamond; (iii) Role
adornments can appear on each path lang=EN-US>쟞s with a binary association lang=EN-US>; (iv) The multiplicity lang=EN-US>쟯n a role lang=EN-US>쟲epresents the potential number of instance tuples in the
association when the other N-1 values are fixed.?Indeed, binary association is
a special case that it has its own notation.
0cm;text-indent:0cm'> lang=EN-US>N-ary Association Resource Centric Interface
margin-left:55.0pt'>
Resource
Name
Description
src="http://www.visual-paradigm.com/working_with_unified_modeling_language/Working_with_Class_Diagrams_files/image077.png">
Association -> Class
To create a new Class and connect it
with a bi-directional Association.
none !msorm;padding:0cm 5.4pt 0cm 5.4pt !msorm'>
src="http://www.visual-paradigm.com/working_with_unified_modeling_language/Working_with_Class_Diagrams_files/image082.png">
none !msorm;border-left:none !msorm;border-bottom:solid windowtext 1.0pt !msorm;
border-right:solid windowtext 1.0pt !msorm;padding:0cm 5.4pt 0cm 5.4pt !msorm'>
Aggregation -> Class
none !msorm;border-left:none !msorm;border-bottom:solid windowtext 1.0pt !msorm;
border-right:solid windowtext 1.0pt !msorm;padding:0cm 5.4pt 0cm 5.4pt !msorm'>
To create a new Class and connect it
with an Aggregation.
none !msorm;padding:0cm 5.4pt 0cm 5.4pt !msorm'>
src="http://www.visual-paradigm.com/working_with_unified_modeling_language/Working_with_Class_Diagrams_files/image083.png">
none !msorm;border-left:none !msorm;border-bottom:solid windowtext 1.0pt !msorm;
border-right:solid windowtext 1.0pt !msorm;padding:0cm 5.4pt 0cm 5.4pt !msorm'>
Composition -> Class
none !msorm;border-left:none !msorm;border-bottom:solid windowtext 1.0pt !msorm;
border-right:solid windowtext 1.0pt !msorm;padding:0cm 5.4pt 0cm 5.4pt !msorm'>
To create a new Class and connect it
with an Composition.
src="http://www.visual-paradigm.com/working_with_unified_modeling_language/Working_with_Class_Diagrams_files/image045.png">
Anchor -> Note
To create a Note and connect it with
an Anchor.
margin-left:55.0pt'>Table 5‑8 The
resources of an N-ary Association
0cm;text-indent:0cm'> name="_Toc24191472">Collaboration
margin-left:55.0pt'>
margin-left:22.0pt'>A collaboration lang=EN-US>쟡escribes how an operation lang=EN-US>쟯r a classifier lang=EN-US>?like a use case lang=EN-US>) is realized by a set of classifiers and associations used in a
specific way. The collaboration defines a set of roles to be played by
instances and links, as well as a set of interactions that define the
communication between the instances when they play those roles.
0cm;text-indent:0cm'> lang=EN-US>Collaboration Resource Centric Interface
margin-left:55.0pt'>
Resource
Name
Description
none !msorm;padding:0cm 5.4pt 0cm 5.4pt !msorm'>
src="http://www.visual-paradigm.com/working_with_unified_modeling_language/Working_with_Class_Diagrams_files/image042.png">
none !msorm;border-left:none !msorm;border-bottom:solid windowtext 1.0pt !msorm;
border-right:solid windowtext 1.0pt !msorm;padding:0cm 5.4pt 0cm 5.4pt !msorm'>
Realization -> Package
none !msorm;border-left:none !msorm;border-bottom:solid windowtext 1.0pt !msorm;
border-right:solid windowtext 1.0pt !msorm;padding:0cm 5.4pt 0cm 5.4pt !msorm'>
To create a new Package that is a
realization쟯f the source Collaboration.
none !msorm;padding:0cm 5.4pt 0cm 5.4pt !msorm'>
src="http://www.visual-paradigm.com/working_with_unified_modeling_language/Working_with_Class_Diagrams_files/image058.png">
none !msorm;border-left:none !msorm;border-bottom:solid windowtext 1.0pt !msorm;
border-right:solid windowtext 1.0pt !msorm;padding:0cm 5.4pt 0cm 5.4pt !msorm'>
Realization -> Subsystem
none !msorm;border-left:none !msorm;border-bottom:solid windowtext 1.0pt !msorm;
border-right:solid windowtext 1.0pt !msorm;padding:0cm 5.4pt 0cm 5.4pt !msorm'>
To create a new Subsystem that is a
realization쟯f the source Collaboration.
none !msorm;padding:0cm 5.4pt 0cm 5.4pt !msorm'>
src="http://www.visual-paradigm.com/working_with_unified_modeling_language/Working_with_Class_Diagrams_files/image068.png">
none !msorm;border-left:none !msorm;border-bottom:solid windowtext 1.0pt !msorm;
border-right:solid windowtext 1.0pt !msorm;padding:0cm 5.4pt 0cm 5.4pt !msorm'>
Realization -> Model
none !msorm;border-left:none !msorm;border-bottom:solid windowtext 1.0pt !msorm;
border-right:solid windowtext 1.0pt !msorm;padding:0cm 5.4pt 0cm 5.4pt !msorm'>
To create a new Model that is a
realization쟯f the source Collaboration.
src="http://www.visual-paradigm.com/working_with_unified_modeling_language/Working_with_Class_Diagrams_files/image150.png">
Generalization-> Collaboration
To create a Collaboration that is a
generalization쟯f the source Collaboration.
src="http://www.visual-paradigm.com/working_with_unified_modeling_language/Working_with_Class_Diagrams_files/image151.png">
Dependency -> Collaboration
To create a Collaboration and
connect it with a Dependency (the source Collaboration depends on the new
Collaboration).
none !msorm;padding:0cm 5.4pt 0cm 5.4pt !msorm'>
src="http://www.visual-paradigm.com/working_with_unified_modeling_language/Working_with_Class_Diagrams_files/image151.png">
none !msorm;border-left:none !msorm;border-bottom:solid windowtext 1.0pt !msorm;
border-right:solid windowtext 1.0pt !msorm;padding:0cm 5.4pt 0cm 5.4pt !msorm'>
Usage -> Collaboration
none !msorm;border-left:none !msorm;border-bottom:solid windowtext 1.0pt !msorm;
border-right:solid windowtext 1.0pt !msorm;padding:0cm 5.4pt 0cm 5.4pt !msorm'>
To create a Collaboration and
connect it with a Usage Dependency (the source Collaboration depends on the
new Collaboration).
none !msorm;padding:0cm 5.4pt 0cm 5.4pt !msorm'>
src="http://www.visual-paradigm.com/working_with_unified_modeling_language/Working_with_Class_Diagrams_files/image152.png">
none !msorm;border-left:none !msorm;border-bottom:solid windowtext 1.0pt !msorm;
border-right:solid windowtext 1.0pt !msorm;padding:0cm 5.4pt 0cm 5.4pt !msorm'>
Binding Dependency ->
Collaboration
none !msorm;border-left:none !msorm;border-bottom:solid windowtext 1.0pt !msorm;
border-right:solid windowtext 1.0pt !msorm;padding:0cm 5.4pt 0cm 5.4pt !msorm'>
To create a Collaboration and
connect it with a Binding Dependency (the source Collaboration depends on the
new Collaboration).
none !msorm;padding:0cm 5.4pt 0cm 5.4pt !msorm'>
src="http://www.visual-paradigm.com/working_with_unified_modeling_language/Working_with_Class_Diagrams_files/image153.png">
none !msorm;border-left:none !msorm;border-bottom:solid windowtext 1.0pt !msorm;
border-right:solid windowtext 1.0pt !msorm;padding:0cm 5.4pt 0cm 5.4pt !msorm'>
Permission -> Collaboration
none !msorm;border-left:none !msorm;border-bottom:solid windowtext 1.0pt !msorm;
border-right:solid windowtext 1.0pt !msorm;padding:0cm 5.4pt 0cm 5.4pt !msorm'>
To create a Collaboration and
connect it with a Permission Dependency (the source Collaboration depends on
the new Collaboration).
src="http://www.visual-paradigm.com/working_with_unified_modeling_language/Working_with_Class_Diagrams_files/image045.png">
Anchor -> Note
To create a Note and connect it with
an Anchor.
margin-left:55.0pt'>Table 5‑9 The
resources of a Collaboration
0cm;text-indent:0cm'> name="_Toc24191475">Constraint
margin-left:55.0pt'>
margin-left:55.0pt'>
margin-left:22.0pt'>A constraint lang=EN-US>?/span>is a semantic relationship lang=EN-US>쟞mong model lang=EN-US>쟢lements that specifies conditions and propositions that must be
maintained as true; otherwise, the system lang=EN-US>쟡escribed by the model is invalid (with consequences that are
outside the scope lang=EN-US>쟯f UML). Certain kinds of constraints (such as an association lang=EN-US>젗xor?constraint) are predefined in UML, others may be
user-defined. A user-defined constraint is described in words in a given
language, whose syntax lang=EN-US>쟞nd interpretation is a tool responsibility lang=EN-US>. A constraint represents semantic information attached to a model
element lang=EN-US>, not just to a view lang=EN-US>쟯f it.
0cm;text-indent:0cm'> name="_Toc24191476">Generalization
margin-left:55.0pt'>
margin-left:22.0pt'>Generalization is a relationship lang=EN-US>쟟etween a general element lang=EN-US>쟞nd a more specific kind of that element. It means that the more
specific element can be used whenever the general element appears. This relation
is also known as specialization lang=EN-US>쟯r inheritance lang=EN-US>쟫ink lang=EN-US>.
0cm;text-indent:0cm'> name="_Toc24191477">Usage
margin-left:55.0pt'>
margin-left:22.0pt'>Usage is a dependency lang=EN-US>쟳ituation in which one element lang=EN-US>?the client) requires the presence of another element (the supplier lang=EN-US>) for its correct functioning or implementation lang=EN-US>.
0cm;text-indent:0cm'> name="_Toc24191478">Realization
margin-left:55.0pt'>
margin-left:22.0pt'>Realization is the relationship lang=EN-US>쟟etween a specialization lang=EN-US>쟞nd its implementation lang=EN-US>.?It is an indication of the inheritance lang=EN-US>쟯f behavior lang=EN-US>쟷ithout the inheritance of structure lang=EN-US>.?One classifier lang=EN-US>쟳pecifies a contract lang=EN-US>쟳uch that another classifier guarantees to carry out. Realization
is used in two places: one is between interfaces and the classes that realize
them, and the other is between use case lang=EN-US>s and the collaboration lang=EN-US>쟴hat realize them.
0cm;text-indent:0cm'> name="_Toc24191479">Association
margin-left:55.0pt'>
margin-left:22.0pt'>Association is represented with a line
between classes.?Associations represent structural relationships between
classes and can be named to facilitate model lang=EN-US>쟵nderstanding.?If two classes are associated you can navigate from
an object lang=EN-US>쟯f one class to an object of the other class.
0cm;text-indent:0cm'> name="_Toc24191481">Aggregation
margin-left:55.0pt'>
margin-left:22.0pt'>Aggregation is a special kind of
association lang=EN-US>쟧n which one class represents as the larger class that consists of
a smaller class.?It has the meaning of 밾as-a?relationship lang=EN-US>.
0cm;text-indent:0cm'> name="_Toc24191483">Composition
margin-left:22.0pt'>Composition is a strong form of
aggregation association lang=EN-US>. It has strong ownership lang=EN-US>쟞nd coincident lifetime lang=EN-US>쟯f parts by the whole lang=EN-US>. A part lang=EN-US>쟭ay belong to only one composite. Parts with non-fixed multiplicity lang=EN-US>쟭ay be created after the composite itself. But once created, they
live and die with it (that is, they share lifetimes). Such parts can also be
explicitly removed before the death of the composite.
margin-left:55.0pt'>
0cm;text-indent:0cm'> name="_Toc24191485">Association Class
margin-left:55.0pt'>
margin-left:22.0pt'>Association class is an association lang=EN-US>쟴hat is also a class, and has both association and class
properties.?It can have attributes, operations and even other associations.
It usually helps to further define a many-to-many relationship lang=EN-US>.
0cm;text-indent:0cm'> name="_Toc24191486">Dependency
margin-left:55.0pt'>
margin-left:22.0pt'>The dependency lang=EN-US>쟫ink lang=EN-US>쟧s a semantic relationship lang=EN-US>쟟etween the two elements. It indicates that when a change occurs in
one element lang=EN-US>, there may be a change necessary to the other element.?A
dependency link can include lang=EN-US>쟫abel and stereotype lang=EN-US>쟠an be set.
0cm;text-indent:0cm'> name="_Toc24191487">Abstraction
margin-left:55.0pt'>
margin-left:22.0pt'>An Abstraction Dependency is a type lang=EN-US>쟯f Dependency with stereotype lang=EN-US>잸bstraction.
0cm;text-indent:0cm'> name="_Toc24191488">Binding
margin-left:55.0pt'>
margin-left:22.0pt'>A Binding Dependency is a type lang=EN-US>쟯f Dependency with stereotype lang=EN-US>잹inding.
0cm;text-indent:0cm'> name="_Toc24191489">Permission
margin-left:55.0pt'>
margin-left:22.0pt'>A Permission Dependency is a type lang=EN-US>쟯f Dependency with stereotype lang=EN-US>쟑ermission.
0cm;text-indent:0cm'> name="_Toc24191490">Containment
margin-left:55.0pt'>
margin-left:22.0pt'>Shows a class, package lang=EN-US>쟯r other model lang=EN-US>쟢lement lang=EN-US>쟡eclared within another model element. Such a declared class is not
a structural part lang=EN-US>쟯f the enclosing class but merely has scope lang=EN-US>쟷ithin the namespace lang=EN-US>쟯f the enclosing class, which acts like a package lang=EN-US>쟴oward the inner class.