Upload
internet
View
108
Download
0
Embed Size (px)
Citation preview
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