conceitos, definições e evolução da arquitetura de software · introduÇÃo cenÁrio •...
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