![]() |
![]() |
![]() |
![]() |
![]() |
Object Model Notation
The object model notation used in the SDL Suite is an adaptation of the notations used in OMT (Object Modeling Technique) and UML (Unified Modeling Language). The OMT/UML notation is a commonly accepted graphical notation that is used for drawing diagrams that describe objects and the relations between them.
Class
The most important concept in an object model is the class definition. A class is a description of a group of similar objects that share the properties defined by the class. The properties of a class are described with attributes and operations. The object model notation for a class is exemplified in Figure 7, where the second class definition also shows how to define attributes and operations.
Classes may inherit attributes and operations from other classes, known as specialization and generalization. The object model notation for this is shown in Figure 8.
Relations and Multiplicity
Classes may be physically or logically related to each other. This is shown in the object model by means of associations as shown in Figure 9. An association may have a name and/or the endpoints of the association may be labeled by the role of this endpoint.
Aggregation is special kind of association, indicating a "consists of" relation. It has its own notation as shown in Figure 10.
The endpoints of associations and aggregations may have a multiplicity according to the following:
- No multiplicity (exactly one)
- * (zero or more)
- 0,1 (zero or one)
- 1..* (one or more)
- 1..3,6,10..* (several intervals: 1, 2, 3, 6, 10 or more)
Objects
Besides class definitions, object models may also contain objects (instances) and their relations. The relation that exists between objects are links, which corresponds to associations for classes. The object symbol has one field containing the object name and a reference to the class ("name:class"), and an attribute field where constant or default values can be assigned to the object attributes. See Figure 11.
http://www.ibm.com/rational |
![]() |
![]() |
![]() |
![]() |