INF016 Arquitetura de Software 01 - Introdução

Tamanho: px
Começar a partir da página:

Download "INF016 Arquitetura de Software 01 - Introdução"

Transcrição

1 INF016 Arquitetura de Software 01 - Introdução Sandro Santos Andrade sandroandrade@ifba.edu.br Instituto Federal de Educação, Ciência e Tecnologia da Bahia Departamento de Tecnologia Eletro-Eletrônica Graduação Tecnológica em Análise e Desenvolvimento de Sistemas

2 Introdução A área de Arquitetura de Software estuda como sistemas de software são projetados e construídos Arquitetura de Software: Conjunto formado pelas principais decisões de projeto tomadas durante seu desenvolvimento e qualquer evolução subsequente Desenvolvimento de software centrado em arquiteturas Qualidade de projeto Qualidade de Software Famílias de produtos de software

3 Software e Construção Civil Analogia forte e de fácil compreensão As fases são similares (requisitos, projeto, etc) Outras similaridades: Projeto arquitetural com foco nas necessidades dos usuários Permite especialização de trabalho Planos e progressos podem ser avaliados em pontos intermediários Mas não é só isso...

4 Software e Construção Civil 1) Toda construção tem uma arquitetura, separada, porém relacionada, à estrutura física Esta arquitetura pode ser descrita, discutida e comparada com as de outras construções A arquitetura antecipadamente projetada pode ser comparada com a arquitetura resultante do processo de construção De forma similar, a arquitetura de um software existe de forma independente, porém relacionada, ao código-fonte que a implementa

5 Software e Construção Civil Prática é a contemplação frequente e contínua do modo de execução de um trabalho, ou da mera operação das mãos, que converte o material da melhor e mais imediata forma possível Marcus Vitruvius Pollio, século 1 D.C.

6 Software e Construção Civil 2) Propriedades das estruturas são induzidas pelo projeto das suas arquiteturas: Castelo medieval: paredes altas e espessas e janelas estreitas, se existentes. Induz propriedades defensivas Propriedades de um software, como resiliência a tipos particulares de ataques, são determinadas pelo projeto de suas arquiteturas

7 Software e Construção Civil Objetivos de uma boa arquitetura: Força: fundações para um assoalho sólido, escolha apropriada de materiais sem economia Utilidade: distribuição sensata das partes, com seus propósitos devidamente atendidos e situação apropriada Beleza: aparência agradável, boa percepção do todo e dimensões proporcionais entre as partes

8 Software e Construção Civil 3) Reconhecimento do papel distinto e característico do arquiteto pessoa que cria a arquitetura Exige ampla formação: Aspectos de engenharia Senso apurado de estética Conhecer o modo como as pessoas trabalham, comem, brincam e moram ajuda a projetar construções satisfatórias e que funcionam bem ao longo das estações e dos anos Habilidades simples de programação não são suficientes para a criação de sistemas complexos que efetivamente funcionam

9 Software e Construção Civil Um arquiteto deve ser engenhoso e competente na aquisição do conhecimento. Não será um mestre perfeito se for deficiente em uma dessas qualidades. Deve ser bom escritor, hábil relator, versado em ótica e geometria, especialista em números, familiarizado com história, informado sobre os princípios da filosofia natural e moral, um tanto músico, não ignorante das ciências da lei e da física, nem dos movimentos, leis e inter-relacionamentos dos corpos celestes Vitruvious, I, 1, 3

10 Software e Construção Civil 4) O processo não é tão importante quanto a arquitetura Isso não quer dizer que o processo não é importante, somente que ele não é garantia de sucesso O processo existe para servir um fim o projeto e a qualidade da infra-estrutura não para ser um fim em si próprio

11 Software e Construção Civil 5) A arquitetura (de software) amadureceu, ao longo dos anos, como uma disciplina Uma base de conhecimentos está disponível, capturando as experiências e lições de projeto prévios Foco no reuso de conhecimento, de projeto de sub-sistemas e de ferramentas Benefício de uso de materiais, partes e tamanhos padronizados

12 Software e Construção Civil Estilos Arquiteturais: Vila Romana Catedral Gótica Estilo fazenda Chalé Suiço Arranha-céu Tentam encontrar um conjunto comum de requisitos e acomodar as restrições de topologia local, clima e materiais, ferramentas e mão-de-obra disponíveis Um estilo coloca restrições ao desenvolvimento, o que leva a qualidades particulares desejáveis

13 Software e Construção Civil Limitações da analogia: Conhecemos muito sobre prédios e não tanto sobre software Natureza essencial dos materiais totalmente diferente O software é mais maleável do que os materiais físicos de construção A indústria da construção civil é mais consolidada O fase de implantação não existe na construção civil Caráter extremamente dinâmico do software

14 Software e Construção Civil Resumindo: A arquitetura do software deve ser o centro do projeto e desenvolvimento de sistemas, mais importante que o processo, análise e até mesmo programação Ao dar proeminência à arquitetura obtém-se: controle intelectual, integridade conceitual, base adequada e efetiva para reuso, comunicação efetiva no projeto e gerenciamento de um conjunto de sistemas variantes, porém relacionados O foco na arquitetura deve estar presente em todas as fases do projeto

15 Exemplos Exemplo 1: Arquitetura da web: O que é a web? Como ela é construída? Como você projetaria um software para um site de comércio eletrônico? A arquitetura do sistema fornece o vocabulário e os meios para responder as questões acima, em particular o estilo arquitetural adotado para a web

16 Exemplos Visão do usuário: conjunto dinâmico de relacionamentos entre coleções de informação

17 Exemplos Visão de rede: coleção de máquinas independentemente apropriadas e operadas, que se comunicam via rede

18 Exemplos Visão do desenvolvedor: coleção de programas independentemente desenvolvidos que se comunicam através dos padrões HTTP, URI, MIME e HTML

19 Exemplos Estas visões não explicam como a web funciona Uma estratégia melhor é apresentar um conjunto de definições e restrições que caracterizam a web: Coleção de resources, identificados unicamente por uma URL Cada resource denota uma informação, como um documento, imagem, serviço, coleção de outros resources, etc URL's podem ser utilizadas para determinar a identidade da máquina que contém o resource Toda comunicação é iniciada pelos clientes (user agents), realizando requisições aos servidores

20 Exemplos Uma estratégia melhor é apresentar um conjunto de definições e restrições que caracterizam a web: Resources podem ser manipulados através de suas representações. O HTML é a linguagem de representação mais comum da web Toda comunicação entre clientes e servidores é realizada através de um protocolo extremamente simples (HTTP), com poucas primitivas, tais como GET e POST Toda comunicação entre clientes e servidores é context-free, ou seja, o servidor responde à requisição baseando-se somente na informação presente na própria requisição. Nenhum histórico de operações é mantido

21 Exemplos Exemplo 2: Shell Script ls invoices grep -e August sort Um filtro é um programa que recebe um fluxo de caracteres como entrada e produz um fluxo de caracteres como saída. Filtros podem ser parametrizados Um pipe é uma forma de conectar dois filtros, onde a saída do primeiro filtro é conectada à entrada do segundo Conhecendo os filtros e pipes utilizados pode-se facilmente compreender o programa e criar outros O conjunto particular de regras aqui aplicado define um estilo arquitetural conhecido como Pipe-and-Filter Pode ser utilizado em qualquer sistema

22 Exemplos Exemplo 3: Linhas de Produto Famílias de produto são conjuntos de programas independentes que possuem um alto potencial de compartilhamento de estrutura e componentes constituintes Ex: HD TV 35 com DVD player com sinal ATSC, HD TV 35 sem DVD player com sinal ATSC, HD TV 35 com DVD player com sinal DVB-T Reutilizar estruturas, comportamentos e implementações simplifica o desenvolvimento, reduz prazos e custos e melhora a confiabilidade geral do sistema Arquiteturas de software são abstrações essenciais para o gerenciamento de variações e de pontos em comum

23 Exemplos Linha de produtos da Philips (iniciada no final da década de 90)

24 Exemplos Linha de produtos da Philips Metodologia arquitetural: Koala

25 Exemplos Koala: Modela e implementa o software como uma coleção de componentes que interagem entre si Cada componente exporta um conjunto de serviços através de um conjunto de provided interfaces Cada componente explicitamente define suas dependências com o ambiente (hardware ou software) através de um conjunto de required interfaces

26 Exemplos Arquitetura exemplo de uma plataforma de TV da Philips: Compatibilidade de interfaces Composite

27 Exemplos Koala: mecanismos para gerenciamento da variabilidade: Diversity interfaces: mecanismo para parametrizar um componente. Permite que um componente importe propriedades específicas da configuração a partir de elementos do Koala que implementam esta interface. São externos ao componente Switches: elemento de conexão que permite que um componente interaja com apenas um dentre um conjunto de componentes, dependendo do valor de um parâmetro obtido em run-time Optional interfaces: provê ou requer funcionalidades presentes em apenas alguns produtos da família

28 Exemplos Koala: população de produtos

29 Exemplos Famílias de produtos demandam mudanças nos processos e práticas organizacionais A abordagem padrão de desenvolvimento não suporta linhas de produto de forma eficiente O Koala é a manifestação concreta da experiência corporativa, conhecimentos e vantagens competitivas da empresa Arquiteturas de software evitam a dependência de uma estrutura social (permanência de funcionários, etc) e suportam o alcance de níveis maiores de produtividade

30 INF016 Arquitetura de Software 01 - Introdução Sandro Santos Andrade sandroandrade@ifba.edu.br Instituto Federal de Educação, Ciência e Tecnologia da Bahia Departamento de Tecnologia Eletro-Eletrônica Graduação Tecnológica em Análise e Desenvolvimento de Sistemas

Visões Arquiteturais. Visões Arquiteturais

Visões Arquiteturais. Visões Arquiteturais Visões Arquiteturais Separar diferentes aspectos em visões separadas com o objetivo de gerenciar complexidade. Cada visão descreve diferentes conceitos da Engenharia. Visões permitem reduzir a quantidade

Leia mais

Visões Arquiteturais. Visões Arquiteturais. Visões Arquiteturais. Visão Conceitual

Visões Arquiteturais. Visões Arquiteturais. Visões Arquiteturais. Visão Conceitual Visões Arquiteturais Separar diferentes aspectos em visões separadas com o objetivo de gerenciar complexidade. Cada visão descreve diferentes conceitos da Engenharia. Visões permitem reduzir a quantidade

Leia mais

As Visões. Visões arquiteturais (revisão)

As Visões. Visões arquiteturais (revisão) As 4 + 1 Visões Jair C Leite Visões arquiteturais (revisão) Separar diferentes aspectos em visões separadas com o objetivo de gerenciar complexidade. Cada visão descreve diferentes conceitos da engenharia.

Leia mais

Padrões contexto problema solução

Padrões contexto problema solução Padrões Padrões são soluções para problemas específicos que ocorrem de forma recorrente em um determinado contexto que foram identificados a partir da experiência coletiva de desenvolvedores de software.

Leia mais

Padrões. Arquitetura de Software Thaís Batista

Padrões. Arquitetura de Software Thaís Batista Padrões Endereçam uma classe de problemas recorrentes e apresenta uma solução para eles (podem ser considerados um par problema-solução) Permitem a construção de software com propriedades definidas Ajudam

Leia mais

Estilos Arquiteturais

Estilos Arquiteturais Estilos Arquiteturais Estilos Arquiteturais A arquitetura de um sistema pode aderir a um ou mais estilos arquiteturais Um estilo define os tipos de elementos que podem aparecer em uma arquitetura e as

Leia mais

Estilos Arquiteturais. Prof. Fellipe Aleixo

Estilos Arquiteturais. Prof. Fellipe Aleixo Estilos Arquiteturais Prof. Fellipe Aleixo (fellipe.aleixo@ifrn.edu.br) Introdução Em An Introduction to Software Architecture, artigo de 1994, David Garlan e Mary Shaw definiram: An architectural style,

Leia mais

INF016 Arquitetura de Software 08 - Implementação

INF016 Arquitetura de Software 08 - Implementação INF016 Arquitetura de Software 08 - Implementação Sandro Santos Andrade sandroandrade@ifba.edu.br Instituto Federal de Educação, Ciência e Tecnologia da Bahia Departamento de Tecnologia Eletro-Eletrônica

Leia mais

Pós-Graduação em Computação Distribuída e Ubíqua

Pós-Graduação em Computação Distribuída e Ubíqua Pós-Graduação em Computação Distribuída e Ubíqua INF612 - Aspectos Avançados em Engenharia de Software Arquitetura de Software [Software Architecture: Foundations, Theory, and Practice] R. N. Taylor, N.

Leia mais

Visões Arquiteturais. Arquitetura de Software Thaís Batista

Visões Arquiteturais. Arquitetura de Software Thaís Batista Visões Arquiteturais Separar diferentes aspectos em visões separadas com o objetivo de gerenciar complexidade. Cada visão descreve diferentes conceitos da Engenharia. Visões permitem reduzir a quantidade

Leia mais

Desenvolvimento de Sistemas Orientados a Objetos com UML UP/RUP: Projeto

Desenvolvimento de Sistemas Orientados a Objetos com UML UP/RUP: Projeto Desenvolvimento de Sistemas Orientados a Objetos com UML UP/RUP: Projeto Engenharia de Software I Informática 2006 Profa. Dra. Itana Gimenes RUP: Projeto Artefatos Modelo de Projeto: Lista de classes de

Leia mais

Arquitetura de Software: Introdução

Arquitetura de Software: Introdução Universidade de São Paulo Instituto de Ciências Matemáticas e de Computação Arquitetura de Software: Introdução SCE 526 Análise e Projeto Orientados a Objeo Profa. Elisa Yumi Nakagawa 2. Semestre de 2013

Leia mais

Arquitetura de Software visão emergente

Arquitetura de Software visão emergente Arquitetura de Software visão emergente Objetivos Visão abstrata do software através de componentes e interfaces Independência de plataforma Independência de paradigma de programação Técnicas Estilos Arquiteturais

Leia mais

Arquitetura de software

Arquitetura de software Arquitetura de software Problema: vamos implementar um clone do compraentrega.com.br Mantém preços atualizados Recebe encomendas e pagamento Recomenda itens a usuários Por onde começamos? Arquitetura =

Leia mais

Exemplos de Estilos Arquiteturais. Estilos Arquiteturais. Estilos Arquiteturais. Estilo: Pipe e Filtros

Exemplos de Estilos Arquiteturais. Estilos Arquiteturais. Estilos Arquiteturais. Estilo: Pipe e Filtros Estilos Arquiteturais Em geral sistemas seguem um estilo, ou padrão, de organização estrutural Os estilos diferem: nos tipos de componentes que usa na maneira como os componentes interagem com os outros

Leia mais

Sistemas Distribuídos. Plano de Curso. Plano de Curso 04/03/12 ! EMENTA:

Sistemas Distribuídos. Plano de Curso. Plano de Curso 04/03/12 ! EMENTA: Sistemas Distribuídos Prof. Msc. André Luiz Nasserala Pires nassserala@gmail.com! EMENTA: Plano de Curso! Conceitos. Comunicação entre processos (IPC). Programação de aplicações cliente- servidor. Sincronização

Leia mais

Engenharia de Software. Projeto de Arquitetura

Engenharia de Software. Projeto de Arquitetura Engenharia de Software Projeto de Arquitetura O que já vimos? Introdução a Engenharia de Software Processos de Software Desenvolvimento Ágil de Software Engenharia de Requisitos Modelagem de sistemas (outra

Leia mais

Arquitetura de Software: Introdução

Arquitetura de Software: Introdução Universidade de São Paulo Instituto de Ciências Matemáticas e de Computação Arquitetura de Software: Introdução SSC-121 Engenharia de Software I Profa. Dra. Elisa Yumi Nakagawa 2º semestre de 2012 Conteúdo

Leia mais

Reúso de Software. Adaptado de. Ian Sommerville 2006 Engenharia de Software, 8ª. edição. Capítulo 18 Slide by Pearson Education

Reúso de Software. Adaptado de. Ian Sommerville 2006 Engenharia de Software, 8ª. edição. Capítulo 18 Slide by Pearson Education Reúso de Software Adaptado de Ian Sommerville 2006 Engenharia de Software, 8ª. edição. Capítulo 18 Slide 1 Reúso de Software Na maioria das disciplinas de engenharia, os sistemas são projetados por meio

Leia mais

Conhece e compreende a dinâmica do ambiente virtual e suas diferentes interfaces.

Conhece e compreende a dinâmica do ambiente virtual e suas diferentes interfaces. Eixo Tecnológico: Informação e Comunicação Curso: Pesquisador: Adelson de Paula Silva Sugestão de carga horária: 1.125 horas PERFIL TÉCNICO- PROFISSIONAL COMPETÊNCIA COMPORTAMENTAL- ATITUDINAL COMPETÊNCIA

Leia mais

ENGENHARIA DE SOFTWARE. Aula 17 Reuso de software

ENGENHARIA DE SOFTWARE. Aula 17 Reuso de software ENGENHARIA DE SOFTWARE Aula 17 Reuso de software OBJETIVOS Entender os benefícios e problemas de reuso de software durante o desenvolvimento de novos sistemas; Entender o conceito de um framework de aplicações

Leia mais

Arquitetura de Serviços na Embrapa, viabilização da integração de informações eletrônicas de UDs e UCs. 12 de agosto de 2014 Fernando Chagas Santos

Arquitetura de Serviços na Embrapa, viabilização da integração de informações eletrônicas de UDs e UCs. 12 de agosto de 2014 Fernando Chagas Santos Arquitetura de Serviços na Embrapa, viabilização da integração de informações eletrônicas de UDs e UCs 12 de agosto de 2014 Fernando Chagas Santos Agenda 1. Contextualização 2. Proposta para a Integração

Leia mais

PROJETO ARQUITETURAL PARTE II: PADRÕES DE PROJETO. Projeto de Programas PPR0001

PROJETO ARQUITETURAL PARTE II: PADRÕES DE PROJETO. Projeto de Programas PPR0001 PROJETO ARQUITETURAL PARTE II: PADRÕES DE PROJETO Projeto de Programas PPR0001 QUALIDADE DO PROJETO 2 3 Qualidade do Projeto de Software Modularidade: gerar particionamento em elementos que executam funções

Leia mais

AULA 1 INTRODUÇÃO AO JAVA

AULA 1 INTRODUÇÃO AO JAVA AULA 1 INTRODUÇÃO AO JAVA Ao término dessa aula você terá aprendido: História e características do Java Ambientes e plataformas Java O Java é a base para praticamente todos os tipos de aplicações em rede

Leia mais

Tecnologia de Informação em SI s Hardware

Tecnologia de Informação em SI s Hardware Tecnologia de Informação em SI s Prof. Dr. Mauricio Pitangueira INF 404 SISTEMAS DE INFORMAÇÃO O Brien, 2012 Infraestrutura de TI: hardware Componentes da infraestrutura de TI Introdução - O Ambiente Competitivo

Leia mais

Frameworks. SSC-526 Análise e Projeto Orientados a Objeto Profa. Dra. Elisa Yumi Nakagawa 2º semestre de 2013

Frameworks. SSC-526 Análise e Projeto Orientados a Objeto Profa. Dra. Elisa Yumi Nakagawa 2º semestre de 2013 Frameworks SSC-526 Análise e Projeto Orientados a Objeto Profa. Dra. Elisa Yumi Nakagawa 2º semestre de 2013 1 Frameworks Definições: Aplicação semi-completa reutilizável que, quando especializada, produz

Leia mais

ENGENHARIA DE SOFTWARE

ENGENHARIA DE SOFTWARE INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DO RIO GRANDE DO NORTE Curso Técnico em Informática : ENGENHARIA DE SOFTWARE Prof.: Clayton Maciel Costa clayton.maciel@ifrn.edu.br Um conjunto estruturado

Leia mais

Requisitos de sistemas

Requisitos de sistemas Requisitos de sistemas Unidade III - Casos de Uso Identificação de casos de uso Conceitos de orientação a objetos Modelagem do diagrama de classes e casos de uso 1 Casos de uso CONCEITO Especifica o comportamento

Leia mais

UNIVERSIDADE FEDERAL DE GOIÁS INSTITUTO DE INFORMÁTICA. Sistemas Distribuídos

UNIVERSIDADE FEDERAL DE GOIÁS INSTITUTO DE INFORMÁTICA. Sistemas Distribuídos UNIVERSIDADE FEDERAL DE GOIÁS INSTITUTO DE INFORMÁTICA Sistemas Distribuídos Mestrado em Ciência da Computação 1o. Semestre / 2006 Prof. Fábio M. Costa fmc@inf.ufg.br www.inf.ufg.br/~fmc/ds-msc2006 Aula

Leia mais

Análise e projeto de sistemas

Análise e projeto de sistemas Análise e projeto de sistemas Conteúdo: UML O processo de desenvolvimento de software Prof. Patrícia Lucas A linguagem de modelagem unificada (UML) A UML teve origem em uma tentativa de se unificar os

Leia mais

PCS3413 Engenharia de Software e Banco de Dados

PCS3413 Engenharia de Software e Banco de Dados PCS3413 Engenharia de Software e Banco de Dados Aula 23 Escola Politécnica da Universidade de São Paulo 1 Acoplamento! Indica dependência entre classes.! Deve ser o menor possível.! Direcionar associações

Leia mais

Rational Unified Process (RUP)

Rational Unified Process (RUP) Rational Unified Process (RUP) A Rational é bem conhecida pelo seu investimento em orientação em objetos. A empresa foi à criadora da Unified Modeling Language (UML), assim como de várias ferramentas que

Leia mais

Curso online de Aplicações. Híbridas. Plano de Estudo

Curso online de Aplicações. Híbridas. Plano de Estudo Curso online de Aplicações Híbridas Plano de Estudo Descrição do programa O programa de aplicações híbridas tem um enfoque em desenvolvimento para dispositivos móveis que combina os pontos fortes do desenvolvimento

Leia mais

EA975 - Laboratório de Engenharia de Software

EA975 - Laboratório de Engenharia de Software EA975 - Laboratório de Engenharia de Software Turmas K/L - 2017 Aula 7 Componentes de Software Um componente de software é um segmento de código que pode ser reusado, eventualmente após um processo de

Leia mais

SEMINÁRIOS INTEGRADOS EM ADS PROGRAMAÇÃO WEB E MOBILE

SEMINÁRIOS INTEGRADOS EM ADS PROGRAMAÇÃO WEB E MOBILE SEMINÁRIOS INTEGRADOS EM ADS PROGRAMAÇÃO WEB E MOBILE Prof. Dr. Daniel Caetano 2014-1 DISCUSSÃO Desenvolvimento Web Quais os ambientes operacionais? Servidor Web Servidor de Aplicações Navegador Desenvolvimento

Leia mais

Agenda da Aula. Arquitetura de Software e Padrões Arquiteturais. Elementos de um Padrão. Arquitetura de Software. Arquitetura de Software

Agenda da Aula. Arquitetura de Software e Padrões Arquiteturais. Elementos de um Padrão. Arquitetura de Software. Arquitetura de Software Reuso de Software Aula 04 Agenda da Aula Arquitetura de Software e Eduardo Figueiredo http://www.dcc.ufmg.br/~figueiredo reuso.software@gmail.com 14 Março 2012 Arquitetura de Software Padrões arquiteturais

Leia mais

Professor Emiliano S. Monteiro

Professor Emiliano S. Monteiro Professor Emiliano S. Monteiro To-Do Doing Done Conhecer os processos de desenvolvimento habilita o aluno a realizar uma melhor escolha de processo para uso em projetos futuros. A vantagem de conhecer

Leia mais

SEMINÁRIOS INTEGRADOS EM SISTEMAS DE INFORMAÇÃO. Luiz Leão

SEMINÁRIOS INTEGRADOS EM SISTEMAS DE INFORMAÇÃO. Luiz Leão SEMINÁRIOS INTEGRADOS EM SISTEMAS DE INFORMAÇÃO Luiz Leão luizleao@gmail.com http://www.luizleao.com Conteúdo Programático 4.1. Aplicações utilizando Programação Estruturada e Programação Orientada a Objeto.

Leia mais

Introdução a UML (Unified Modeling Language)

Introdução a UML (Unified Modeling Language) Introdução a UML (Unified Modeling Language) O que é a UML? Linguagem Gráfica de Modelagem para: Visualizar Especificar Construir Documentar Comunicar Artefatos de sistemas complexos Linguagem: vocabulário

Leia mais

UML (Unified Modelling Language)

UML (Unified Modelling Language) UML (Unified Modelling Language) Curso de Especialização DEINF - UFMA Desenvolvimento Orientado a Objetos Prof. Geraldo Braz Junior Referências: Booch, G. et al. The Unified Modeling Language User Guide

Leia mais

Projeto de Banco de Dados. Componentes de um Sistema de Informação. Arquitetura de SI. Sistema de Informação (SI) SI nas Organizações

Projeto de Banco de Dados. Componentes de um Sistema de Informação. Arquitetura de SI. Sistema de Informação (SI) SI nas Organizações Sistema (SI) Coleção de atividades de Banco de Dados que regulam o compartilhamento, SI nas Organizações a distribuição de informações Fernando Fonseca e o armazenamento de dados relevantes ao gerenciamento

Leia mais

Notas de Aula 03: Introdução a Orientação a Objetos e a UML

Notas de Aula 03: Introdução a Orientação a Objetos e a UML Notas de Aula 03: Introdução a Orientação a Objetos e a UML Objetivos da aula: Introduzir os conceitos da Orientação à Objetos (O.O) Introduzir os conceitos da UML Relacionar os processos às ferramentas

Leia mais

Processos de Software

Processos de Software DCC / ICEx / UFMG Processos de Software Eduardo Figueiredo http://www.dcc.ufmg.br/~figueiredo Processos Procedimentos e métodos definindo relação entre tarefas PROCESSO Pessoas com habilidades, treinadas

Leia mais

Experiência de Implantação de um Processo de Desenvolvimento de Software no Banco Central do Brasil

Experiência de Implantação de um Processo de Desenvolvimento de Software no Banco Central do Brasil Experiência de Implantação de um Processo de Desenvolvimento de Software no Banco Central do Brasil Patrícia Marques R. S. Véras patricia.alvares@bcb.gov.br Agenda Contextualização Histórico de Realização

Leia mais

2

2 ANÁLISE DE SISTEMAS (processo de desenvolvimento de sistemas) por Antônio Maurício Pitangueira 1 2 Levantamento de requisitos Análise de requisitos Projeto Implementação Testes Implantação Foco da disciplina

Leia mais

INF011 Padrões de Projeto. 10 Bridge

INF011 Padrões de Projeto. 10 Bridge INF011 Padrões de Projeto 10 Bridge Sandro Santos Andrade sandroandrade@ifba.edu.br Instituto Federal de Educação, Ciência e Tecnologia da Bahia Departamento de Tecnologia Eletro-Eletrônica Graduação Tecnológica

Leia mais

Introdução ao Desenvolvimento de

Introdução ao Desenvolvimento de Introdução ao Desenvolvimento de Aplicações Web com JSF e PrimeFaces Marcelo Vinícius Cysneiros Aragão ICC Inatel Competence Center marcelovca90@inatel.br Santa Rita do Sapucaí, 15 de março de 2016 Conteúdo

Leia mais

Arquitetura de Software Parte 1/3 Introdução* Jorge H. C. Fernandes Junho de 1999

Arquitetura de Software Parte 1/3 Introdução* Jorge H. C. Fernandes Junho de 1999 Arquitetura de Software Parte 1/3 Introdução* Jorge H. C. Fernandes Junho de 1999 Arquitetura de Software Este curso é baseado no livro Software Architecture in Practice, de Len Bass, Paul Clements and

Leia mais

Engenharia de Software e Gerência de Projetos Prof. Esp. André Luís Belini Bacharel em Sistemas de Informações MBA em Gestão Estratégica de Negócios

Engenharia de Software e Gerência de Projetos Prof. Esp. André Luís Belini Bacharel em Sistemas de Informações MBA em Gestão Estratégica de Negócios Engenharia de Software e Gerência de Projetos Prof. Esp. André Luís Belini Bacharel em Sistemas de Informações MBA em Gestão Estratégica de Negócios Cronograma das Aulas. Hoje você está na aula Semana

Leia mais

Banco de Dados Relacional

Banco de Dados Relacional Centro Federal de Educação Tecnológica de Pernambuco Curso de Tecnologia em Sistemas de Informação Banco de Dados Relacional Renata Lúcia Mendonça Ernesto do Rêgo rlrego@yahoo.com 1 Plano de Ensino Objetivo

Leia mais

Redes de Computadores

Redes de Computadores Prof. Universidade Federal de Mato Grosso do Sul brivaldo@facom.ufms.br 17 de abril de 2017 Sumário 1 Introdução 2 Componentes de Rede Serviços de Rede Protocolo 3 Acesso Residencial O que é uma Rede?

Leia mais

Protótipo de uma ferramenta de apoio para desenvolvimento de sistemas web para WebIntegrator

Protótipo de uma ferramenta de apoio para desenvolvimento de sistemas web para WebIntegrator Protótipo de uma ferramenta de apoio para desenvolvimento de sistemas web para WebIntegrator Ederson Evaristo Jantsch Orientador: Marcel Hugo 09/07/2002 Roteiro Introdução Aplicação multicamadas Tecnologias

Leia mais

Conceitos de Sistemas Distribuídos

Conceitos de Sistemas Distribuídos Conceitos de Sistemas Distribuídos Roteiro Definição de Sistemas Distribuídos (SD) Evolução Histórica Exemplos (SD) Modelos (Vantagens x Desvantagens) 2 O que é um Sistema Distribuído? Definição Coleção

Leia mais

Arquitetura de Software: Introdução. Prof. Fellipe Aleixo

Arquitetura de Software: Introdução. Prof. Fellipe Aleixo Arquitetura de Software: Introdução Prof. Fellipe Aleixo (fellipe.aleixo@ifrn.edu.br) Primeira Analogia: O que é Arquitetura de Software? Significa coisas diferentes para pessoas diferentes... Para um

Leia mais

Objetos e Componentes Distribuídos: EJB

Objetos e Componentes Distribuídos: EJB : EJB Sistemas Distribuídos Mauro Lopes Carvalho Silva Professor EBTT DAI Departamento de Informática Campus Monte Castelo Instituto Federal de Educação Ciência e Tecnologia do Maranhão Objetivos Nesta

Leia mais

Componente de aplicação. Figura 1 - Elementos funcionais de uma aplicação sendo executados de forma distribuída

Componente de aplicação. Figura 1 - Elementos funcionais de uma aplicação sendo executados de forma distribuída 11 1 Introdução Recentes avanços em redes de computadores impulsionaram a busca e o desenvolvimento de meios para facilitar e acelerar o desenvolvimento de aplicações em sistemas distribuídos, tornando

Leia mais

PROJETO DE ARQUITETURA (PARTE 2)

PROJETO DE ARQUITETURA (PARTE 2) PROJETO DE ARQUITETURA (PARTE 2) Projeto Detalhado de Software (PDS) Profa. Cynthia Pinheiro Antes de mais nada... 5ª Lista de Exercícios Já está disponível no site a 5ª Lista de Exercícios Entrega: dia

Leia mais

Especialização em Tecnologias de Software para Ambiente Web. Guidelines. Prof. Dr. Sandro Ronaldo Bezerra Oliveira

Especialização em Tecnologias de Software para Ambiente Web. Guidelines. Prof. Dr. Sandro Ronaldo Bezerra Oliveira Especialização em Tecnologias de Software para Ambiente Web Guidelines Prof. Dr. Sandro Ronaldo Bezerra Oliveira srbo@ufpa.br www.ufpa.br/srbo Projeto e Avaliação de Interfaces: Ambiente Web Instituto

Leia mais

Nuvem e Virtualização Redes Programáveis

Nuvem e Virtualização Redes Programáveis Nuvem e Virtualização Redes Programáveis Visão Geral da Nuvem A computação em nuvem envolve muitos computadores conectados em uma rede, possibilitando que eles sejam fisicamente localizados em qualquer

Leia mais

Processos de software

Processos de software Processos de software 1 Processos de software Conjunto coerente de atividades para especificação, projeto, implementação e teste de sistemas de software. 2 Objetivos Introduzir modelos de processos de

Leia mais

SI06 DIMENSÃO TECNOLÓGICA I

SI06 DIMENSÃO TECNOLÓGICA I 1 2 1. Apresentar os principais tipos de software. 2. Compreender os componentes básicos de uma rede de telecomunicações. 3. Compreender como o uso da internet participa no processo de acesso à informação.

Leia mais

Análise e Projeto de Software

Análise e Projeto de Software Análise e Projeto de Software Proj. Desenvolvimento de Software Prof. Cleverton Hentz cleverton.hentz@ifrn.edu.br 8 de junho de 2017 Material Apresentado Sumário de Aula 1 Introdução 2 Estruturação do

Leia mais

INTRODUÇÃO: INTERAÇÃO HUMANO- COMPUTADOR. Aula 2

INTRODUÇÃO: INTERAÇÃO HUMANO- COMPUTADOR. Aula 2 INTRODUÇÃO: INTERAÇÃO HUMANO- COMPUTADOR Aula 2 TECNOLOGIA EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS PROJETO DE INTERFACE COM O USUÁRIO Marcelo Henrique dos Santos Marcelo Henrique dos Santos Mestrado em

Leia mais

2 Conceitos. 2.1 Sistema Multiagentes Abertos e Abordagens de Leis

2 Conceitos. 2.1 Sistema Multiagentes Abertos e Abordagens de Leis 2 Conceitos Neste capítulo são apresentados alguns conceitos necessários para o entendimento desta dissertação. Visto que esta proposta está inserida no contexto de sistemas multiagentes abertos, serão

Leia mais

Engenharia de Software Aula 2.3 Processos da Engenharia de Requisitos. Prof. Bruno Moreno

Engenharia de Software Aula 2.3 Processos da Engenharia de Requisitos. Prof. Bruno Moreno Engenharia de Software Aula 2.3 Processos da Engenharia de Requisitos Prof. Bruno Moreno bruno.moreno@ifrn.edu.br Engenharia de Requisitos O objetivo do processo de Engenharia de Requisitos é criar e manter

Leia mais

Quando Distribuir é bom

Quando Distribuir é bom Quando Distribuir? Se não precisar, não distribua. Problema de natureza descentralizada Rede de manufatura com atividades concorrentes de engenharia em locações remotas; Teleconferência; Automação industrial.

Leia mais

Quando Distribuir é bom

Quando Distribuir é bom Quando Distribuir? Se não precisar, não distribua. Problema de natureza descentralizada Rede de manufatura com atividades concorrentes de engenharia em locações remotas; Teleconferência; Automação industrial.

Leia mais

Modelagem de Dados MODELAGEM DE DADOS. Sistemas de Banco de Dados. Profa. Rosemary Melo

Modelagem de Dados MODELAGEM DE DADOS. Sistemas de Banco de Dados. Profa. Rosemary Melo MODELAGEM DE DADOS Sistemas de Banco de Dados Profa. Rosemary Melo SISTEMAS DE BANCO DE DADOS OBJETIVOS Apresentar os conceitos fundamentais de Sistemas de Banco de Dados. Principais componentes dos SGBDs

Leia mais

Introdução à Computação

Introdução à Computação Introdução à Computação Jordana Sarmenghi Salamon jssalamon@inf.ufes.br jordanasalamon@gmail.com http://inf.ufes.br/~jssalamon Departamento de Informática Universidade Federal do Espírito Santo Agenda

Leia mais

3. Engenharia dos requisitos de software

3. Engenharia dos requisitos de software Renato Cardoso Mesquita Departamento de Eng. Elétrica da UFMG renato@cpdee.ufmg.br Engenharia de Software 3. Engenharia dos requisitos de software.......... 3.1. Visão Geral O fluxo de Requisitos reúne

Leia mais

Arquitetura Orientada a Serviços SOA

Arquitetura Orientada a Serviços SOA Arquitetura Orientada a Serviços SOA Rápida Definição SOA diz respeito a um estilo de arquitetura de software onde as funcionalidades das aplicações são orientadas a serviços. Elementos do SOA Visão Conceitual

Leia mais

INF011 Padrões de Projeto. 04 Builder

INF011 Padrões de Projeto. 04 Builder INF011 Padrões de Projeto 04 Builder Sandro Santos Andrade sandroandrade@ifba.edu.br Instituto Federal de Educação, Ciência e Tecnologia da Bahia Departamento de Tecnologia Eletro-Eletrônica Graduação

Leia mais

O que é um sistema distribuído?

O que é um sistema distribuído? Disciplina: Engenharia de Software 4 Bimestre Aula 1: ENGENHARIA DE SOFTWARE DISTRIBUÍDO O que é um sistema distribuído? Segundo Tanenbaum e Steen (2007) um sistema distribuído é uma coleção de computadores

Leia mais

Banco de Dados. SGBD - Sistema de Gerenciamento de Banco de Dados Parte 1. Prof. Leonardo Vasconcelos

Banco de Dados. SGBD - Sistema de Gerenciamento de Banco de Dados Parte 1. Prof. Leonardo Vasconcelos Banco de Dados SGBD - Sistema de Gerenciamento de Banco de Dados Parte 1 Prof. Leonardo Vasconcelos - O que é um banco de dados (BD)? Um Banco de Dados (ou Base de Dados) é uma coleção de dados relacionados,

Leia mais

Objetos e Componentes Distribuídos: EJB e CORBA

Objetos e Componentes Distribuídos: EJB e CORBA : EJB e CORBA Sistemas Distribuídos Mauro Lopes Carvalho Silva Professor EBTT DAI Departamento de Informática Campus Monte Castelo Instituto Federal de Educação Ciência e Tecnologia do Maranhão Objetivos

Leia mais

Arquitetura de Software. Fatec ES III - Prof. Dinis 1

Arquitetura de Software. Fatec ES III - Prof. Dinis 1 Fatec ES III - Prof. Dinis 1 Segundo Shaw e Garlan Desde quando o primeiro programa foi dividido em módulos, os sistemas de software passaram a ter arquiteturas, e os programadores têm sido responsáveis

Leia mais

Sistemas de Informações Gerenciais

Sistemas de Informações Gerenciais Sistemas de Informações Gerenciais Aula 7 PDSI - Plano Diretor para Sistemas de Informação Professora: Cintia Caetano Conceitos Conceitos Conceitos Conceitos PDSI O que é? Quando? Como? Porquê? Por que

Leia mais

Introdução Diagrama de Classes Diagrama de Seqüência Diagrama de Atividades. Diagramas UML. Classe, Seqüência e Atividades. Marcio E. F.

Introdução Diagrama de Classes Diagrama de Seqüência Diagrama de Atividades. Diagramas UML. Classe, Seqüência e Atividades. Marcio E. F. Diagramas UML Classe, Seqüência e Atividades Marcio E. F. Maia Disciplina: Engenharia de Software Professora: Rossana M. C. Andrade Curso: Ciências da Computação Universidade Federal do Ceará 15 de maio

Leia mais

Arquitetura da World Wide Web. WWW: Histórico. WWW: Usos. WWW: Histórico. WWW Tecnologias Fundamentais. Comércio Eletrônico na WWW

Arquitetura da World Wide Web. WWW: Histórico. WWW: Usos. WWW: Histórico. WWW Tecnologias Fundamentais. Comércio Eletrônico na WWW Arquitetura da World Wide Web World Wide Web Sistema de informação em escala global acessível em tempo real através de redes de computadores como a Internet. Comércio Eletrônico na WWW Wagner Meira Jr.,

Leia mais

SISTEMAS DISTRIBUÍDOS ARQUITETURAS. Slides cedidos pela Professora Aline Nascimento

SISTEMAS DISTRIBUÍDOS ARQUITETURAS. Slides cedidos pela Professora Aline Nascimento SISTEMAS DISTRIBUÍDOS ARQUITETURAS Slides cedidos pela Professora Aline Nascimento INTRODUÇÃO A organização dos SDs trata em grande parte dos componentes de software que constituem o sistema Os componentes

Leia mais

Arquitetura de Sistemas

Arquitetura de Sistemas Arquitetura de Sistemas Fabio Perez Marzullo IEEE Body of Knowledge on Services Computing Sponsored by Technical Committee on Services Computing, IEEE Computer Society Projeto Arquitetural Modelos mentais

Leia mais

Desenvolvimento Baseado em Componentes e o Enfoque de Linha de Produtos

Desenvolvimento Baseado em Componentes e o Enfoque de Linha de Produtos Desenvolvimento Baseado em Componentes e o Enfoque de Linha de Produtos Segundo Workshop de Desenvolvimento Baseado em Componentes Itana Maria de Souza Gimenes itana@din.uem.br Departamento de Informática

Leia mais

Conceitos, Arquitetura e Design

Conceitos, Arquitetura e Design capítulo 1 Conceitos, Arquitetura e Design 1.1 O que são os serviços de diretórios? Segundo a Wikipédia: Um serviço de diretório é um software que armazena e organiza informações sobre os recursos e os

Leia mais

REUSO E REUSABILIDADE

REUSO E REUSABILIDADE REUSO E REUSABILIDADE Manutenção de Software Profa. Cynthia Pinheiro Antes de mais nada... 2ª Lista de Exercícios Já está disponível no site a 2ª Lista de Exercícios Entrega: dia 03/10, no horário da aula.

Leia mais

Curso Online de E-commerce. Plano de Estudo

Curso Online de E-commerce. Plano de Estudo Curso Online de E-commerce Plano de Estudo Descrição do programa O programa oferece metodologias e técnicas necessárias para a implementação de soluções web baseadas no CMS para o suporte, estratégias

Leia mais

PADRÃO DE TECNOLOGIA DE INFRAESTRUTURA DE TIC. VMware vrealize Application Services

PADRÃO DE TECNOLOGIA DE INFRAESTRUTURA DE TIC. VMware vrealize Application Services PADRÃO DE TECNOLOGIA DE INFRAESTRUTURA DE TIC DIT / DEPS / DITF JUNHO / 2016 EQUIPE Elaboração: DEPS/DITF Responsável: DEPS/DITF Aprovação: DEPS/DITF Eduardo Vale Carlos Quintanilha Marcelo André 2 HISTÓRICO

Leia mais

Sistemas Distribuídos Aspectos de Projeto de SD. Aspectos de Projeto em SD. Transparência 14/03/12. ! Transparência; ! Abertura; !

Sistemas Distribuídos Aspectos de Projeto de SD. Aspectos de Projeto em SD. Transparência 14/03/12. ! Transparência; ! Abertura; ! Sistemas Distribuídos Aspectos de Projeto de SD Prof. Msc. André Luiz Nasserala Pires nassserala@gmail.com Aspectos de Projeto em SD! Transparência;! Abertura;! ;! Heterogeneidade;! Segurança;! Tratamento

Leia mais

Sistema de monitoramento PROFINET e PROFIBUS

Sistema de monitoramento PROFINET e PROFIBUS Sistema de monitoramento PROFINET e PROFIBUS Sistema de monitoramento 2 O sistema oferece ao usuário: Monitoramento 24 horas de redes e dispositivos PROFIBUS e PROFINET; Alarmes e diagnósticos padrão interpretados;

Leia mais

14/08/2009. Módulo 4

14/08/2009. Módulo 4 ASP.NET Módulo 4 Objetivo Apresentar ao aluno os conceitos do ASP.Net, suas características e funcionamento; Demonstrar como deve ser criado um Web site; Criação de web form; Mostrar os principais controles

Leia mais

as fases contemplam todas as etapas do ciclo de desenvolvimento (requisitos, análise, projeto, implementação, teste e validação);

as fases contemplam todas as etapas do ciclo de desenvolvimento (requisitos, análise, projeto, implementação, teste e validação); Título : B2 Processo de desenvolvimento de Sistemas Conteúdo : A UML estabelece uma abordagem para a construção, o desenvolvimento e a manutenção de software. Atualmente, metodologias utilizadas no desenvolvimento

Leia mais

Agenda da Aula. Reuso de Software. Tipos de Reuso. Potenciais Problemas. Vantagens de Reuso. Introdução a Reuso de Software

Agenda da Aula. Reuso de Software. Tipos de Reuso. Potenciais Problemas. Vantagens de Reuso. Introdução a Reuso de Software Reuso de Software Aula 02 Agenda da Aula Introdução a Reuso de Software Eduardo Figueiredo http://www.dcc.ufmg.br/~figueiredo reuso.software@gmail.com Introdução a Reuso de Software Abordagens de Reuso

Leia mais

INF016 Arquitetura de Software 02 Reorientação da Engenharia de Software

INF016 Arquitetura de Software 02 Reorientação da Engenharia de Software INF016 Arquitetura de Software 02 Reorientação da Engenharia de Software Sandro Santos Andrade sandroandrade@ifba.edu.br Instituto Federal de Educação, Ciência e Tecnologia da Bahia Departamento de Tecnologia

Leia mais

Reuso de Software Aula Maio 2012

Reuso de Software Aula Maio 2012 Reuso de Software Aula 19 Tópicos da Aula Engenharia de Software baseada em Componentes (CBSE) Eduardo Figueiredo http://www.dcc.ufmg.br/~figueiredo reuso.software@gmail.com Componentes Modelos de Componentes

Leia mais

ENGENHARIA DE SOFTWARE. Introdução

ENGENHARIA DE SOFTWARE. Introdução ENGENHARIA DE SOFTWARE Introdução AGENDA Conceitos de Engenharia de Software Processo de desenvolvimento de software ENGENHARIA DE SOFTWARE CONCEITOS CENÁRIO INICIAL Desenvolvimento informal e não suficiente

Leia mais

Banco de Dados. SGBDs. Professor: Charles Leite

Banco de Dados. SGBDs. Professor: Charles Leite Banco de Dados SGBDs Professor: Charles Leite Sistemas de BD Vimos que um BANCO DE DADOS representa uma coleção de dados com algumas propriedades implícitas Por exemplo, um BD constitui os dados relacionados

Leia mais