A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

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

Apresentações semelhantes


Apresentação em tema: "Arquitetura em Camadas Camila R. Rocha RA: 022247 Sílvia C. M. Soares RA: 012895 Disciplina: Engenharia de Software I Professora: Eliane Martins."— Transcrição da apresentação:

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

2 Junho/2003Arquitetura em Camadas 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

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

4 Junho/2003Arquitetura em Camadas 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

5 Junho/2003Arquitetura em Camadas Notação Pilha A B A B Anel UML - Pacotes

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

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

8 Junho/2003Arquitetura em Camadas 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.

9 Junho/2003Arquitetura em Camadas 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

10 Junho/2003Arquitetura em Camadas Estudo de Caso Interface com Usuário Aplicação Base de Dados Física Botões Controle Central Base de Dados Física 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

11 Junho/2003Arquitetura em Camadas 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 Botões Andar Botões Elevador Controle Central Base de Dados Física Botão Andar Botão Elevador Controle Central LocalAndar Elev Elev1... Elevn I_Física I_BD I_CC

12 Junho/2003Arquitetura em Camadas Estudo de Caso Botão Andar Botão Elevador Controle Central LocalAndar Elev Elev1... Elevn I_Física I_BD I_CC 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) Movimentação elev. 3 para o andar 6 Abertura / Fechamento da porta Movimentação elev. 3 para o andar 7 Abertura / Fechamento da porta Andar(7, 0, 1) Local(3, 6) Elev(3, 0) Andar(0, 0, 0) Local(3, 7) Elev(3, 0)

13 Junho/2003Arquitetura em Camadas Conclusões 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 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

14 Junho/2003Arquitetura em Camadas 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 p MARTINS, E. Projeto Arqutitetural. Transparências do curso MO409, IC-Unicamp, KAZMAN, R., KLEIN, M. Attribute-Based Architectural Styles Disponível em: m. Acesso em 21 mai CLEMENTS, P., NORTHROP, L. Software Architecture: An Executive Overview. Relatório Técnico CMU/SEI-96-TR-003, fev/1996.

15 Junho/2003Arquitetura em Camadas Bibliografia BREDEMEYER CONSULTING. Introducion to Software Architecture Disponível em: Acesso em 19 mai 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 – 6 a Edição – Addison Wesley, p SMARTDRAW. SmartDraw. softdesign.asp?id= Acesso em jun. 2003


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

Apresentações semelhantes


Anúncios Google