OMT Object model
Representation of instances
In object-oriented modeling, objects must generally be documented at the type level (that is, class level). However, it can be useful to model individual instances as well. The relevant symbol provided by ARIS is a blue rectangle with rounded corners.
Representation of classes
Classes represent the basic structures of the area of application to be modeled. They are illustrated in ARIS by a blue rectangle (with horizontal lines).
Assignment of instances to classes
When illustrating instances, assignments to the associated classes can be shown. The corresponding connection is of the is instance of type, as illustrated by the following figure.
Assignment of attributes to classes
The characteristics of classes are described using attributes. When modeled in ARIS, these are separate objects (and thus also separate symbols) that are linked to the corresponding classes via connections of the has attribute type (see the following figure). The division into two different object types (classes and attributes) is necessary in order to take full advantage of the navigation and report creation capabilities of ARIS.
For each attribute, you can specify whether it is a class attribute (the value is relevant for all instances of the class) or an instance attribute.
Assignment of operations to classes
The functionality assigned to classes is described by defining operations (methods). Here too, a separate object type is available that can be related to classes via a connection of the has operation type (see the following figure).
Associations between instances
Individual instances can be linked to each other. These links are illustrated in ARIS using non-directed connections of the is linked to type.
Associations between classes
Links (associations) can also exist between classes. You are already familiar with these links from the entity relationship model. They are illustrated by their own symbol (yellow diamond), which enables you to illustrate n-relationships in the same way (see below). The connections are drawn from the class symbol to the diamond symbol and can be assigned degrees of complexity, for which the Multiplicity attribute of the connection is used. The following entries are possible for Multiplicity, some of which also result in a corresponding graphical representation of the connection:
1
c
cn
n
N associations between classes
Three-figure (or even n) associations between classes are illustrated by linking a third class or even more classes with the diamond symbol defining the link.
Modeling an association as a class
An association can also be understood as an independent object and interpreted as a class. This can be expressed by drawing a directed connection from the diamond symbol to one of the class symbols, where you can subsequently list all attributes and operations (see the following figure). Of course, this 'reinterpreted' class can in turn be associated with other classes.
Representation of qualified associations
A qualified association adds qualification information to a normal association. This information is a labeled attribute that reduces the cardinality of an association. This makes sense for 1:m and n:m associations since the objects on the m side of an association are differentiated in this manner.
A qualifying association is illustrated by adding the qualification information to the connection. For this purpose, the Qualifier attribute is provided. As with all attributes it can also be shown in the graphic.
Representation of orders for associations
If objects on the n side of an association are arranged in a certain order, you can note this explicitly in the graphic. For this purpose, a separate attribute exists at the connection between the 'Class' and 'Association' symbols.
Aggregation between classes
An aggregation represents a part-whole relation and can be understood as a special form of association. This relation is modeled as a directed relationship between classes (with the aggregates connection type). In the graphic, a white diamond symbol is used for the class representing the 'whole' (component group).
Generalization and inheritance
One basic construct of object-oriented modeling is the definition of hierarchies between classes, within which subordinate classes can inherit attributes and operations from superior classes. In ARIS, a separate object type exists for this purpose (green triangle). It is linked to the participating classes (see the following figure). Multiple inheritance can also be illustrated.
The generalization operator may be assigned an attribute indicating which aspect is used for generalization/specialization and whether the specialization is disjoint or non-disjoint.
Restrictions (constraints) for classes, attributes, and associations
Restrictions (constraints) are functional relationships between classes, attributes, and associations of an OMT Object model. In ARIS, separate object types (dot) are defined for constraints on attributes. The following figure illustrates an example showing that the height-to-width ratio for windows can take values from 0.7 to 1.7.
You can also define restrictions referring to associations. The example in the following figure shows that the set of persons forming the board of a committee naturally represents a subset of all committee members. This fact can be illustrated by drawing a directed connection between the association symbols.
Example of an OMT Object model
The following figure shows a typical example of an OMT Object model including the main modeling constructs.