Modelo de Camadas

9,495 views
9,200 views

Published on

Como organizar seu sistema em camadas para melhor organização do projeto Java.

Published in: Technology
0 Comments
2 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
9,495
On SlideShare
0
From Embeds
0
Number of Embeds
19
Actions
Shares
0
Downloads
134
Comments
0
Likes
2
Embeds 0
No embeds

No notes for slide

Modelo de Camadas

  1. 1. Modelo de Camadas Prof.ª Kecia Aline Marques Ferreira 2009 Kecia A. M. Ferreira 1
  2. 2. Estruturação de Camadas de Software Kecia A. M. Ferreira 2
  3. 3. Estruturação de Camadas de Software Modelo de camadas Identificação de uma camada para uma classe Benefícios Kecia A. M. Ferreira 3
  4. 4. Modelo de Camadas Kecia A. M. Ferreira 4
  5. 5. Modelo de Camadas O Modelo de Camadas provê uma forma de se estruturar o software de maneira que classes com propósitos semelhantes sejam agrupadas em uma mesma camada. Camada: encapsula as funcionalidades de um conjunto de classes que têm comportamento similar. Camadas disciplinam a direção do fluxo de mensagens entre certos tipos de classes. Dentro de uma camada, a troca de mensagens entre suas classes pode ocorrer livremente. Kecia A. M. Ferreira 5
  6. 6. Modelo de Quatro Camadas Kecia A. M. Ferreira 6
  7. 7. Camada de Interface A Camada de Interface agrupa as classes que têm por propósito implementar interação como o usuário. Mensagens fluem apenas da Camada de Interface para a Camada de Negócios, e o contrário não é permitido. Benefício: mudanças na interface não afetam a Camada de Negócios. Kecia A. M. Ferreira 7
  8. 8. Camada de Negócios A Camada de Negócios agrupa as classes que modelam o domínio do problema. Encapsula as funcionalidades da aplicação, sem se preocupar com interfaces de usuário e persistência de dados. O fluxo de mensagens é da Camada de Negócios para a Camada de Persistência. Kecia A. M. Ferreira 8
  9. 9. Camada de Persistência A Camada de Persistência agrupa classes que têm por finalidade prover criação, remoção, alteração e recuperação de dados persistentes. Não é o próprio mecanismo de persistência (banco de dados ou arquivo), mas um front-end que empacota o acesso a ele. O fluxo de mensagem é da Camada de Negócio para a Camada de Persistência. Benefício: torna possível realizar alterações na forma de persistência de dados sem impacto para o restante do sistema. Kecia A. M. Ferreira 9
  10. 10. Camada de Sistema Classes da camada de sistema fornecem acesso aos recursos do sistema, tais como: sistema operacional; componentes de hardware; componentes de comunicação. Benefício: empacotar as funcionalidades de sistema aumenta a portabilidade do software para vários ambientes. Kecia A. M. Ferreira 10
  11. 11. Camada de Sistema Camada de Sistema mantém comunicação com todas as demais camadas do sistema. Tais comunicações têm as seguintes características: Camada de Interface: a troca de mensagens deve ser rara, para garantir maior portabilidade. Camada de Negócio:o fluxo de mensagem é ocasional. Camada de Persistência: o fluxo de mensagem é frequente, pois a camada de persistência necessita, para a maioria de suas funcionalidades, solicitar serviços da Camada de Sistema, tais como aqueles relacionados à manipulação de arquivos, acesso a rede, etc. Kecia A. M. Ferreira 11
  12. 12. Camada de Sistema O fluxo de mensagens da camada de sistema com as demais é bi-direcional. Mensagens podem partir da Camada de Sistema no caso de métodos de rechamada. Métodos de rechamada: quando um método A estabelece comunicação com um outro método B e solicita que no futuro B envie uma mensagem M sempre que um certo evento ocorrer, o método B é dito método de rechamada. Kecia A. M. Ferreira 12
  13. 13. Identificação de Uma Camada para Uma Classe Kecia A. M. Ferreira 13
  14. 14. Identificação de Uma Camada para Uma Classe Camada de Devem ser incluídas nesta camada as classe que: Interface representam ou controlam uma janela, um formulário ou qualquer outra interface com usuário; representam um relatório. Camada de Fazem parte desta camada as classes que: Negócios implementam um conceito do negócio da aplicação; foram descritas pelos usuários do sistema. Kecia A. M. Ferreira 14
  15. 15. Identificação de Uma Camada para Uma Classe Camada de As classes incluídas nesta camada devem prover Persistência a criação, a busca, a atualização ou a remoção de dados em um mecanismo de persistência, como um arquivo ou banco de dados. Camada de Sistema Deve-se verificar se a classe a ser incluída nesta camada: esquematiza funcionalidade específica do sistema operacional; empacota acesso a outro sistema ou aplicação; pode ser desenvolvida sem informações provenientes dos usuários do sistema; necessitaria alteração caso o sistema operacional mude. Kecia A. M. Ferreira 15
  16. 16. Benefícios Kecia A. M. Ferreira 16
  17. 17. Benefícios Permite a organização dos esforços de desenvolvimento por camadas. Um grupo de desenvolvedores pode trabalhar em uma camada de forma independente dos outros grupos. Isso elimina a necessidade de se ter uma parte do sistema concluída para que a outra possa ser desenvolvida. Favorece modularidade e manutenibilidade, uma vez que disciplina e reduz o número de conexões entre as classes de camadas diferentes. Kecia A. M. Ferreira 17
  18. 18. Bibliografia AMBLER, Scott W., Análise e Projeto Orientado a Objeto. Volume 2, IBPI Press, Livraria e Editora Infobook AS, 1988. Kecia A. M. Ferreira 18

×