Em modelagem
UML,
interfaces são elementos do modelo que definem conjuntos de operações que outros
elementos do modelo, como classes ou componentes devem implementar. Um elemento de modelo de execução realiza
uma interface pela substituição de cada um dos operandos que a interface
declara.
É possível utilizar as interfaces em diagramas de classe e diagramas de
componentes para especificar um contrato entre a interface e o classificador
que realiza a interface. Cada interface especifica um conjunto de operações
bem definido que possui visibilidade pública. As assinaturas da operação
informam aos classificadores de execução que tipo de comportamento deve chamar,
mas não como eles devem chamar esse comportamento. Muitos classificadores podem
executar uma única interface, cada uma fornecendo uma execução exclusiva.
As interfaces suportam a ocultação de informações e a proteção de código do
cliente pela declaração pública de determinados comportamentos ou serviços. As classes
ou componentes que realizam as interfaces pela execução desse comportamento
simplificam o desenvolvimento de aplicativos porque os desenvolvedores que
gravam código do cliente precisam conhecer apenas as interfaces, não
os detalhes da execução. Se você substituir classes, ou componentes
que implementem interfaces, em seu modelo, não será necessário fazer um novo design
do aplicativo se os novos elementos do modelo executarem as mesmas interfaces.
É possível especificar os seguintes tipos de interfaces:
- Interfaces fornecidas: essas interfaces descrevem
os serviços que as instâncias de um classificador (fornecedor) oferecem a
seus clientes
- Interfaces requeridas: essas interfaces especificam os serviços que
um classificador necessita para executar suas funções e para cumprir suas próprias
obrigações com seus clientes
Normalmente, uma interface possui um nome que reflete a função
exercida em um aplicativo. Uma convenção comum é prefixar o
nome da interface com uma barra para indicar que um elemento de
modelo é uma interface.
Como a figura seguinte ilustra, o editor de diagramas exibe uma interface das seguintes maneiras:
- Símbolo retangular de classe que contém a
palavra-chave «interface». Essa notação também é chamada de visualização interna ou
de classe.

Utilize a class shape quando
precisar modelar os detalhes da interface. As divisões na
class shape exibem informações sobre os atributos, operações
e recepções de sinal da interface.
- A notação de bola e soquete, na qual a dependência de execução
de um classificador para a interface fornecida é exibida como um círculo
(bola) e a interface de uso de um classificador para a
interface requerida é exibida como um meio-círculo (soquete). Essa notação
também é chamada de visualização externa.
| Interface fornecida (forma de círculo) |
Interface requerida (forma de soquete) |
 |
 |
Utilize a notação de bola e soquete, também chamada
de notação pirulito, quando precisar modelar apenas que as interfaces
fornecida e requerida existem.