Arquitetura de Software Visão Geral

Slides:



Advertisements
Apresentações semelhantes
Soluções elegantes para problemas recorrentes
Advertisements

Desenvolvimento de Sistemas Distribuídos Web Services
PADRÕES DE PROJETO..
UNIPAC – ARAGUARI CAMPUS – IX PROF. EVERTON HIPÓLITO DE FREITAS
UML Visões – Parte 2.
Centrado na arquitetura
Design Patterns Builder Pattern
Projeto de Sistemas de Software
Arquitetura de Aplicações Web
DAS Sistemas Distribuídos para Automação Industrial
Padrões - introdução O que é um padrão?
Visão Geral do Desenvolvimento de Sistemas e Papéis no Desenvolvimento de Software Marcely Dias
Classes e objetos Modelagem
SOA - Arquitetura Orientada a Serviços
Arquitetura Orientado a Serviços
Fundamentos da Engenharia de Software
Arquitetura de software
Arquiteturas de Referência
Fase de Elaboração: Fluxo de Requisitos
Arquitetura de Software Introdução
Padrões de Projeto Aplicações empresariais são complexas
Análise e Desenvolvimento de Software
Projeto de Arquitetura de Software Visão Geral
Rodrigo Cândido da Silva Instrutor VOffice / Globalcode
O Processo de desenvolvimento de software
Introdução à Engenharia de Software
Implementação MVC Pedro Antonino.
Especificação em Projeto de Sistemas
Levantamento de Requisitos
Abr-17 Atividades, Artefatos e Responsáveis da Disciplina de Análise e Projeto Fluxo de análise e projeto.
Design Pattern (Padrões de Projeto)
Bruno Silva Desenvolvido a partir de
Modelagem Arquitetural e a Visão 4+1
Arquitetura: Visão Lógica
Representação Arquitetural
Padrão- MVC Model, View, Controller
O que é? É o processo de investigação técnica com intuito de identificar a qualidade, a segurança e a exatidão do software desenvolvido. A validação do.
Introdução a Teste de Software
RUP - Cap. 4 – Processo Centrado na Arquitetura
Padrões de Arquitetura
Introdução Padrões de Projeto
Padrões de Interação com o Usuário
ICMC – USP e UNICAMP Coordenadores: Prof. Dr. José Carlos Maldonado Profa. Dra. Elisa Yumi Nakagawa 20/05/2011.
Introdução a um Processo de Desenvolvimento Orientado a Objeto
Triwatcher Architecture Design 21/07/2009. Agenda  Restrições Arquiteturais  Representação Arquitetural  Visão Lógica  Visão de Execução  Visão de.
Padrões de Projeto.
ICMC – USP Coordenadores: Prof. Dr. José Carlos Maldonado Profa. Dra. Elisa Yumi Nakagawa 20/05/2011.
Engenharia de Software e Sistemas
1 Design Patterns Israel Rios. 2 Origens A idéia de padrões de projeto não teve origem na ciência da computação Christopher Alexander A Pattern Language:
Análise e Projeto de Sistemas Unified Modeling Language Renata Araujo Ricardo Storino Núcleo de Computação Eletrônica Curso de Programação de Computadores.
Arquitetura de Software Projetos de Interface
Banco de Dados Representa o arquivo físico de dados, armazenado em dispositivos periféricos, para consulta e atualização pelo usuário. Possui uma série.
1 - Introdução a Padrões de Projeto
Projeto Supervisionado no Desenvolvimento de Aplicações Profissionais na Web Servidores.
UML (Unified Modeling Language) Linguagem Unificada de Modelagem
Prof. Sidney Galeote. 2 www. prasabermais. com  Visão Geral sobre a dimensão de qualidade “performance”  Custo da qualidade  Como a performance deve.
Padrões de Projetos Orientados a Objetos I Wolley W. Silva.
Padrões de Projeto. O que são?  Soluções provenientes de diversos projetos e utilizados por diversos programadores;  Documentados em catálogos como.
/ de Julho de UFPE - Universidade Federal de Pernambuco CIn - Centro de Informática Pós-Graduação em Ciência da Computação Tópicos Avançados.
Projeto Orientado a Objetos Prof. Wolley
1 Especificação de Sistemas de Software e a UML. 2 Modelagem de sistema A modelagem de sistema auxilia o analista a entender a funcionalidade do sistema.
Atividades, Artefatos e Responsáveis da Disciplina de Análise e Projeto.
©2003, Alexandre Vasconcelos & Augusto Sampaio CIn-UFPE1/41 Análise e Projeto de Sistemas Arquitetura de Software.
Padrões de Projeto de Criação Padrões de Projeto Orientados a Objetos Prof a. Danielle Martin Universidade de Mogi das Cruzes.
1 Introdução aos Padrões de Projetos Créditos: Prof. Fabio Kon - IME/USP Adaptações: Prof. Nécio de Lima Veras.
Introdução a Padrões de Projeto Padrões de Projeto Orientado a Objetos Profa. Danielle Martin Universidade de Mogi das Cruzes.
Programação Orienta a Objetos (SI) Análise e Projetos de Sistemas (LCC) 1 - Introdução a Padrões de Projeto Eduardo de Lucena Falcão.
Introdução a Padrões de Projeto Padrões de Projeto Orientado a Objetos Profa. Danielle Martin Universidade de Mogi das Cruzes.
Internet - Intranet - Extranet Internet Rede pública mundial Padrões e protocolos multiplataforma Intranet Rede privada, corporativa Mesmos protocolos.
Síntese do Negócio ONTOWEB. Ontoweb – Nova Geração de Ferramenta de Busca Possui comportamento inteligente que auxilia o usuário a organizar e compartilhar.
Transcrição da apresentação:

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

Agenda Introdução e Motivação Conceitos: Arquitetura de Software Requisitos Arquiteturalmente significativos Padrões/Estilos Arquiteturais Arquitetura de Software em um processo de desenvolvimento Visões Arquiteturais Conclusão

Introdução e Motivação Todo sistema em produção possui uma arquitetura de software. Palace II foi um edifício residencial construído na Barra da Tijuca, Rio de Janeiro, que foi implodido no dia 28 de fevereiro de 1998, a despeito de investigações anteriores terem encontrado em registro como causa da tragédia um erro estrutural de cálculo (assinado pelo engenheiro responsável) nas vigas de sustentação.

Introdução e Motivação 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

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? Sistema / programa Uma aplicação Um conjunto de aplicações Componente Partes do sistema / modulos, subsistemas, pacotes, classes, bibliotecas Relacionamento Interação entre os componentes Ambiente Embarcados, Web, Mobile, TV Digital Princípios Padrões Arquiteturais

Conceito: O que é Arquitetura de SW? Martin Fowler: “o termo arquitetura envolve a noção dos principais elementos do sistema, as peças que são difíceis de mudar. Uma fundação na qual o resto precisa ser construído”. Elementos estruturais: Bancos de dados Servidores de Aplicação Sistemas Operacionais Protocolos de Rede Linguagem de Programação Bibliotecas de Terceiros Frameworks

Conceito: O que é Arquitetura de SW? Martin Fowler: “Escolher uma arquitetura significa entender os problemas específicos do seu sistema e definir um projeto apropriado baseado nesse entendimento”.

Requisitos Arquiteturais São requisitos de um software que tem uma forte influência na definição da sua arquitetura. Funcionais Definem o que o software deve fazer Não-Funcionais Define o que o software deve ser

Requisitos Arquiteturais Funcionais Critério: Risco Alta complexidade Integração com outros sistemas Integração com bibliotecas e ferramentas de terceiros Exemplos: Caso de Uso “Calcular saldo devedor” O sistema calcula o saldo devedor aplicando a taxa de juros vigente em cada exercício Caso de Uso “Cadastrar fornecedor” O sistema valida a situação cadastral do fornecedor no SERASA Caso de Uso “Emitir relatório de saldos contábeis” O sistema gera um relatório em formato pdf, rtf ou html, conforme opção do usuário

Requisitos Arquiteturais Não - Funcionais Cada requisito não-funcional de um software está relacionado com um atributo de qualidade de software. Exemplos: O tempo de resposta máxima no horário de pico não deve ultrapassar 5 segundos. Atributo de qualidade relacionado: Performance O software deve disponibilizar ajuda online no nível de tela Atributo de qualidade relacionado: Usabilidade

Padrões Arquiteturais São modelos reutilizáveis de organização de elementos de software, que resolvem problemas recorrentes e satisfazem requisitos arquiteturais. Definem responsabilidades e relacionamentos São independentes de domínio São também chamados estilos arquiteturais

Padrões Arquiteturais 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” Um software pode utilizar um ou mais padrões arquiteturais.

Padrões Arquiteturais Famílias de Padrões Gang Of Four – GOF 23 – Padrões Criação Estrutura Comportamento

GOF – 23 Padrões de Projeto Propósito Escopo Criação Estrutural Comportamental Classe Factory Method Adapter Interpreter Template Method Objeto Abstract Factory Builder Prototype Singleton Bridge Composite Façade Flyweight Proxy Chain of Resposibility Command Iterator Mediator Memento Observer Strategy Visitor

Padrões Arquiteturais Famílias de Padrões J2EE: Business Delegate, Composite Entity, Composite View, Data Access Object, Fast Lane, Reader, Front Controller, Intercepting Filter, Model, view ,controller Service Locator, Session Façade, Transfer Object, Value List Handler, View Helper http://java.sun.com/blueprints/corej2eepatterns/Patterns/

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étrica Planta Hidráulica Planta 3D

Modelo de visão 4+1 da Arquitetura - RUP Usuário final Programadores Visão lógica Visão de implementação Visão de processo Visão de implantação Visão de Caso de Uso Analistas Integradores de sistemas Engenharia de Sistemas

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

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.

Conclusões Segundo Pressman, 2011 A arquitetura de software fornece uma visão integral do sistema a ser construído. Ela representa a estrutura e a organização dos componentes de software, suas propriedades e as conexões entre eles.

Conclusões A arquitetura destaca decisões de projeto iniciais e fornece um mecanismo para considerar os benefícios de estruturas alternativas do sistema.

Conclusões Uma série de estilos e padrões arquiteturais encontra-se à disposição do engenheiro de software.

Links consultados 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