Class diagrams give the static structure of the system. It shows
attributes and operations in the objects of the system. The diagram
represents ER diagram. The lines connecting the classes in the class
diagram show relationships between the connected classes. Role-names and multiplicities that adorn the connecting lines describe
association, aggregation or composition. Aggregation and composition
are whole-part relationships. Other relationships may be dependency or
generalisation. Dependency relationships involve the dependent class
using the other class type parameter in method calls. Generalisation
is an inheritance relationship. Messages are passed through the
connecting lines in either direction unless navigation is specifically
restricted to one direction. A system may require many class diagrams
for its complete description. Special class types
(<<stereotype>>
) may be introduced. Object diagrams use
instances, objects being shown by underlined names of instances and
classes. Sometimes they may be anonymous.