Conceito: Divisão em Camadas
A divisão em camadas representa um agrupamento ordenado de funcionalidades, com a funcionalidade específica do aplicativo localizada nas camadas superiores, a funcionalidade que se estende aos domínios de aplicativos nas camadas intermediárias e a funcionalidade específica do ambiente de implementação nas camadas inferiores.
Relacionamentos
Descrição Principal

A divisão em camadas representa um agrupamento ordenado de funcionalidades, com a funcionalidade específica do aplicativo localizada nas camadas superiores, a funcionalidade que se estende aos domínios de aplicativos nas camadas intermediárias e a funcionalidade específica do ambiente de implementação nas camadas inferiores.

O número e a composição das camadas dependem da complexidade do domínio do problema e do espaço para solução:

  • Em geral, há apenas uma única camada específica de aplicativo.
  • Nos domínios em que sistemas anteriores foram desenvolvidos ou sistemas de grande porte são compostos de sistemas interoperacionais menores, há uma grande necessidade de compartilhar as informações entre as equipes de design. Conseqüentemente, para maior clareza, é provável que a camada específica de negócios exista parcialmente e esteja estruturada em várias camadas.
  • Os espaços para solução que são suportados por produtos de middleware e nos quais o software de sistema complexo desempenha um papel importante terão camadas inferiores bem desenvolvidas, talvez com várias camadas de middleware e software de sistema.

Os subsistemas devem ser organizados em camadas com subsistemas específicos de aplicativo localizados nas camadas superiores da arquitetura, subsistemas específicos de operação e hardware nas camadas inferiores da arquitetura, e serviços para fins genéricos nas camadas de middleware.

Veja a seguir um exemplo de arquitetura 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, bancos de dados, interfaces para hardware específico e outros.

Diagrama descrito no conteúdo associado.

Uma estrutura dividida em camadas, desde o nível mais genérico de funcionalidade até os níveis mais específicos de funcionalidade.