association | can have a label which is an association name or a role name | |
cannot be drawn as a hierarchy | |
has definition A relationship between two classes that represents the existence of a set of links between objects of the two classes | |
describes a relationship that will exist between instances at run time | |
has default name "has" if it has neither an association name nor a role name | |
has example class Person in a business application might have the following relationships supervisor (association to class Manager) and tasksToDo (association to class Task) | |
has part association name | |
has part role name | |
is bi-directional unless it has an arrow at one end indicating directionality | |
is legitimate only if its links will survive beyond the execution of any particular operation | |
is a subtopic of 2.2 - Classes and Objects | |
is a subtopic of 5.3 - Associations and Multiplicity | |
is drawn as a line, or set of connected lines, between two classes in a UML class diagram | |
is usually implemented using instance variables in Java: you divide each two-way association into two one-way associations - so each associated class has an instance variable | |
is a kind of data abstraction | |
may be implemented in several ways in Java | |
must not be added to a model unless it is relevant to the application - it will be needed to implement some requirement | |
normally represents something that will be stored in a database | |
represents all the links between two classes that may ever exist | |
should exist if a class possesses, controls, is connected to, is related to, is a part of, has as parts, is a member of, or has as members, some class in your model | |
should have sufficient names to make the association clear and unambiguous | |
shows how two classes are related to each other | |
data abstraction | groups the pieces of data that describe some entity, so that programmers can manipulate that data as a unit | |
helps a programmer to cope with the complexity of data | |
hides the details of data | |