Using consistency checks
Assisted data entry
Objecteering provides a mechanism that lists all the elements that can be selected during a given modeling operation. This mechanism carries out more than 280 consistency checks in real time on models, which allows you to guarantee the high quality of your models.
The assisted data entry mechanism means that you can avoid the following problems:
· the entry of the same name several times
· the manual updating of identical names during modifications
· the entry of inconsistent names
Example of assisted data entry
Let's imagine that you have just created two non-primitive classes named "C1" and "C2" inside a package, as well as an attribute on the "C1" class, and that you now want to define this attribute's class in its dialog box.
Open the attribute's dialog box by double-clicking and then click on the arrow on the right-hand side of the "Class" field, to display possible classes for your attribute (as shown in the screenshot below).

The list of possible classes for the attribute
As you can see in the above screenshot, a list of possible classes for the attribute is provided. This list contains predefined primitive classes (integer, string, etc.), but does not contain the "C1" nor "C2" classes. This is logical, since we recommend that only primitive classes can be attributes of other classes.
Continue by defining the "C2" class as being "primitive" (by checking the "Primitive" tickbox in the "C2" class' dialog box), and then re-open the attribute's dialog box and have another look at the list of possible classes for your attribute. The "C2" class is now present in the list of possible classes for the attribute.

The "Attribute" dialog box containing the "C2" class in the list of possible classes for the attribute
Consistency management
All the model elements appearing in all the Objecteering windows are kept permanently consistent. For example, the name of an operation can appear in a state diagram, a sequence diagram, the auxiliary window and the explorer. No matter how many times it appears or how many times it may be modified, it is always consistent.
Example of consistency management
Let's have a look at how changing the name of a class in a class diagram also results in the automatic update of the explorer.
The screenshot below presents a class diagram created on a package. This package contains the "Tea" class, whose name we are going to change to "OrangeJuice".

Automatically updating the name of the class
Steps:
1. The "Tea" class exists in the explorer and in the class diagram.
2. Double-click on the "Tea" class to open the associated dialog box and change its name from "Tea" to "OrangeJuice".
The result of this operation is shown below.

The class name has been updated in the explorer and the class diagram
The modified class name has been taken into account in both the explorer and the class diagram.
Consistency checks
Objecteering carries out more than 280 consistency checks on a model in real time. These checks guarantee that the models you build in Objecteering all reach the same high standards of quality.
If any problems are encountered, a message appears in the "Audit" tab of the output window.
Example of a case scenario forbidden by consistency checks
The screenshot below presents an example of an operation forbidden by Objecteering (the creation of an association between the "C1" and the primitive "C2" class).

A warning message in the output window