UML class diagram
Definition
UML Class diagrams are one kind of official diagram types of the Unified modeling language (UML)
Architecture
Class diagrams are made with quite a complex "language". They describe what interacts between classes. Here are some elements (I know I have to go over this - Daniel K. Schneider 16:11, 5 June 2007 (MEST))
- Classes
- Classes are represented with boxes
- Represented by: a rectangle with one, two or three "fields": classname, properties and operations
- Association
- A relationship between instances of the two classes
- Represented by: a solid line, or if directional with an arrow directed from the source class to the target class.
- Aggregation
- A part-of relationship
- Represented by: a solid line, with an emtpy lozange at aggregation end and arror at member end
- Example: a learning object is part of an environment
- Generalization
- A is-a relationship
- Represented by: A solid line with a triangular arrow from specialized class to class
- Example: Learner is a role
- Composition
- Like aggregation but you can add more constraints.
- An instance of a class can be potentially a component of several classes, but can only be owned by one.
- Represented by: a solid line, with an filled lozange at aggregation end and arror at member end
- Multiplicity
- of an association end is the number of possible instances of the class associated with a single instance of the other end.
- Represented on both ends by the following syntax
| Multiplicities | Explanation The notation n . . m indicates n to m instances. |
|---|---|
| 0..1 | zero or one instance. |
| 0..* or * | no limit on the number of instances (including none). |
| 1 | exactly one instance |
| 1..* | at least one instance |
- More
- There is more (sorry)...
Examples
IMS Learning Design
Here is the official UML Diagram that summarizes the IMS Learning Design educational modeling language:

Here is an annotated version. Blue boxes (roughly) give an idea of the relationships involved.

References
- IMS Learning Design Information Model, Version 1.0 Final Specification, HTML, retrieved 16:11, 5 June 2007 (MEST).
- Randy Miller, Practical UML: A Hands-On Introduction for Developers, Borland Developer network. (Short and excellent general UML tutorial).
- Donald Bell, UML basics: An introduction to the Unified Modeling Language, IBM Developper Works / Rational Rose. (IBM has a lot of UML and use case tutorials, needs some searching skills)