Introdução a Teste de Software Prof. Wolley W. Silva Prof. Hederson V. Ramos.
Projeto de Arquitetura de Software Visão Geral Prof. Wolley W. Silva.
Transcript of Projeto de Arquitetura de Software Visão Geral Prof. Wolley W. Silva.
Projeto de Arquitetura de Software
Visão GeralProf. Wolley W. Silva
Agenda
• Introdução e Motivação • Conceitos: Arquitetura de Software • Arquitetura de Software em um processo de
desenvolvimento• Conclusões
• Projetos simples podem ser realiados por uma única pessoa– Pouca modelagem– Ferramentas simples– Processo simples– Pouco projeto– Pouca especialização para construir
Introdução e Motivação
• Projetos complexos/Maiores exigem arquitetura– Mais modelagem– Ferramentas mais poderosas– Processos mais bem definidos– Mais projeto– Alta especialização para construção
Introdução e Motivação
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?Componentes
• Pode-se pensar em um sistema de software constituído de diversos componentes.
• Estes elementos, podem ser substituídos por outros componentes equivalentes (mesma interface) ou mais sofisticados
• 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
Arquitetura de Software em um Processo de Desenvolvimento - RUP
Análise e Design - Disciplina do RUP
Visões Arquiteturais
• Para um edifício, são usados tipos diferentes de plantas para representar diversos aspectos da arquitetura.
Planta ElétricaPlanta Hidráulica Planta 3D
Modelo de visão 4+1 da Arquitetura - RUP
Visão lógicaVisão de
implementação
Visão de processo
Visão de implantação
Visão de Caso de Uso
Analistas
Visão Lógica• Representa abstrações do modelo de domínio
(classes), pacotes, camadas e suas dependências.
Visão de Implementação
• Descreve a organização de módulos estáticos no ambiente de desenvolvimento:– Componentes
Visão de Processo
• Focaliza assuntos como concorrência e paralelismo, tolerância a falhas e objetos distribuídos.– Interoperabilidade– Escalabilidade– Disponibilidade
Visão de implantação
• Focaliza assuntos como:– Instalação– Desempenho– Protocolos de comunicação
Visão de caso de uso• Contém alguns cenários-chave usados para
dirigir a descoberta e projeto da arquitetura e posteriormente, para validar as diferentes visões.
Arquitetura é o elemento central no desenvolvimento de software
Fonte: http://pt.slideshare.net/adrianotavares/a-importancia-da-arquitetura-de-software?related=1
O Arquiteto de Software• Ponte entre os requisitos do sistema e a sua implementação
Fonte: http://pt.slideshare.net/adorepump/arquitetura-de-software-presentation-824271?related=4
Conclusões
– A arquitetura de software fornece uma visão integral do sistema de software a ser construído;
– Apresenta a estrutura e a organização dos componentes de software, suas propriedades e as conexões entre eles;
Links disponíveis para consulta
• http://blog.globalcode.com.br/2012/03/arquitetura-java-1.html
• http://blog.caelum.com.br/entao-voce-quer-ser-um-arquiteto-java/
• http://www.slideshare.net/kieras/arquitetura-de-software-na-prtica-1476447?from_search=1
• http://www.slideshare.net/leaoas/arquitetura-de-software-uma-viso-gerencial?from_search=2