1 Here is a reference to the UML class diagram symbols:
2 (Taken from a number of sources.)
6 A Class description containing a
17 An association represents a physical or conceptual connection
18 betwen objects. This is represented by a line between the two objects.
19 If the association has a name it would often be written on top.
22 Class1 ----------- Class2
24 There is a possiblity of a multidirectional association that would be
25 represented by a diamond connecting the related sets.
28 Class1 -----<O>---- Class3
32 Arrows can be used to indicate the navigablity of a association.
33 So an arrow from one class to another would indicate that Class1
34 uses the services of Class2 but Class2 is not aware of Class1.
35 It also indicates that nature of Class2 scope. Since there
36 is no aggregation relationship here, Class2 may outlive Class1
37 instances. This would be used to indicate a pointer or reference
40 Class1 -------> Class2
42 In some places it is necessary to represent that a Class can
43 be associated with a set instead of a single instance. This
44 will be represented by a star at the end of the association.
46 Class1 ------->* Class2
48 Composition (Strong Aggregation)
50 This means that Class2 is a part of Class1. It is a strong form
51 of aggregation in that when Class1 is destroyed Class2 goes with it.
53 The symbol for a composition relationship is a diamond filled to an arrow.
55 Class1 <*>-----> Class2
59 A weaker form of aggregation than composition is represented with
60 an unfilled diamond. It still demotes the life time of Class2 is
61 restricted to Class1, but Class2 is not part of Class1. This may
62 be implemented by a pointer in Class1 to Class2 with the dtor
65 Class1 <>------> Class2
71 Inheratance is indicated with an triangle pointing up to the
72 class form which the other derives. (Having no triangles a
81 So now a quick example:
87 +--- Polygon <>------------->* Point
89 This would indicate that a Polygon is derived from a Shape. It also
90 indicates that Polygon can have a reference to a Shape. Further,
91 Polygon contains a set of Points that it is responsible for.
93 This might be implemented like
99 class Polygon: public Shape
103 list<auto_ptr<Point>> points_;
112 Engineering Notebook Column
113 C++ Report, August, 1997
114 http://www.oma.com/PDF/umlClassDiagrams.pdf
117 http://wwwis.cs.utwente.nl:8080/dmrg/MEE/misop007/