Previous Topic: Attribute Default Value or AlgorithmNext Topic: Attribute Aliases


Derivation Algorithm

You specify derivation algorithms only for derived attributes.

Every time the value of a derived attribute is requested, the derivation algorithm executes, so the value change over time. For example, EMPLOYEE Age is derived from the Date of today and EMPLOYEE Birth Date, whenever the business knows how old the employee is. If the business knows the value that was originally calculated (for example, EMPLOYEE Age When Hired) a default algorithm is used, not a derivation algorithm.

There are some performance considerations that are associated with derived attributes. In practice, designers must decide whether a derived attribute is calculated or stored; this decision is a performance-oriented design decision.

If calculated, the value of the derived attribute is recalculated every time that it is requested.

If stored, the value of the derived attribute is recalculated only when one of the attributes and relationships on which it depends is modified.

The distinction between calculation and storage is relevant during analysis if performance is a critical issue. This calls for performance analysis in parallel with analyzing the business requirements; otherwise it is deferred until design.

Derivation algorithms are specified during procedure design using the Action Diagramming Tool.

If rules for deriving the value are critical to the business, then the algorithms are specified during analysis. See the chapter "Analyzing Interactions."

More information:

Analyzing Interactions