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.
|