Methodology | Legends | Conventions Used in EIDX Documentation | EIDX's Use of UML Class Diagrams | Procedures and Templates |
On this Page:
|
Also Recommended:
|
The UML Class Diagrams done on this web site are conceptual models, and not necessarily represent how we would do UML class diagrams for conversion to XML DTDs or XML Schema.
Notation used is as follows:
Symbol | Relationship Type | Means |
![]() |
Inheritance |
This is the "is a type of," relationship, and means that the object on
the none-arrow end inherits all the objects on the arrow-end. In
the example below, Discrete_Purchase_Order and Blanket_Order_Qty_Firm
are types of Purchase_Order_Documents. Purchase_Order_Document may be an abstract class that cannot be instantiated - you can't produce a "Purchase_Order_Document; it exists only to define attributes that are common to two or more other things. You can instantiate (produce) an actual Discrete_Purchase_Order or Blanket_Order_Qty_Firm, which each inherit all the attributes of Purchase_Order_Document. The terms "Generalization" and "Specialization" are also used. The object on the arrow-end is a generalization, and the object(s) on the none-arrow end are specializations. Discrete_Purchase_Order is a specialization of Purchase_Order_Document. Multiplicity is not denoted; the relationship in inheritance is always 1:1. |
![]() |
||
Synonyms | The terms "Generalization" and "Specialization" are also used. The object on the arrow-end is a generalization, and the object(s) on the none-arrow end are specializations. Discrete_Purchase_Order is a specialization of Purchase_Order_Document. | |
![]() |
Aggregation |
This is the "has a" type of relationship. The objects on the
diamond end "have" the object(s) on the arrow end of the line. In
aggregation, if the object(s) on the diamond end are "destroyed", the
objects on the arrow end are not destroyed - they can exist separately from the object(s) on the
diamond end. The difference between aggregation and composition may be subjective, especially when dealing with groupings of data objects used in business document definitions. Does Receipt_Data cease to exist if Line_Item_Comsumption_Plan ceases to exist? The example below suggests that if Line_Item_Consumption_Plan is destroyed, Receipt_Data could still exist by itself. In the second example, both Replenishment Scenarios "have" Order Model 2 in them. If the Replenishment Scenarios are destroyed, Order Model 2 could still exist and be implemented by itself. It could be argued, on the other hand, that Order Model 2 has no meaning except in the context of a Replenishment Scenario, and that the "composition" symbol should be used to indicate that if all the Replenishment Scenarios that use Order Model 2 are destroyed, then Order Model 2 is destroyed also. Multiplicity is denoted per the table below. |
![]() |
||
![]() |
||
![]() |
Composition |
This is the "is part of"
relationship. The objects on the arrow end of the line are part of
the object on the filled-diamond end of the line. If the object(s)
on the filled-diamond end of the line are destroyed, the objects on the
arrow end are also destroyed. In the example below, Order_Line_Item is part of Discrete_Purchase_Order and also part of Blanket_Order_Qty_FIrm. Order_Line_Item has no existence by itself. Discrete_Purchase_Order and Blanket_Order_Qty_FIrm are both destroyed, Order_Line_Item ceases to exist. As long as at least one of Discrete_Purchase_Order and Blanket_Order_Qty_FIrm exist, Order_Line_Item can exist. Multiplicity is denoted per the table below. |
![]() |
||
Multiplicity (Cardinality) | ||
|
Mandatory, only 1allowed | Class 2 is a mandatory component of Class 1. Class 1 contains one and only 1 occurrence of Class 2. |
![]() |
Mandatory, 1 or more allowed |
Class 2 is a mandatory component of Class 1. Class 1 contains one or more occurrences of Class 2. |
![]() |
Optional, 0 or more allowed | Class 2 is an optional component of Class 1. Class 1 may contain zero or many occurrences of Class 2. |
![]() |
Optional, no more than 1 allowed | Class 2 is an optional component of Class 1. Class 1 can contain zero or one occurrences of Class 2. |
|
1 | Attribute 1 (no designation) is mandatory and occurs only 1 time. |
1 or more | Attribute 2 (1..n) is mandatory and may occur one or more times. | |
zero or more | Attribute 3 (0..n) is optional and may occur zero or more times. | |
zero or 1 | Attribute 4 (0..1) is mandatory but if used, may occur only 1 time. |
Last updated 06 February 2003