1 / 15

Arquitetura em Camadas

Arquitetura em Camadas. Disciplina: Engenharia de Software I Professora: Eliane Martins. Camila R. Rocha RA: 022247 Sílvia C. M. Soares RA: 012895. Agenda. Introdução Características do Modelo Notação Ferramentas Decomposição Passo a Passo Domínio de Aplicação

myrna
Download Presentation

Arquitetura em Camadas

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Arquitetura em Camadas Disciplina: Engenharia de Software I Professora: Eliane Martins Camila R. Rocha RA: 022247 Sílvia C. M. Soares RA: 012895

  2. Agenda • Introdução • Características do Modelo • Notação • Ferramentas • Decomposição Passo a Passo • Domínio de Aplicação • Variações do Modelo • Estudo de Caso • Conclusões • Bibliografia Arquitetura em Camadas

  3. Aplicação Sist. Controle de Versões Apresentação Sist. Controle de Objetos Sessão Transporte Banco de Dados Enlace Físico Sistema Operacional Introdução • Inicialmente proposto por Dijkstra, em 1968 • Divisão do sistema hierarquicamente em camadas • Exemplos PROTOCOLO OSI SGBD Arquitetura em Camadas

  4. Características do Modelo • Cada camada é um subsistema • Oferece serviços à camada imediatamente superior • Serve de cliente para a camada imediatamente inferior • Composta por componentes que tenham o mesmo nível de abstração • O acesso aos serviços pode ser realizado de duas maneiras: • Direto (componentes chamam componentes de outras camadas) • Através de uma interface única para toda a camada • Controle centralizado • Hierárquico (call return) • Decomposição modular • Suporte a ambos os modelos: orientado a objetos e funcional Arquitetura em Camadas

  5. Notação • Anel • Pilha A B A • UML - Pacotes B Arquitetura em Camadas

  6. Ferramentas • Ferramentas para Análise Estruturada • Exemplos: • Sybase PowerBuilder • SmartDraw • Ferramentas OO • Exemplos: • Rational Rose • Microsoft Visio Arquitetura em Camadas

  7. Decomposição Passo a Passo • Definir o critério de abstração para o agrupamento de tarefas em uma mesma camada • Determinar o número de camadas • Nomear e definir as responsabilidades de cada camada • Especificar os serviços • Refinar as camadas • Especificar a interface de cada camada • Estruturar internamente as camadas • Especificar uma estratégia de tratamento de erros Arquitetura em Camadas

  8. Domínio de aplicação • Aplicações que podem ser decompostas em grupos de sub-tarefas, onde cada grupo pertence a um nível particular de abstração. Protocolos de rede são os melhores exemplos; • Máquinas Virtuais; • APIs (Application Programming Interface); • Sistemas com acesso a banco de dados: • Cliente Servidor, Três Camadas, Web. Arquitetura em Camadas

  9. Variações do Modelo • Sistema de Camadas Relaxadas • Cada camada pode usar os serviços de todas as camadas abaixo dela • Camadas Através de Herança • Algumas camadas são implementadas como classes base • As camadas mais altas herdam a implementação das camadas mais baixas • Comum em sistemas orientados a objetos Arquitetura em Camadas

  10. Botões Interface com Usuário Controle Central Aplicação Base de Dados Base de Dados Física Física Estudo de Caso • Chamada em algum • andar (sobe/desce) • Solicita movimentação para algum andar • Processamento • Tomada de decisão: • subir, descer, abrir a porta, ... • Armazena dados: • onde está cada elevador, andares com chamadas, chamadas por elevador • Sistema Operacional • Movimento elevadores Arquitetura em Camadas

  11. Botão Andar Botão Elevador Botões Andar Botões Elevador I_CC Controle Central Controle Central I_BD Andar Local Base de Dados Elev I_Física Elev1 Elevn Física ... Estudo de Caso • Chamada em algum • andar (sobe/desce) • Solicita movimentação para algum andar • Processamento • Decisão: subir, descer, abrir a porta, ... • Andar(andar, sobe, desce) • Local(elev, andar) • Elev(elev, chama_andar) • Interface única (fachada) • Sistema Operacional • Movimento elevadores Arquitetura em Camadas

  12. Botão Andar Botão Elevador I_CC Controle Central I_BD Andar Local Elev I_Física Elev1 Elevn ... Estudo de Caso Botão Andar 7: descer Botão Elev. 3: chamada p/ andar 6 Consulta BD: onde está cada elevador, onde está elevador 3. Tomada de decisão (movimentação, atualização BD) Andar(7, 0, 1) Local(3, 4) Elev(3, 6) Andar(7, 0, 1) Local(3, 6) Elev(3, 0) Andar(0, 0, 0) Local(3, 7) Elev(3, 0) Movimentação elev. 3 para o andar 6 Abertura / Fechamento da porta Movimentação elev. 3 para o andar 7 Abertura / Fechamento da porta Arquitetura em Camadas

  13. Facilidade da divisão do trabalho Suporte ao desenvolvimento e testes incrementais Reutilização de camadas Possibilidade de padronização de interfaces Manutenibilidade Portabilidade Testabilidade Conclusões • Algumas mudanças se propagam para as outras camadas • Menor eficiência • Nem todos os sistemas são facilmente divididos em camadas • Difícil encontrar níveis de abstração corretos Arquitetura em Camadas

  14. Bibliografia • DIJKSTRA, E. The structure of the “the”-multiprogramming system. Proc. ACM symposium on Operating System Principles, January 1967 • BUCHSMANN, F. et. al. A System of Patterns – Pattern-Oriented Software Architecture. 1996. p. 31-51. • MARTINS, E. Projeto Arqutitetural. Transparências do curso MO409, IC-Unicamp, 2003. • KAZMAN, R., KLEIN, M. Attribute-Based Architectural Styles. 2000. Disponível em: http://www.sei.cmu.edu/ata/symposium00/Symposium_ABAS/index.htm. Acesso em 21 mai. 2003. • CLEMENTS, P., NORTHROP, L. Software Architecture: An Executive Overview. Relatório Técnico CMU/SEI-96-TR-003, fev/1996. Arquitetura em Camadas

  15. Bibliografia • BREDEMEYER CONSULTING. Introducion to Software Architecture. 2002. Disponível em: http://www.bredemeyer.com/pdf_files/ArchitectureIntroduction.PDF. Acesso em 19 mai. 2003. • BACHMAN, F., et. al. Software Architecture Documentation in Practice: Documenting Architectural Layers. Relatório Especial CMU/SEI-2000-SR-004, mar/2000. • SOMMERVILLE, I. Engenharia de Software– 6a Edição – Addison Wesley, 2003. p. 188-189. • SMARTDRAW. SmartDraw. http://www.smartdraw.com/specials/softdesign.asp?id=15390. Acesso em jun. 2003 Arquitetura em Camadas

More Related