UML class diagram
Jump to navigation
Jump to search
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)