Diretriz: Dependência de Importação na Implementação
O gerenciamento de dependências entre subsistemas é um aspecto importante da estruturação do modelo de implementação. Esta diretriz descreve como trabalhar nisso.
Relacionamentos
Elementos Relacionados
Descrição Principal

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.

Diagrama descrito no texto associado.

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.

Diagrama descrito no texto associado.

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.