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
Variações do Modelo
Estudo de Caso
Conclusões
Bibliografia
Junho/2003
Arquitetura em Camadas
Introdução
Inicialmente proposto por Dijkstra, em 1968
Divisão do sistema hierarquicamente em camadas
Exemplos
PROTOCOLO OSI
SGBD
Aplicação
Apresentação
Sessão
Transporte
Enlace
Físico
Sist. Controle de Versões
Junho/2003
Sist. Controle de Objetos
Banco de Dados
Sistema Operacional
Arquitetura 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
Junho/2003
Arquitetura em Camadas
Notação
Pilha
Anel
A
B
A
UML - Pacotes
B
Junho/2003
Arquitetura em Camadas
Ferramentas
Ferramentas para Análise Estruturada
Exemplos:
Sybase PowerBuilder
SmartDraw
Ferramentas OO
Exemplos:
Rational Rose
Microsoft Visio
Junho/2003
Arquitetura 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