Representação Arquitetural Prof. Wolley W. Silva
Agenda Conceitos de Arquitetura Representação Arquitetural Exercício 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
Conceito: O que é Arquitetura de SW? Princípios/ Padrões / Estilos 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”
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 Funcionários ADM Alunos Gestão Financeira Gestão Acadêmica Professores
Representação do Sistema no Contexto 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 Arquitetural Tecnologias Exemplo
Representação Arquitetural Tecnologias Exemplo
Representação Arquitetural Tecnologias Exemplo
Representação Arquitetural Tecnologias Exemplo
Representação Arquitetural Tecnologias Texto Texto Texto 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.
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