Projeto de Arquitetura de Software Visão Geral Prof. Wolley W. Silva.

Post on 21-Apr-2015

108 views 0 download

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;