Artifacts > Analysis & Design Artifact Set > Design Model... > Interface
An interface declares a set of operations, including their signatures and parameters, that are use to specify the services offered by a classifier model element (e.g. a class, component or subsystem).
Interfaces are created in the elaboration phase, and define the important 'seams' in the system. All interfaces are architecturally significant.
A Software Architect is responsible for the integrity of the Interface, ensuring that:
Interfaces are typically used in conjunction with either Artifact:
Design Subsystems or Artifact: Components; it is
usually not necessary or desirable to use interfaces in conjunction with Artifact:
Design Classes, where using public operations is usually sufficient.
Interfaces are typically used in cases where there is a need to define the
behavior (in the form of operation signatures) independently from the elements
that realize those operations. This implies the existence of larger-grained
abstraction of behavior (in the case of design subsystems) or replaceability (in
the case of either design subsystems or executable components). For projects
that do not have these attributes, interfaces can be omitted.
Rational Unified Process