Diretrizes: Dependência de Importação na Implementação
Tópicos
Explicação
O gerenciamento de dependências entre subsistemas é um aspecto importante da estruturação do modelo de implementação.
Um elemento de um subsistema de cliente só poderá compilar
elementos de um subsistema de fornecedor se o subsistema de cliente
importar o subsistema de fornecedor. 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 elementos
de Banco por Telefone compilem elementos 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 deixar que seus elementos de implementação referenciem
(compilem) os elementos 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 os
serviços específicos do aplicativo.
- A camada seguinte, camada específica de negócios, contém
componentes específicos de negócios, utilizados em vários aplicativos.
- A camada de middleware contém componentes, como
construtores de GUI, interfaces para sistemas de gerenciamento de banco de dados,
serviços do sistema operacional independentes da plataforma e componentes OLE, como
planilhas e editores de diagrama.
- A camada inferior, camada de software do sistema, contém
componentes, como sistemas operacionais, interfaces para hardware específico e
outros.

Exemplo de um modelo de implementação em camadas para um sistema bancário.
As setas mostram dependências de importação entre os subsistemas.
| |
|