Class Item Visibility
Use visibility markers to signify who can access the information contained within a class. (+) Public(#) Protected: class and sub-class access
(-) Private
(~) Package
Associations
Associations represent static relationships between classes. Place association names above, on, or below the association line. Use a filled arrow to indicate the direction of the relationship. Place roles near the end of an association. Roles represent the way the two classes see each other.Note: It's uncommon to name both the association and the class roles.
Bi-directional (standard) association
An association is a linkage between two classes. Associations are always assumed to be bi-directional; this means that both classes are aware of each other and their relationship, unless you qualify the association as some other type. A bi-directional association is indicated by a solid line between the two classes. At either end of the line, you place a role name and a multiplicity value. When an instance of a Flight exists, it can either have zero or one instance of a Plane associated with it. The Plane instance can be associated either with no flights (e.g., it's a brand new plane) or with up to an infinite number of flights.Multiplicity (Cardinality)
Place multiplicity notations near the ends of an association. These symbols indicate the number of instances of one class linked to one instance of the other class. For example, one company will have one or more employees, but each employee works for one company only. Attribute represents a group of objectsSet number: [1..10] one to ten.
Unknown number: [*]
Unique items in group: {unique}
Non Unique items in group: {notUnique}
Ordered group of item: {ordered}
Item cannot change: {readOnly}
Class Dependence
my thanks to:
http://www.smartdraw.com/resources/tutorials/uml-class-diagrams/
http://www.ibm.com/developerworks/rational/library/content/RationalEdge/sep04/bell/