Contents > B: List of Design Metrics > B.2 Interface Metrics

B.2 Interface Metrics

Metric: NumOpsCategory: Size
The number of operations in the interface.

Metric: EC_AttrCategory: Coupling (export)
The number of times the interface is used as attribute type.

Metric: EC_ParCategory: Coupling (export)
The number of times the interface is used as parameter type.

Metric: IC_ParCategory: Coupling (import)
The number of parameters in the interface having an interface or class as their type.

Metric: AssocCategory: Coupling
The number of elements the interface has an association with.

The metric counts incoming, outgoing, or bidirectional associations, aggregations and compositions to all kinds of elements.

In practice, there should mostly be incoming associations (see AttrOnIF), so the metric has export coupling characteristics.

Metric: NumDirClientsCategory: not specified
The number of elements directly implementing the interface.

This is the number of UML abstractions where this interface is the target.

Metric: NumIndClientsCategory: not specified
The number of elements implementing a descendent of the interface.

An element implementing an interface is also an implementation of every ancestor of that interface. This metrics counts how many classes, components, etc., indirectly implement the interface via a descendent. Together with metric NumDirClients, this indicates the total number of realizations of the interface.

Metric: NumAncCategory: Inheritance
The number of ancestors of the interface.

Metric: NumDescCategory: Inheritance
The number of descendents of the interface.

Metric: DiagsCategory: Diagram
The number of times the interface appears on a diagram.