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
INTRODUÇÃO CENÁRIO 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.
INTRODUÇÃO QUALIDADE SOFTWARE PRAZO DESAFIOS DE T.I. CUSTO
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 Engenharia de Sistemas Engenharia de Software Arquitetura de Software
ARQUITETURA? PROCESSO DE DESENVOLVIMENTO DE SISTEMAS
Arquitetura no Processo de Desenvolvimento de Sistemas
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
O QUE É ARQUITETURA DE SOFTWARE? Perry e Wolf: Arquitetura = {Elementos, Organização, Decisões} Dita as relações entre os elementos arquiteturais. Elementos de processamento Elementos de dados Elementos de conexão 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.
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.
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.
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
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.
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
ARQUITETURA CENTRADA EM DADOS SOFTWARE CLIENTE SOFTWARE CLIENTE DEPÓSITO DE DADOS CENTRO DA ARQUITEURA
ARQUITETURA DE CHAMADA E RETORNO PROGRAMA PRINCIPAL SUBPROGRAMA CONTROLADOR SUBPROGRAMA CONTROLADOR SUBPROGRAMA APLICAÇÃO
ARQUITETURA DE CAMADAS USUÁRIOS SIST OPERACIONAL FUNÇÕES SOFT APLICAÇÃO
EVOLUÇÃO DA ARQUITETURA DE SOFTWARE
EVOLUÇÃO DA ARQUITETURA DE SOFTWARE
EVOLUÇÃO DA ARQUITETURA DE SOFTWARE
EVOLUÇÃO DA ARQUITETURA DE SOFTWARE
FINALIZAÇÃO 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.
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