Introdução Padrões de Projeto Princípios de Design Pattern Prof. Wolley.
Representação Arquitetural Prof. Wolley W. Silva.
Transcript of Representação Arquitetural Prof. Wolley W. Silva.
Representação Arquitetural
Prof. Wolley W. Silva
Agenda
• Conceitos de Arquitetura• Representação Arquitetural– Contextual– Tecnológica
• Exercício
Conceito: O que é Arquitetura de SW?
• “É a organização fundamental de um sistema, expressa nos seus componentes, nos relacionamentos entre eles e com o ambiente, e nos princípios que governam seu projeto e sua evolução”.
Fonte: Norma 1471 do IEEE, publicada em http://www.iso-architecture.org/ieee-1471/faq.html#wharch
• Exemplos:– Arquitetura em camadas (tier – camadas físicas )• Cliente – Servidor• 3 Camadas – Apresentação, Negócio e Acesso a Dados
– Arquitetura modelo-visão-controlador – MVC (layer – camadas lógicas)
– Arquitetura Orientada a Serviço (SOA) – “estilo arquitetural”
Conceito: O que é Arquitetura de SW?Princípios/ Padrões / Estilos
Uma arquitetura mal projetada...
• O sistema possui todos os casos de uso implementados, no entanto...– Sua usabilidade é ruim;– Não suporta quando há picos de utilização;– Possui potenciais falhas de segurança– É difícil e caro para manter e evoluir– Não suporta o crescimento (dados, usuários) com
o tempo;– Seu desempenho é inaceitável para o usuário
Uma arquitetura mal projetada...
RUP: Processo Unificado
RUP – Processo Unificado• Passagens pela sequência de disciplinas - iterações
RUP – Processo Unificado
• Centrado na Arquitetura– A arquitetura é prototipada e definida logo nas
primeiras iterações– A arquitetura serve para definir a organização da
equipe de desenvolvimento e identificar oportunidades de reuso
Por que modelar?
• Um modelo é uma simplificação da realidade. • Construímos modelos para:– Gerenciamento da complexidade;– Comunicação entre as pessoas envolvidas;– Redução dos custos no desenvolvimento;– Predição do comportamento futuro do sistema.
Representação do Sistema no Contexto
• Diagrama de Contexto Arquitetural – modela a maneira pela qual o software interage com entidades externas a seus limites.
Pressman, 2011
Representação do Sistema no Contexto
• Sistemas superiores: sistemas que usam o sistema alvo;
• Sistemas subordinados: sistemas que utilizados pelo sistema-alvo;
• Sistemas de mesmo nível: sistema que interagem com o sistema-alvo (produz ou consome informações);
• Atores: entidades (pessoas, dispositivos) que interagem com o sistema-alvo;
Representação do Sistema no Contexto
• Exemplo: Sistema de Gestão Escolar
GestãoFinanceira
GestãoAcadêmica
Funcionários ADM
Professores
Alunos
• O software a ser desenvolvido dever ser colocado no seu contexto;
• A partir dos requisitos do sistema, é possível identificar as entidades externas e suas interações com o sistema e seus módulos/componentes;
• Cada modulo identificado ainda não fornece detalhes de implementação suficientes;
Representação do Sistema no Contexto
Representação ArquiteturalTecnologias
• Exemplo
Representação ArquiteturalTecnologias
• Exemplo
Representação ArquiteturalTecnologias
• Exemplo
Representação ArquiteturalTecnologias
• Exemplo
• Círculos: Elementos com comportamento dinâmico, tais como: Servidores de Aplicação, Servidores Web, Servidores de Banco de Dados, Servidores de Mensagens, Classes Listerner...
• Retângulo / Quadrado: Elementos estáticos, tais como: Classes, Entidades/Tabelas, Interface de Usuário...
• Setas: Conexão entre os elementos, minimamente identificados.
Representação ArquiteturalTecnologias
Texto TextoTexto
Exercício
• Modelar uma Representação Arquitetural para o projeto PFC.– Arquitetura contextual e Tecnológica;– Descreva cada modulo/componente representado
destacando suas funcionalidade e relacionamentos com os demais;
– Descreva os Padrões e/ou Restrições que foram levados em consideração para elaboração da arquitetura proposta;
– Descreva as tecnologias e Frameworks utilizados na composição da arquitetura.
Dica para Leitura
• http://blog.globalcode.com.br/2012/03/arquitetura-java-1.html