Modelo de Camadas
Click here to load reader
-
Upload
breno-vitorino -
Category
Technology
-
view
8.607 -
download
2
description
Transcript of Modelo de Camadas
Modelo de Camadas
Kecia A. M. Ferreira 1
Prof.ª Kecia Aline Marques Ferreira
2009
Kecia A. M. Ferreira 2
Estruturação de Camadas de Software
Estruturação de Camadas de Software
� Modelo de camadas
� Identificação de uma camada para uma classe
Kecia A. M. Ferreira 3
� Identificação de uma camada para uma classe
� Benefícios
Modelo de Camadas
Kecia A. M. Ferreira 4
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.
Kecia A. M. Ferreira 5
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.
Modelo de Quatro Camadas
Kecia A. M. Ferreira 6
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.
Kecia A. M. Ferreira 7
� Benefício: mudanças na interface não afetam a Camada de Negócios.
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.
Kecia A. M. Ferreira 8
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.
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.
Kecia A. M. Ferreira 9
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.
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.
Kecia A. M. Ferreira 10
� componentes de comunicação.
� Benefício: empacotar as funcionalidades de sistema aumenta a
portabilidade do software para vários ambientes.
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.
Kecia A. M. Ferreira 11
� 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.
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.
Kecia A. M. Ferreira 12
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 Benvie uma mensagem M sempre que um certo evento ocorrer, o
método B é dito método de rechamada.
Identificação de Uma
Kecia A. M. Ferreira 13
Camada para Uma Classe
Identificação de Uma Camada para Uma Classe
Camada de
Interface
Devem ser incluídas nesta camada as classe que:
�representam ou controlam uma janela, um formulário ou qualquer outra interface com usuário;
�representam um relatório.
Kecia A. M. Ferreira 14
Camada de
Negócios
Fazem parte desta camada as classes que:
� implementam um conceito do negócio da aplicação;
�foram descritas pelos usuários do sistema.
Identificação de Uma Camada para Uma Classe
Camada de
Persistência
As classes incluídas nesta camada devem prover
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.
Deve-se verificar se a classe a ser incluída nesta
Kecia A. M. Ferreira 15
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.
Benefícios
Kecia A. M. Ferreira 16
Benefícios
� Permite a organização dos esforços de desenvolvimento por
camadas. Um grupo de desenvolvedores pode trabalhar em umacamada de forma independente dos outros grupos. Isso eliminaa necessidade de se ter uma parte do sistema concluída para
que a outra possa ser desenvolvida.
Kecia A. M. Ferreira 17
� Favorece modularidade e manutenibilidade, uma vez que
disciplina e reduz o número de conexões entre as classes de
camadas diferentes.
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