conceitos, definições e evolução da arquitetura de software · introduÇÃo cenÁrio •...

Post on 30-Nov-2018

221 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

ARQUITETURA DE SOFTWARE III

Conceitos, definições e evolução da arquitetura de software

Prof. Victor A. T. Troitiño

ARQUITETURA DE SOFTWARE

“A Arquitetura de um sistema é um

arcabouço abrangente que descreve sua

forma e sua estrutura – seus

componentes e como eles se articulam”.

Jerrold Grochow

ARQUITETURA DE SOFTWARE

INTRODUÇÃO

CONCEITOS E DEFINIÇÕES

EVOLUÇÃO

FINALIZAÇÃO

INTRODUÇÃO

CENÁRIO

• Desenvolver software não é uma tarefa fácil.

• Não é fácil alcançar um bom produto de software devido à complexidade envolvida em seu processo de desenvolvimento.

• Além de lidar com a complexidade inerente ao problema, devemos também nos preocupar em como o software resolve esse problema.

INTRODUÇÃO

CENÁRIO

• É por esse motivo que muitos projetos de software fracassam durante seu desenvolvimento ou ao obter seus resultados.

• Entre esses maus resultados, encontramos os que custaram muito acima do orçamento, os incompletos e os que não solucionam os problemas como deveriam resolver.

INTRODUÇÃO

• O dinamismo dos requisitos traz impactos nas definições e especificações já estabelecidas.

• A busca de soluções e adaptações para estes impactos são os dois grandes desafios que as organizações desenvolvedoras de sistemas encontram.

CENÁRIO

INTRODUÇÃO

SOFTWARE

PRAZO

QUALIDADE

CUSTO

DESAFIOS DE T.I.

INTRODUÇÃO

INTRODUÇÃO

CENÁRIO

• O software deve, além de resolver o problema, resolvê-lo da forma esperada.

OU SEJA:

• Espera-se que, além de função, o produto de software possua os atributos de qualidade esperados.

INTRODUÇÃO

CENÁRIO

Engenhariade Sistemas

Engenhariade Software

Arquiteturade Software

PROCESSO DE DESENVOLVIMENTO DE SISTEMAS

CONCEITOS E DEFINIÇÕES

ARQUITETURA ?

CONCEITOS E DEFINIÇÕES

Arquitetura no Processo de Desenvolvimento de Sistemas

CONCEITOS E DEFINIÇÕES

O QUE É ARQUITETURA DE SOFTWARE?

Sua primeira menção:

relatório técnico da década de 1970 intitulado:

Software Engineering Tecnhiques.

• Perry e Wolf• Garlan e Shaw• Padrão ISO/IEEE 1471-2000

CONCEITOS E DEFINIÇÕES

O QUE É ARQUITETURA DE SOFTWARE?

Perry e Wolf:

Arquitetura = {Elementos, Organização, Decisões}

Elementos de processamentoElementos de dadosElementos de conexão

Dita as relações entre os elementos arquiteturais.

um conjunto de elementos arquiteturais que possuem alguma organização. Os elementos e sua organização são definidos por decisões tomadas para satisfazer objetivos e restrições.

CONCEITOS E DEFINIÇÕES

O QUE É ARQUITETURA DE SOFTWARE?

Garlan e Shaw

aplicar conhecimentos de arquitetura num sistema de software. Para eles, arquitetura de software torna-se necessária quando o tamanho e a complexidade dos sistemas de software crescem. Assim, o problema de se construir sistemas, vai além da escolha dos algoritmos e estruturas de dados certos.

CONCEITOS E DEFINIÇÕES

O QUE É ARQUITETURA DE SOFTWARE?

Padrão ISO/IEEE 1471-2000

A Arquitetura é a organização fundamental de um sistema incorporada em seus componentes, seus relacionamentos com o ambiente, e os princípios que conduzem seu design e evolução.

CONCEITOS E DEFINIÇÕES

PROCESSO DE ARQUITETURA DE SOFTWARE:

• ELABORAR O MODELO DE NEGÓCIO

• ENTENDIMENTO DOS REQUISITOS

• CRIAÇÃO OU SELEÇÃO DE UMA ARQUITETURA

• REPRESENTAÇÃO E DIVULGAÇÃO DA ARQUITETURA

• IMPLEMENTAÇÃO DO SISTEMA BASEDADO NA ARQUITETURA

• ANÁLISE OU AVALIAÇÃO DA ARQUITETURA

CONCEITOS E DEFINIÇÕES

CONCEITOS E DEFINIÇÕES

CONCEITOS E DEFINIÇÕES

CONCEITOS E DEFINIÇÕES

CONCEITOS E DEFINIÇÕES

CONCEITOS E DEFINIÇÕES

CONCEITOS E DEFINIÇÕES

CONCEITOS E DEFINIÇÕES

CONCEITOS E DEFINIÇÕES

CONCEITOS E DEFINIÇÕES

CONCEITOS E DEFINIÇÕES

Visões são diferentes formas de observar um mesmo problema com a finalidade de melhor entendê-lo para então, atribuir-lhe a solução mais adequada.

CONCEITOS E DEFINIÇÕES

ALGUNS ESTILOS DE ARQUITETURA

• ARQUITETURA CENTRADA EM DADOS

• ARQUITETURA DE FLUXO DE DADOS

• ARQUITETURA DE CHAMADA E RETORNO

• ARQUITETURA ORIENTADA A OBJETOS

• ARQUITETURA EM CAMADAS

CONCEITOS E DEFINIÇÕES

ARQUITETURA CENTRADA EM DADOS

DEPÓSITO DEDADOS

SOFTWARECLIENTE

SOFTWARECLIENTE

CENTRO DA ARQUITEURA

CONCEITOS E DEFINIÇÕES

ARQUITETURA DE CHAMADA E RETORNO

PROGRAMAPRINCIPAL

SUBPROGRAMACONTROLADOR

SUBPROGRAMACONTROLADOR

SUBPROGRAMAAPLICAÇÃO

CONCEITOS E DEFINIÇÕES

ARQUITETURA DE CAMADAS

USUÁRIOS

SIST OPERACIONAL

FUNÇÕESSOFT APLICAÇÃO

CONCEITOS E DEFINIÇÕES

EVOLUÇÃO DA ARQUITETURA DE SOFTWARE

EVOLUÇÃO DA ARQUITETURA DE SOFTWARE

EVOLUÇÃO DA ARQUITETURA DE SOFTWARE

EVOLUÇÃO DA ARQUITETURA DE SOFTWARE

• VISUALIZAÇÃO DE ALGUNS CONCEITOS E DEFINIÇÕES RELACIONADOS ÀARQUITETURA DE SOFTWARE

• APRESENTAR AS PRINCIPAIS CARACTERÍSTICAS E BENEFÍCIOS PROPORCIONADOS PELA ARQUITETURA DE SOFTWARE.

FINALIZAÇÃO

ARQUITETURA DE SOFTWARE

“... a arquitetura de software é mais do que

a descrição dos componentes que a

compõem e do relacionamento entre eles.

A arquitetura é a interface entre duas

partes distintas: o problema de negócio e a

solução técnica ”.

Hernán Astudillo

top related