Relacionamentos de Dependência

Na modelagem UML, um relacionamento de dependência é aquele no qual as alterações em um elemento de modelo (o fornecedor) impactam outro elemento de modelo (o cliente). Os relacionamentos de dependência podem ser utilizados em diagramas de classe, diagramas de componentes, diagramas de implementação e diagramas de casos de uso.

Um relacionamento de dependência também pode ser utilizado para representar precedência, em que um elemento de modelo deve preceder outro.

Normalmente, os relacionamentos de dependência não possuem nomes.

Como a figura a seguir ilustra, uma dependência é exibida no editor de diagrama como uma linha tracejada com uma seta aberta que aponta do elemento do modelo cliente para o elemento do modelo fornecedor.

Duas class shapes, denominadas Client e Supplier, estão conectadas por uma linha tracejada com uma seta aberta apontando do Client para o Supplier.

Tipos de Relacionamentos de Dependência

Como um relacionamento de dependência pode representar vários tipos diferentes de relacionamentos, as palavras-chave ou estereótipos são utilizados para mostrar a natureza precisa da dependência.

Tipo de dependência Palavra-chave ou estereótipo Descrição
Abstração «abstraction», «derive», «refine» ou «trace» Relaciona dois elementos de modelos ou conjuntos de elementos de modelos, que representam o mesmo conceito em níveis diferentes de abstração ou de pontos de vista diferentes.
Ligação «bind» Conecta argumentos de gabarito a parâmetros do gabarito para criar elementos de modelos a partir de gabaritos.
Realização «realize» Indica que o elemento do modelo cliente é uma execução do elemento do modelo fornecedor e que este é a especificação.
Substituição «substitute» Indica que o elemento do modelo cliente toma o lugar do fornecedor. O elemento do modelo cliente deve estar em conformidade com o contrato ou a interface estabelecidos pelo elemento do modelo fornecedor.
Uso «use», «call», «create», «instantiate» ou «send» Indica que um elemento de modelo requer outro elemento de modelo para sua execução ou operação totais.
Nota: Vários relacionamentos utilizam um conector semelhante ao de um relacionamento de dependência, mas não são considerados tipos de relacionamentos de dependência; por exemplo, relacionamentos de extensão e relacionamentos de inclusão.

Utilizando Relacionamentos de Dependência

É possível incluir relacionamentos de dependência no modelo para realizar as seguintes metas:

Exemplo

Em um aplicativo de e-commerce, uma classe Cart depende de uma classe Product porque a primeira utiliza a segunda como um parâmetro para uma operação de inclusão. Em um diagrama de classe, um relacionamento de dependência aponta da classe Cart para a classe Product. A classe Cart é, portanto, o elemento do modelo cliente e a classe Product é o elemento do modelo fornecedor. Esse relacionamento indica que uma alteração na classe Product pode requerer uma alteração na classe Cart.

Uma ilustração do exemplo descrito no parágrafo anterior.
Tarefas relacionadas
Incluindo Relacionamentos em Diagramas
Termos de uso | Feedback
(C) Copyright IBM Corporation 2004, 2005. Todos os Direitos Reservados.