Diretrizes: Dependência de Importação na Implementação
Dependência de Importação |
Uma dependência de importação no modelo de implementação é uma dependência estereotipada cuja origem é um subsistema de implementação e cujo destino também é um subsistema de implementação. Essa dependência permite que o subsistema de origem contenha referências ao conteúdo público do subsistema de destino. |
Tópicos
Explicação 
O gerenciamento de dependências entre subsistemas é um aspecto importante da estruturação do modelo de implementação. Um componente de um subsistema de cliente só poderá compilar componentes de um subsistema de fornecedor se importá-lo. Para expressar essas dependências, use a dependência de importação de um subsistema para outro a fim de ressaltar o subsistema em que há uma dependência.
Exemplo:
O diagrama de componentes a seguir mostra as dependências de importação entre subsistemas de implementação.

O subsistema Banco por Telefone possui uma dependência de importação em relação ao subsistema Serviços Comerciais. Isso permite que os componentes de Banco por Telefone compilem componentes públicos (visíveis) de Serviços Comerciais.
Uso 
A dependência de importação serve principalmente para controlar a visibilidade entre subsistemas e impor uma arquitetura aos implementadores. Quando a dependência de importação é definida pelo arquiteto de software no início do desenvolvimento, os implementadores têm permissão apenas para permitir que seus componentes façam referência (compilar) aos componentes públicos nos subsistemas importados. O controle das importações ajuda a manter a arquitetura do software e evita dependências indesejadas.
Subsistemas Podem ser Organizados em Camadas
Normalmente, o modelo de implementação é organizado em camadas. O número de camadas não é fixo e varia de acordo com a situação. Veja a seguir uma arquitetura típica com quatro camadas:
- A camada superior (camada de aplicativo) contém serviços específicos de aplicativos.
- A camada seguinte (camada específica de negócios) contém componentes específicos de negócios, usados em diversos aplicativos.
- A camada de middleware contém componentes como construtores GUI, interfaces para sistemas de gerenciamento de banco de dados, serviços de sistemas operacionais que não dependem de plataforma e componentes OLE, como planilhas e editores de diagramas.
- A camada inferior (camada de software de sistema) contém componentes como sistemas operacionais, interfaces para hardware específico, etc.

Exemplo de um modelo de implementação em camadas para um sistema bancário. As setas mostram dependências de importação entre subsistemas.
Copyright
(c) 1987 - 2001 Rational Software Corporation
|