Arquitetura de Software e Atributos de Qualidade
|
|
- Ana Clara Quintanilha Canejo
- 8 Há anos
- Visualizações:
Transcrição
1 Arquitetura de Software e Atributos de Qualidade Jair C Leite Requisitos e atributos de qualidade Requisitos Características, atributos, propriedades e restrições associadas ao software. Requisitos funcionais Definem os serviços (ou funções) que o sistema deve oferecer Definem a funcionalidade Requisitos não-funcionais Definem outras propriedades e restrições do sistema. Afetam o sistema como um todo e deve São chamados também de atributos de qualidade
2 Outros termos utilizados Requisitos de domínio (ou de negócios) Vêm do domínio de aplicação do sistema Requisitos de usuário Versão em linguagem natural para ser lida pelos gerentes, usuários, etc. Requisitos de sistema Versão detalhada de interesse dos arquitetos, engenheiros e programadores. Atributos de qualidade Desempenho Disponibilidade Modificabilidade Segurança Testabilidade Usabilidade 2
3 Funcionalidade e atributos de qualidade São ortogonais Atributos de qualidade podem afetar vários serviços ou funções Atributos de qualidade devem ser independentes da funcionalidade A funcionalidade não deve ser modificada por atributos de qualidade Exceto quando analisado e decidido pelos envolvidos Funcionalidade e Arquitetura Funcionalidade É realizada por um conjunto de elementos do software, definidos no design arquitetural Decomposição funcional é uma técnica de design arquitetural mas não deve ser a única. Atributos de qualidade também afetam o design arquitetural 3
4 Arquitetura e Atributos de Qualidade Os atributos de qualidade envolvem aspectos arquiteturais e não arquiteturais Os atributos de qualidade devem ser considerados em todo o processo de software Design, implementação e implantação. Usabilidade - exemplos Escolhas dos objetos de interface e layout de telas são aspectos não-arquiteturais Os mecanismos de undo e feedback, dependem de decisões arquiteturais Modificabilidade - exemplos Estilo do código é um aspecto não-arquitetural que afeta modificabilidade Módulos com alta coesão e baixo acoplamento é um aspecto arquitetural Importância da arquitetura para qualidade A arquitetura do software é um fator crítico para muitas das qualidades de um sistema Elas deve ser a base para as estratégias e decisões de design da arquitetura A arquitetura, por si só, não garante que todos os atributos de qualidade seja atingidos. Ela deve ser a fundação que permitirá a qualidade em conjunto com a implementação e a implantação do sistema 4
5 Atingindo atributos de qualidade O design consiste de um conjunto de decisões. Os fundamentos para atingir qualidade podem ser estabelecidos por decisões de design. No método ADD, estas decisões de design são chamadas de táticas. Ex.: Redundância é uma tática para Disponibilidade Uma coleção de táticas é chamada de estratégia arquitetural. Padrões (patterns) estão relacionados com várias táticas. Disponibilidade (tolerância a falhas) Atributo relacionado com ocorrências de falhas do sistema e suas conseqüências. A indisponibilidade ocorre quando um serviço do sistema não pode ser realizado e afeta o uso do sistema. É causada por falhas É necessário que a falha seja mascarada ou um reparo seja feito. As táticas para garantir disponibilidade são baseadas em : Redundância de componentes (processos, arquivos, equipamentos, etc.) Monitoramento para prevenir falhas Mecanismos de detecção de falhas a ocorrer ou ocorridas Mecanismos de recuperação de falhas ocorridas As táticas devem considerar os seguintes fafores: Freqüência das falhas Conseqüências das falhas Tempo para recuperação 5
6 Táticas para detecção de falhas Detecção da falha Ping/echo Deve existir um componente que envia um outro componente (seu par) obter uma resposta de um outro componente Heartbeat Periodicamente um componente emite uma mensagem para um outro componente Exceções Criar um responsável para executar um as atividades quando ocorrer a falha Considerações Nas táticas ping/echo e no heartbeat, são necessários dois processos em execução. Na tática exceções, é possível implementa-la em um único processo ou thread. Táticas para recuperação de falhas Preparação e reparo Redundância Ativa Os componentes redundantes trabalham de forma paralela sempre respondendo aos mesmos eventos. Redundância Passiva Existem dois componentes redundantes: primário e secundário. Apenas o primário responde a eventos e sinaliza ao secundário que deve atualizar seus estados. Componente reserva O componente redundante fica em espera e quando ocorre a falha ele é iniciado. Ele re-estabelece os estado do componente que falhou com base em informações de checkpoint (ver tática para reintrodução). 6
7 Táticas para recuperação de falhas Re-introdução após falhas Operação sombra Antes de reiniciar um componentes que falhou, deve-se executa-lo no modo sombra por um período até que se verifique que seja completamente confiável Re-sincronização de estados Quando se usa redundância ativa ou passiva, precisa ser restaurado e re-sincronizado com o componente redundante. Checkpoint Um ponto de execução, com um estado consistente do componente, é armazenado periodicamente. Na reintrodução, o sistema é re-iniciado no último checkpoint consistente. Utilizado em conjunto com as táticas componente reserva e processo monitor. Táticas para prevenção de falhas Remoção do serviço Quando se detecta que um componente irá falha, este componente deve ser removido do sistema para prevenir a indisponibilidade total do sistema. Mecanismos de transação Um conjunto de ações críticas que podem colocar o sistema num estado de falha devem ser realizadas de forma atômica uma transação. Dessa forma, se ocorrer falha durante uma das ações, todo o conjunto é cancelado e o sistema volta para o estado anterior à transação. Processo monitor Quando uma falha num processo foi detectada, o processo monitor pode matar o processo com falha e criar uma nova instância do processo. Este processo é um componente reserva e deve ser iniciado com base em um log de checkpoint. 7
8 Estratégia para a disponibilidade Para garantir disponibilidade, deve-se estabelecer uma estratégia baseada em um conjunto de táticas Uma solução possível é a combinação das seguintes táticas Processo monitor Para monitorar a falha, ativar o componente reserva e reintroduzir o sistema utilizando o checkpoint. Heartbeat Para enviar mensagens periódicas aos componentes e criar o checkpoint em cada checagem. Checkpoint Para utilizar informações de log para re-introduzir o sistema. Componente reserva Para ser utilizando quando ocorrer a falhar. Modificabilidade Diminuir tempo e custo para implementar, testar e implantar mudanças As táticas para modificabilidade podem ter os seguintes objetivos: Manter modificações localizadas Evitar propagação (efeito ripple) Prorrogar tempo de ligação (binding) 8
9 Táticas para manter modificações localizadas Manter coerência semântica A unidades do código devem ter responsabilidades semelhantes, isto é, realizar atividades que sejam semanticamente similares Abstrair serviços comuns é um sub-tática associada. Ou seja, colocar serviços comuns a várias outras unidades numa mesma unidade Coerência e coesão são métricas associadas Antecipar as mudanças esperadas Ao definir as unidades de código, o arquiteto deve se questionar se Para cada mudança esperada, quantas unidades devem ser modificadas? Generalizar os módulos Tornar um módulo o mais genérico possível, computando um maior número de funcionalidades Módulos com esta características têm interfaces complexas. No entanto, as mudanças internas quase sempre limitam-se a mudanças na interfaces. Limitar o número de opções Quando se constrói unidades de código com poucas possibilidades de mudanças, limita-se o número de mudanças que podem ser feitas. Táticas para evitar propagação (efeito ripple) Efeito ripple é a necessidade de fazer mudanças em todas as unidades que tenham sido afetadas pela mudança em uma unidade. Dependência entre unidades Considere duas unidades A e B, com B dependendo de A. Existem diferentes tipos de dependências entre A e B As táticas devem considerar os tipo de dependência. 9
10 Tipos de dependência Sintática Para B compilar ou executar corretamente... Dados: Os dados produzidos por A devem ser consistentes com os tipos consumidos por B Serviço: A assinatura dos serviços (métodos ou funções) oferecidos por A e utilizados (chamados) por B Semântica Para B executar corretamente A semântica dos dados e serviços produzidos por A e consumidos por B devem ser consistentes Tipos de dependência 2 Seqüência Se B consome dados em seqüência (seguindo um protocolo), A deve produzir os dados de acordo a seqüência esperada (mesmo protocolo) Para B executar corretamente, A deve ter sido executado e terminado dentro de um limite de tempo definido Qualidade dos serviços ou dados Para B executar corretamente, a qualidades dos serviços ou dados deve ser consistente com o esperado por B. 0
11 Tipos de dependência 3 Identidade da interface de A Para B compilar e executar corretamente, a identidade (nome e argumentos) de A deve ser consistente com o esperado por B. Localização de A Para B executar corretamente, a localização de A em tempo de execução deve ser conhecida Existência Para B executar corretamente, os serviços ou dados de A deve existir no sistema (disponibilidade) Táticas para evitar propagação Esconder informação Na decomposição de sistemas em unidades, dados e serviços podem ficar públicas e ou privadas Informações privadas não têm relação de dependência sintática com outras unidades. Não resolve dependência semântica Manter interfaces existentes Separar interface da implementação, criando interfaces abstratas, que mascaram as mudanças. Adicionar novas interfaces Adicionar um adaptador (Adapter) Prover um stub
12 Táticas para evitar propagação 2 Restringir os caminhos de comunicação Deve-se restringir o número de módulos que consomem dados produzidos por um módulo...e o número de módulos que produzem os dados consumidos por ele Táticas para evitar propagação 3 Uso de intermediário Para os casos que não existem dependência semântica entre A e B, pode-se inserir um intermediário entre A e B O padrão arquitetura Repositórios (Blackboard) funciona como intermediários entre os processos produtores e consumidores de dados O padrão Observer também funciona com intermediário de dados Os padrões Facade, Mediator, Proxy, Bridge, Strategy e Factory todos oferecem intermediários que abstraem a sintaxe dos serviços oferecidos. O padrão Broker é um intermediário que pode ser usado quando existe dependência de identidade e localização O padrão Factory permite criar instâncias ncessárias de um objeto e podem resolver dependência de existência 2
13 Táticas para prorrogar tempo de ligação - Motivação A ligação entre as unidades pode ocorrer: Em tempo de carga (ao iniciar) Em tempo de execução Modificações em sistemas que necessitam estar disponível devem ser feitas com tempo de ligação prorrogado Táticas para prorrogar tempo de ligação -2 Arquivos de configuração Permitem definir parâmetro de execução para ser usados em tempo de carga Registro em tempo de execução Um gerenciador de registros permite suporte a plug-and-play O padrão Observer (publish/subscribe) pode ser utilizado Polimorfismo Permite ligação de chamadas de métodos em tempo de execução Troca de componentes Componentes podem ser modificados em tempo de carga Aderência a protocolos Processos que se comunicam utilizando protocolos definidos, podem ser ligados em tempo de execução 3
14 Padrões de Projeto e Táticas Padrões de projeto podem implementar várias táticas Por exemplo, o padrão Active Object (objeto ativo) Objetivo melhorar desempenho (atributo de qualidade) em sistemas distribuídos Tática: Introduzir concorrência Além disso, o padrão Active Object envolve outras táticas, para diferentes atributos de qualidade Desempenho Política de escalonamento Modificabilidade Escondendo informação Intermediário Tempo de ligação (binding) Padrão Active Object: contexto e problema Contexto Sistemas com clientes que acessam objetos executando em threads separadas (concorrente) Problema Quando o objeto roda de forma concorrente vários atributos de qualidade (QoS) podem ser melhorados Contudo, sincronização e compartilhamento de recursos são problemas críticos Forças Método do objeto concorrente não deve bloquear o processo indefinidamente O controle do acesso compartilhado (sincronização) dever programado facilmente O design arquitetural deve usufruir do paralelismo oferecido pela concorrência de forma transparente. 4
15 Padrão Active Object: solução É preciso desacoplar a chamada do método da sua execução no objeto servidor. A chamada do método pode ficar na mesma thread do cliente, mas a execução do método deve ficar numa thread separada. Para isso... Um Proxy deve representar a chamada do método. Ele roda da mesma thread do cliente. Um Servant fica responsável pela execução do método. Ele roda numa thread separada Durante a execução, o Proxy deve transformar a chamada do método em uma requisição (MethodRequest). A requisição é enviada para um Scheduler que é colocada numa lista de ativações. O Scheduler se encarrega de chamar o método no Servant. Eles rodam na mesma thread. Padrão Active Object: estrutura Cliente Proxy Scheduler Lista Ativação <<chamada>> método()... métodon() dispatch() insert() insert() remove() Future <<instancia>> <<instancia>> MethodRequest can_run() call() <<executa>> Servant método()... métodon() <<escreve em>> 5
16 Padrão Active Object: comportamento :Cliente :Proxy :Scheduler :Lista Ativ :Servant method() method :Future insert() future insert() :Method Request dispatch() can_run() future remove() write() call() method() read() Estudo de caso: e-commerce 6
17 Características Tipo de comércio que está sendo cada vez mais popular. Inovação dos negócios que resultou num grande sucesso da WEB. Inovação que trouxe mudanças na arquitetura refletida pelos novos requisitos do comércio virtual. Requisitos exigidos pelos e-commerce Bom desempenho usuários desejam sempre uma resposta a suas requisições num baixo intervalo de tempo. Alta disponibilidade é desejado que os sistemas sempre estejam ligados e funcionando, para que os usuários possam utilizar os serviços sempre que desejarem. Escalabilidade sistema deve ser capaz de expandir a quantidade de dados que ele pode controlar. Segurança sistema deve garantir que informações sensíveis (número de identificação, número cartão de crédito) estejam livres de espionagem. Modificabilidade sites e-commerce mudam frequentemente, portanto seu conteúdo deve ser simples de mudar 7
18 Arquitetura de referência para sistema e- commerce Interação do usuário Regras de negócio e aplicações Serviços de dados Arquitetura de camadas, no caso 3 camadas, cada uma com sua função bem definida. Função da interação do usuário é cumprida pelo WEB Browser. Funções da regra de negócio e das aplicações cumpridas pelos servidores de aplicação e de transação Funções dos serviços de dados cumpridas por servidores de banco de dados (SGBD) Arquitetura do sistema e-commerce Componentes de cada camada são responsáveis em contribuir para um/alguns dos atributos de qualidade. Regras de negócio e Aplicações Balanceador De Carga Interação do usuário Roteador/ Firewall..* WEB..* Serviços de dados Browser..* Proxy De Aplicação..* De BD 8
19 WEB Browser para Modificabilidade Início da interação pelo Browser. Interfaces que suportam browser são implementadas em HTML. Documentos HTML são facilmente modificados. Regras de negócio e Aplicações Balanceador De Carga Interação do usuário Roteador/ Firewall..* WEB..* Serviços de dados Browser..* Proxy De Aplicação..* De BD es Proxy para Desempenho es Proxy mantêm no seu cache arquivos disponíveis em servidores remotos, diminuindo o tempo de acesso e aumentando o desempenho. Regras de negócio e Aplicações Balanceador De Carga Interação do usuário Roteador/ Firewall..* WEB..* Serviços de dados Browser..* Proxy De Aplicação..* De BD 9
20 Roteadores e Firewall para Segurança Requisições de um browser (ou servidor proxy) chegam ao roteador que provê comunicação entre os computadores. Roteadores incluindo Firewall para prevenir fluxos de informações não autorizadas. Regras de negócio e Aplicações Balanceador De Carga Interação do usuário Roteador/ Firewall..* WEB..* Serviços de dados Browser..* Proxy De Aplicação..* De BD Balanceador de Carga para Desempenho, Escalabilidade e Disponibilidade Parte essencial de qualquer WEB site e-commerce. Distribui a carga entre os vários computadores rodando servidores WEB. Regras de negócio e Aplicações Balanceador De Carga Interação do usuário Roteador/ Firewall..* WEB..* Serviços de dados Browser..* Proxy De Aplicação..* De BD 20
21 es WEB para Desempenho A requisição HTTPS chega então ao servidor WEB. es multi-thread permitem executar várias tarefas ao mesmo tempo. Regras de negócio e Aplicações Balanceador De Carga Interação do usuário Roteador/ Firewall..* WEB..* Serviços de dados Browser..* Proxy De Aplicação..* De BD es de Aplicação para Modificabilidade, Desempenho e Escalabilidade Requisição é então direcionada do servidor WEB para o servidor de aplicação. Objetivo é disponibilizar uma plataforma, que abstrai do desenvolvedor de software complexidades do sistema computacional. Regras de negócio e Aplicações Balanceador De Carga Interação do usuário Roteador/ Firewall..* WEB..* Serviços de dados Browser..* Proxy De Aplicação..* De BD 2
22 de Banco de Dados para Modificabilidade, Desempenho e Escalabilidade Modernos BD usam replicação interna para consegui performance, escalabilidade e disponibilidade. Eles também usam cache para garantir bom desempenho. Regras de negócio e Aplicações Balanceador De Carga Interação do usuário Roteador/ Firewall..* WEB..* Serviços de dados Browser..* Proxy De Aplicação..* De BD Resumo de como a arquitetura dos sistema e-commerce realizam seus objetivos de qualidade Objetivo de qualidade Bom desempenho Alta disponibilidade Escalabilidade Segurança Modificabilidade Quem realiza Balanceador de carga, servidores proxy Banco de dados, Balanceadores de Carga Balanceador de Carga Firewall Browser, banco de dados 22
23 Referência Bass, L.; Clements, P.; & Kazman, R. Software Architecture in Practice, 2nd ed. Reading, MA: Addison-Wesley,
Bancos de dados distribuídos Prof. Tiago Eugenio de Melo tiagodemelo@gmail.com. http://www.tiagodemelo.info
Bancos de dados distribuídos Prof. Tiago Eugenio de Melo tiagodemelo@gmail.com Última atualização: 20.03.2013 Conceitos Banco de dados distribuídos pode ser entendido como uma coleção de múltiplos bds
Leia mais3 Um Framework Orientado a Aspectos para Monitoramento e Análise de Processos de Negócio
32 3 Um Framework Orientado a Aspectos para Monitoramento e Análise de Processos de Negócio Este capítulo apresenta o framework orientado a aspectos para monitoramento e análise de processos de negócio
Leia maisSistemas Distribuídos
Sistemas Distribuídos Modelo Cliente-Servidor: Introdução aos tipos de servidores e clientes Prof. MSc. Hugo Souza Iniciando o módulo 03 da primeira unidade, iremos abordar sobre o Modelo Cliente-Servidor
Leia maisHardware (Nível 0) Organização. Interface de Máquina (IM) Interface Interna de Microprogramação (IIMP)
Hardware (Nível 0) Organização O AS/400 isola os usuários das características do hardware através de uma arquitetura de camadas. Vários modelos da família AS/400 de computadores de médio porte estão disponíveis,
Leia maisPadrões Arquiteturais e de Integração - Parte 1
1 / 58 - Parte 1 Erick Nilsen Pereira de Souza T017 - Arquitetura e Design de Aplicações Análise e Desenvolvimento de Sistemas Universidade de Fortaleza - UNIFOR 11 de fevereiro de 2015 2 / 58 Agenda Tópicos
Leia maisFaculdade Lourenço Filho - ENADE 2011-1
1. Quando se constrói um banco de dados, define-se o modelo de entidade e relacionamento (MER), que é a representação abstrata das estruturas de dados do banco e seus relacionamentos. Cada entidade pode
Leia maisFundamentos de Banco de Dados
Fundamentos de Banco de Dados SISTEMAS BASEADOS NO PROCESSAMENTO DE ARQUIVOS Sistema A Funcionário Pagamento Cargo Sistema B Funcionário Projeto SISTEMAS GERENCIADORES DE BANCO DE DADOS (SGBD) Sistema
Leia maisEngenharia de Software III
Engenharia de Software III Casos de uso http://dl.dropbox.com/u/3025380/es3/aula6.pdf (flavio.ceci@unisul.br) 09/09/2010 O que são casos de uso? Um caso de uso procura documentar as ações necessárias,
Leia maishttp://www.cin.ufpe.br/~sd/disciplinas/sd/grad Características Carlos Ferraz cagf@cin.ufpe.br
http://www.cin.ufpe.br/~sd/disciplinas/sd/grad Características Carlos Ferraz cagf@cin.ufpe.br Características O que são os Sistemas Distribuídos? Benefícios : Não são consequências automáticas da distribuição;
Leia maisEduardo Bezerra. Editora Campus/Elsevier
Princípios de Análise e Projeto de Sistemas com UML 2ª edição Eduardo Bezerra Editora Campus/Elsevier Capítulo 11 Arquitetura do sistema Nada que é visto, é visto de uma vez e por completo. --EUCLIDES
Leia mais3 SCS: Sistema de Componentes de Software
3 SCS: Sistema de Componentes de Software O mecanismo para acompanhamento das chamadas remotas se baseia em informações coletadas durante a execução da aplicação. Para a coleta dessas informações é necessário
Leia maisIntrodução ao Modelos de Duas Camadas Cliente Servidor
Introdução ao Modelos de Duas Camadas Cliente Servidor Desenvolvimento de Sistemas Cliente Servidor Prof. Esp. MBA Heuber G. F. Lima Aula 1 Ciclo de Vida Clássico Aonde estamos? Page 2 Análise O que fizemos
Leia maisProjeto de Arquitetura
Introdução Projeto de Arquitetura (Cap 11 - Sommerville) UNIVERSIDADE FEDERAL DE ALAGOAS Curso de Ciência da Computação Engenharia de Software I Prof. Rômulo Nunes de Oliveira Até agora, estudamos: Os
Leia maisSistemas Distribuídos. Professora: Ana Paula Couto DCC 064
Sistemas Distribuídos Professora: Ana Paula Couto DCC 064 Processos- Clientes, Servidores, Migração Capítulo 3 Agenda Clientes Interfaces de usuário em rede Sistema X Window Software do lado cliente para
Leia maisSISTEMA GERENCIADOR DE BANCO DE DADOS
BANCO DE DADOS Universidade do Estado de Santa Catarina Centro de Ciências Tecnológicas Departamento de Ciência da Computação Prof. Alexandre Veloso de Matos alexandre.matos@udesc.br SISTEMA GERENCIADOR
Leia maisFaculdades Santa Cruz - Inove. Plano de Aula Base: Livro - Distributed Systems Professor: Jean Louis de Oliveira.
Período letivo: 4 Semestre. Quinzena: 5ª. Faculdades Santa Cruz - Inove Plano de Aula Base: Livro - Distributed Systems Professor: Jean Louis de Oliveira. Unidade Curricular Sistemas Distribuídos Processos
Leia maisARQUITETURA DE SISTEMAS. Cleviton Monteiro (cleviton@gmail.com)
ARQUITETURA DE SISTEMAS Cleviton Monteiro (cleviton@gmail.com) Roteiro Definição Documento de arquitetura Modelos de representação da arquitetura Estilos arquiteturais Arquitetura de sistemas web Arquitetura
Leia maisDesenvolvimento 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 2009 Profa. Dra. Itana Gimenes RUP: Artefatos de projeto Modelo de Projeto: Use-Case Realization-projeto
Leia maisHoje é inegável que a sobrevivência das organizações depende de dados precisos e atualizados.
BANCO DE DADOS Universidade do Estado de Santa Catarina Centro de Ciências Tecnológicas Departamento de Ciência da Computação Prof. Alexandre Veloso de Matos alexandre.matos@udesc.br INTRODUÇÃO Hoje é
Leia maisModelos. Comunicação com clientes
Material baseado nas notas de aula: Maria Luiza M. Campos IME/2005 Carlos Heuser - livro Projeto de Banco de Dados CasaNova / PUC/RJ Prof. MSc. Edilberto Silva edilms@yahoo.com Sistemas de Informação Brasília/DF
Leia maisEngenharia de Requisitos
Engenharia de Requisitos Introdução a Engenharia de Requisitos Professor: Ricardo Argenton Ramos Aula 08 Slide 1 Objetivos Introduzir a noção de requisitos do sistema e o processo da engenharia de requisitos.
Leia maisSistemas Distribuídos. Professora: Ana Paula Couto DCC 064
Sistemas Distribuídos Professora: Ana Paula Couto DCC 064 Comunicação- Protocolos, Tipos, RPC Capítulo 4 Agenda Protocolos em Camadas Pilhas de Protocolos em Sistemas Distribuídos Tipos de Comunicação
Leia maisDefinição de Padrões. Padrões Arquiteturais. Padrões Arquiteturais. Arquiteturas de Referência. Da arquitetura a implementação. Elementos de um Padrão
DCC / ICEx / UFMG Definição de Padrões Eduardo Figueiredo http://www.dcc.ufmg.br/~figueiredo Um padrão é uma descrição do problema e a essência da sua solução Documenta boas soluções para problemas recorrentes
Leia maisSistemas Operacionais
Sistemas Operacionais Gerência de processos Controle e descrição de processos Edson Moreno edson.moreno@pucrs.br http://www.inf.pucrs.br/~emoreno Sumário Representação e controle de processos pelo SO Estrutura
Leia maisArquitetura dos Sistemas de Informação Distribuídos
Arquitetura dos Sistemas de Informação Distribuídos Quando se projeta um sistema cuja utilização é destinada a ser feita em ambientes do mundo real, projeções devem ser feitas para que o sistema possa
Leia maisBanco de Dados. Introdução. João Eduardo Ferreira Osvaldo Kotaro Takai. jef@ime.usp.br DCC-IME-USP
Banco de Dados Introdução João Eduardo Ferreira Osvaldo Kotaro Takai jef@ime.usp.br DCC-IME-USP Importância dos Bancos de Dados A competitividade das empresas depende de dados precisos e atualizados. Conforme
Leia maishttp://aurelio.net/vim/vim-basico.txt Entrar neste site/arquivo e estudar esse aplicativo Prof. Ricardo César de Carvalho
vi http://aurelio.net/vim/vim-basico.txt Entrar neste site/arquivo e estudar esse aplicativo Administração de Redes de Computadores Resumo de Serviços em Rede Linux Controlador de Domínio Servidor DNS
Leia maisOn Scalability of Software-Defined Networking
On Scalability of Software-Defined Networking Bruno dos Santos Silva bruno.silva@ic.uff.br Instituto de Computação IC Universidade Federal Fluminense UFF 24 de Setembro de 2015 B. S. Silva (IC-UFF) On
Leia mais1 http://www.google.com
1 Introdução A computação em grade se caracteriza pelo uso de recursos computacionais distribuídos em várias redes. Os diversos nós contribuem com capacidade de processamento, armazenamento de dados ou
Leia maisConceitos de Banco de Dados
Conceitos de Banco de Dados Autor: Luiz Antonio Junior 1 INTRODUÇÃO Objetivos Introduzir conceitos básicos de Modelo de dados Introduzir conceitos básicos de Banco de dados Capacitar o aluno a construir
Leia maisGBC043 Sistemas de Banco de Dados. Introdução. Ilmério Reis da Silva ilmerio@facom.ufu.br www.facom.ufu.br/~ilmerio/sbd UFU/FACOM
GBC043 Sistemas de Banco de Dados Introdução Ilmério Reis da Silva ilmerio@facom.ufu.br www.facom.ufu.br/~ilmerio/sbd UFU/FACOM Página 2 Definição BD Def. Banco de Dados é uma coleção de itens de dados
Leia maisProf. Marcelo Machado Cunha www.marcelomachado.com mcelobr@yahoo.com.br
Prof. Marcelo Machado Cunha www.marcelomachado.com mcelobr@yahoo.com.br Ementa Introdução a Banco de Dados (Conceito, propriedades), Arquivos de dados x Bancos de dados, Profissionais de Banco de dados,
Leia maisUFF-Fundamentos de Sistemas Multimídia. Redes de Distribuição de Conteúdo (CDN)
Redes de Distribuição de Conteúdo (CDN) Objetivos da Apresentação Apresentar as arquiteturas de Redes de Distribuição de Conteúdo (CDN) com a ilustração de aplicações em ambientes corporativos e residenciais.
Leia mais2 Diagrama de Caso de Uso
Unified Modeling Language (UML) Universidade Federal do Maranhão UFMA Pós Graduação de Engenharia de Eletricidade Grupo de Computação Assunto: Diagrama de Caso de Uso (Use Case) Autoria:Aristófanes Corrêa
Leia maisUNIVERSIDADE FEDERAL DE SANTA MARIA CENTRO DE TECNOLOGIA AULA 14 PROFª BRUNO CALEGARO
UNIVERSIDADE FEDERAL DE SANTA MARIA CENTRO DE TECNOLOGIA AULA 14 PROFª BRUNO CALEGARO Santa Maria, 01 de Novembro de 2013. Revisão aula passada Projeto de Arquitetura Decisões de projeto de Arquitetura
Leia maisAPOO Análise e Projeto Orientado a Objetos. Requisitos
+ APOO Análise e Projeto Orientado a Objetos Requisitos Requisitos 2 n Segundo Larman: n São capacidades e condições às quais o sistema e em termos mais amplos, o projeto deve atender n Não são apenas
Leia maisSistemas Operacionais
Sistemas Operacionais Aula 6 Estrutura de Sistemas Operacionais Prof.: Edilberto M. Silva http://www.edilms.eti.br Baseado no material disponibilizado por: SO - Prof. Edilberto Silva Prof. José Juan Espantoso
Leia maisBANCO DE DADOS DISTRIBUÍDOS e DATAWAREHOUSING
BANCO DE DADOS DISTRIBUÍDOS e DATAWAREHOUSING http://www.uniriotec.br/~tanaka/tin0036 tanaka@uniriotec.br Bancos de Dados Distribuídos Conceitos e Arquitetura Vantagens das Arquiteturas C/S (em relação
Leia maisAnálise e Projeto Orientados a Objetos Aula IV Requisitos. Prof.: Bruno E. G. Gomes IFRN
Análise e Projeto Orientados a Objetos Aula IV Requisitos Prof.: Bruno E. G. Gomes IFRN 1 Introdução Etapa relacionada a descoberta e descrição das funcionalidades do sistema Parte significativa da fase
Leia maisAlta Disponibilidade na IPBRICK
Alta Disponibilidade na IPBRICK IPBRICK International 5 de Dezembro de 2012 1 Conteúdo 1 Introdução 3 1.1 Vantagens.................................... 3 2 Requisitos HA 4 3 Configuração HA 4 3.1 Serviço
Leia maisBanco de Dados Aula 1 Introdução a Banco de Dados Introdução Sistema Gerenciador de Banco de Dados
Banco de Dados Aula 1 Introdução a Banco de Dados Introdução Um Sistema Gerenciador de Banco de Dados (SGBD) é constituído por um conjunto de dados associados a um conjunto de programas para acesso a esses
Leia maisSistemas Distribuídos Arquitetura de Sistemas Distribuídos Aula II Prof. Rosemary Silveira F. Melo Arquitetura de Sistemas Distribuídos Conceito de Arquitetura de Software Principais elementos arquiteturais
Leia maisManual do Ambiente Moodle para Professores
UNIVERSIDADE FEDERAL DA FRONTEIRA SUL Manual do Ambiente Moodle para Professores Tarefas Versão 1.0b Setembro/2011 Direitos Autorais: Essa apostila está licenciada sob uma Licença Creative Commons 3.0
Leia maisCategorias de Padrões
Categorias de Padrões Padrão Arquitetural ou Estilo Arquitetural Padrão de Design (Design Patterns) Idiomas Categorias de Padrões ESTILOS ARQUITETURAIS PADRÕES DE DESIGN IDIOMAS Padrões de Design Os subsistemas
Leia maisMÓDULO 11 ELEMENTOS QUE FAZEM PARTE DO PROJETO DO SISTEMA
MÓDULO 11 ELEMENTOS QUE FAZEM PARTE DO PROJETO DO SISTEMA Através dos elementos que fazem parte do projeto do sistema é que podemos determinar quais as partes do sistema que serão atribuídas às quais tipos
Leia maisSoftwares Aplicativos Banco de Dados
Softwares Aplicativos Banco de Dados INTRODUÇÃO À ENGENHARIA DA COMPUTAÇÃO Professor: Rosalvo Ferreira de Oliveira Neto Estrutura 1. Definições 2. Serviços 3. Usuários 4. Evolução 5. Exemplos 03 Banco
Leia maisFirewalls. Firewalls
Firewalls Firewalls Paredes Corta-Fogo Regula o Fluxo de Tráfego entre as redes Pacote1 INTERNET Pacote2 INTERNET Pacote3 Firewalls Firewalls Barreira de Comunicação entre duas redes Host, roteador, PC
Leia maisModelos de Arquiteturas. Prof. Andrêza Leite andreza.lba@gmail.com
Modelos de Arquiteturas Prof. Andrêza Leite andreza.lba@gmail.com Agenda Introdução Arquitetura de Sistemas Distribuídos Clientes e Servidores Peer-to-Peer Variações Vários Servidores Proxy Código Móvel
Leia maisProfessor: Macêdo Firmino Disciplina: Sistemas Operacionais de Rede
Professor: Macêdo Firmino Disciplina: Sistemas Operacionais de Rede O sistema de nome de domínio (DNS) é um sistema que nomeia computadores e serviços de rede e é organizado em uma hierarquia de domínios.
Leia mais5 Estudo de caso: utilizando o sistema para requisição de material
61 5 Estudo de caso: utilizando o sistema para requisição de material A fim de avaliar as características da arquitetura proposta e a corretude da implementação, realizamos experiências com cenários de
Leia maisBanco de Dados I. Apresentação (mini-currículo) Conceitos. Disciplina Banco de Dados. Cont... Cont... Edson Thizon (edson@esucri.com.
Sistemas da Informação Banco de Dados I Edson Thizon (edson@esucri.com.br) 2008 Apresentação (mini-currículo) Formação Acadêmica Mestrando em Ciência da Computação (UFSC/ ) Créditos Concluídos. Bacharel
Leia maisDocumento de Análise e Projeto VideoSystem
Documento de Análise e Projeto VideoSystem Versão Data Versão Descrição Autor 20/10/2009 1.0 21/10/2009 1.0 05/11/2009 1.1 Definição inicial do documento de análise e projeto Revisão do documento
Leia maisDisciplina de Banco de Dados Introdução
Disciplina de Banco de Dados Introdução Prof. Elisa Maria Pivetta CAFW - UFSM Banco de Dados: Conceitos A empresa JJ. Gomes tem uma lista com mais ou menos 4.000 nomes de clientes bem como seus dados pessoais.
Leia maisTópicos de Ambiente Web. Modulo 2 Processo de desenvolvimento de um site Professora: Sheila Cáceres
Tópicos de Ambiente Web Modulo 2 Processo de desenvolvimento de um site Professora: Sheila Cáceres Roteiro Motivação Desenvolvimento de um site Etapas no desenvolvimento de software (software:site) Analise
Leia maisService Oriented Architecture (SOA)
São Paulo, 2011 Universidade Paulista (UNIP) Service Oriented Architecture (SOA) Prof. MSc. Vladimir Camelo vladimir.professor@gmail.com 04/09/11 vladimir.professor@gmail.com 1 04/09/11 vladimir.professor@gmail.com
Leia maisConteúdo. Disciplina: INF 02810 Engenharia de Software. Monalessa Perini Barcellos. Centro Tecnológico. Universidade Federal do Espírito Santo
Universidade Federal do Espírito Santo Centro Tecnológico Departamento de Informática Disciplina: INF 02810 Prof.: (monalessa@inf.ufes.br) Conteúdo 1. Introdução 2. Processo de Software 3. Gerência de
Leia maisDado: Fatos conhecidos que podem ser registrados e têm um significado implícito. Banco de Dados:
MC536 Introdução Sumário Conceitos preliminares Funcionalidades Características principais Usuários Vantagens do uso de BDs Tendências mais recentes em SGBDs Algumas desvantagens Modelos de dados Classificação
Leia maisWeb Services. (Introdução)
Web Services (Introdução) Agenda Introdução SOA (Service Oriented Architecture) Web Services Arquitetura XML SOAP WSDL UDDI Conclusão Introdução Comunicação distribuída Estratégias que permitem a comunicação
Leia mais04/08/2012 MODELAGEM DE DADOS. PROF. RAFAEL DIAS RIBEIRO, M.Sc. @ribeirord MODELAGEM DE DADOS. Aula 2. Prof. Rafael Dias Ribeiro. M.Sc.
MODELAGEM DE DADOS PROF. RAFAEL DIAS RIBEIRO, M.Sc. @ribeirord MODELAGEM DE DADOS Aula 2 Prof. Rafael Dias Ribeiro. M.Sc. @ribeirord 1 Objetivos: Revisão sobre Banco de Dados e SGBDs Aprender as principais
Leia maisSistemas Distribuídos Capítulos 3 e 4 - Aula 4
Sistemas Distribuídos Capítulos 3 e 4 - Aula 4 Aula passada Threads Threads em SDs Processos Clientes Processos Servidores Aula de hoje Clusters de Servidores Migração de Código Comunicação (Cap. 4) Fundamentos
Leia maisQuarta-feira, 09 de janeiro de 2008
Quarta-feira, 09 de janeiro de 2008 ÍNDICE 3 4 RECOMENDAÇÕES DE HARDWARE PARA O TRACEGP TRACEMONITOR - ATUALIZAÇÃO E VALIDAÇÃO DE LICENÇAS 2 1. Recomendações de Hardware para Instalação do TraceGP Este
Leia maisGerenciador de Log. Documento Visão. Projeto Integrador 2015/2. Engenharia de Software. Versão 2.0. Engenharia de Software
Documento Visão e Documento Suplementar Gerenciador de Log Documento Visão Versão 2.0 1 Índice 1. Histórico de Revisões...3 2. Objetivo do Documento...4 3. Sobre o Problema...4 4. Sobre o produto...4 4.1.
Leia maisINE5380 - Sistemas Distribuídos
INE5380 - Sistemas Distribuídos Object Request Broker e CORBA Por: Léo Willian Kölln - 0513227-4 Novembro de 2006 ORB Object Request Broker ORB aqui será tratado como um Middleware que permite a construção
Leia maisMódulo 4: Gerenciamento de Dados
Módulo 4: Gerenciamento de Dados 1 1. CONCEITOS Os dados são um recurso organizacional decisivo que precisa ser administrado como outros importantes ativos das empresas. A maioria das organizações não
Leia maisMÓDULO 7 Modelo OSI. 7.1 Serviços Versus Protocolos
MÓDULO 7 Modelo OSI A maioria das redes são organizadas como pilhas ou níveis de camadas, umas sobre as outras, sendo feito com o intuito de reduzir a complexidade do projeto da rede. O objetivo de cada
Leia mais4 O Workflow e a Máquina de Regras
4 O Workflow e a Máquina de Regras O objetivo do workflow e da máquina de regras é definir um conjunto de passos e regras configuráveis. Ao longo de sua execução, um usuário consegue simplificar o seu
Leia maisSistemas Distribuídos
Sistemas Distribuídos Comunicação Remota Gustavo Reis gustavo.reis@ifsudestemg.edu.br 1 Comunicação entre processos está no coração de todo sistema distribuído. Não tem sentido estudar sistemas distribuídos
Leia maisBanco de Dados. Uma coleção de dados relacionados [ELMASRI/NAVATHE]
1/6 Banco de Dados O que é um Banco de Dados? Uma coleção de dados relacionados [ELMASRI/NAVATHE] Conjunto de dados integrados que tem por objetivo atender a uma comunidade específica [HEUSER] Um conjunto
Leia maisAprenda as melhores práticas para construir um completo sistema de teste automatizado
Aprenda as melhores práticas para construir um completo sistema de teste automatizado Renan Azevedo Engenheiro de Produto de Teste e Medição -Américas Aprenda as melhores práticas para construir um completo
Leia maisIFPE. Disciplina: Sistemas Operacionais. Prof. Anderson Luiz Moreira
IFPE Disciplina: Sistemas Operacionais Prof. Anderson Luiz Moreira SERVIÇOS OFERECIDOS PELOS SOS 1 Introdução O SO é formado por um conjunto de rotinas (procedimentos) que oferecem serviços aos usuários
Leia maisO que é Gerenciamento de Redes de Computadores? A gerência de redes de computadores consiste no desenvolvimento, integração e coordenação do
O que é Gerenciamento de Redes de Computadores? A gerência de redes de computadores consiste no desenvolvimento, integração e coordenação do hardware, software e usuários para monitorar, configurar, analisar,
Leia maisSistemas Distribuídos Arquitetura de Sistemas Distribuídos I. Prof. MSc. Hugo Souza
Sistemas Distribuídos Arquitetura de Sistemas Distribuídos I Prof. MSc. Hugo Souza Como já vimos, os sistemas distribuídos são apresentados considerando um planejamento bem mais complexo relacionado aos
Leia maisComparativo de desempenho do Pervasive PSQL v11
Comparativo de desempenho do Pervasive PSQL v11 Um artigo Pervasive PSQL Setembro de 2010 Conteúdo Resumo executivo... 3 O impacto das novas arquiteturas de hardware nos aplicativos... 3 O projeto do Pervasive
Leia maisSegurança em Computadores. GTI SEDU atendimento@sedu.es.gov.br
Segurança em Computadores GTI SEDU atendimento@sedu.es.gov.br Agenda Computadores Riscos principais Cuidados a serem tomados Créditos Computadores (1/4) Computador pessoal grande quantidade de dados armazenados
Leia maisEngenharia de Requisitos Estudo de Caso
Engenharia de Requisitos Estudo de Caso Auxiliadora Freire Fonte: Engenharia de Software 8º Edição / Ian Sommerville 2007 Slide 1 Engenharia de Requisitos Exemplo 1 Reserva de Hotel 1. INTRODUÇÃO Este
Leia maisProva de Conhecimento para Consultores de Implementação MPS.BR INSTRUÇÕES
Implementação MPS.BR 26 de maio de 2008 4 horas de duração e-mail: (DEIXAR EM BRANCO) RESULTADO: Q1 Q2 Q3 Q4 Q5 Q6 Q7 Q8 Q9 Q10 Nota INSTRUÇÕES Para a maioria das questões você tem mais de uma opção e
Leia maisISO/IEC 12207: Gerência de Configuração
ISO/IEC 12207: Gerência de Configuração Durante o processo de desenvolvimento de um software, é produzida uma grande quantidade de itens de informação que podem ser alterados durante o processo Para que
Leia maisSistemas Distribuídos
Sistemas Distribuídos Aula 3 Msc. Daniele Carvalho Oliveira Doutoranda em Ciência da Computação - UFU Mestre em Ciência da Computação UFU Bacharel em Ciência da Computação - UFJF Processos Um processo
Leia maisIntrodução Banco de Dados
Introdução Banco de Dados Vitor Valerio de Souza Campos Adaptado de Vania Bogorny Por que estudar BD? Os Bancos de Dados fazem parte do nosso dia-a-dia: operação bancária reserva de hotel matrícula em
Leia maisSetores Trilhas. Espaço entre setores Espaço entre trilhas
Memória Externa Disco Magnético O disco magnético é constituído de um prato circular de metal ou plástico, coberto com um material que poder magnetizado. Os dados são gravados e posteriormente lidos do
Leia maisSistemas Distribuídos
1 de 9 Sistemas Distribuídos O que é um sistema distribuído? Um conjunto de computadores autonomos a) interligados por rede b) usando um software para produzir uma facilidade de computação integrada. Qual
Leia maisMVC e Camadas - Fragmental Bliki
1 de 5 20-03-2012 18:32 MVC e Camadas From Fragmental Bliki Conteúdo 1 Introdução 2 Camadas: Separação Entre Componentes 3 MVC: Interação Entre Componentes 4 Conclusão 5 Referências Introdução A Arquitetura
Leia mais3 SERVIÇOS IP. 3.1 Serviços IP e alguns aspectos de segurança
3 SERVIÇOS IP 3.1 Serviços IP e alguns aspectos de segurança Os serviços IP's são suscetíveis a uma variedade de possíveis ataques, desde ataques passivos (como espionagem) até ataques ativos (como a impossibilidade
Leia maisSistemas Distribuídos. Professora: Ana Paula Couto DCC 064
Sistemas Distribuídos Professora: Ana Paula Couto DCC 064 Questões Em uma rede de sobreposição (overlay), mensagens são roteadas de acordo com a topologia da sobreposição. Qual uma importante desvantagem
Leia maisSistemas Distribuídos
Sistemas Distribuídos Soquetes Um soquete é formado por um endereço IP concatenado com um número de porta. Em geral, os soquetes utilizam uma arquitetura cliente-servidor. O servidor espera por pedidos
Leia maisTOTVS Série 1 Varejo (Simples) - Módulo e-commerce
Novo Módulo disponível no TOTVS S1 Varejo: permissão de utilização através de licença específica. Mesmo não adquirindo a licença de uso do módulo ele continuará presente na tela do usuário. 1 Na opção
Leia maisSISTEMAS DISTRIBUIDOS
1 2 Caracterização de Sistemas Distribuídos: Os sistemas distribuídos estão em toda parte. A Internet permite que usuários de todo o mundo acessem seus serviços onde quer que possam estar. Cada organização
Leia maisSistemas Distribuídos Comunicação entre Processos em Sistemas Distribuídos: Middleware de comunicação Aula II Prof. Rosemary Silveira F. Melo Comunicação em sistemas distribuídos é um ponto fundamental
Leia maisGuia de Especificação de Caso de Uso Metodologia CELEPAR
Guia de Especificação de Caso de Uso Metodologia CELEPAR Agosto 2009 Sumário de Informações do Documento Documento: guiaespecificacaocasouso.odt Número de páginas: 10 Versão Data Mudanças Autor 1.0 09/10/2007
Leia maisUniversidade Federal Rural de Pernambuco. Bacharelado em Sistemas de Informação. Disciplina: Análise e Projeto de Sistemas de Informação
Universidade Federal Rural de Pernambuco Bacharelado em Sistemas de Informação Disciplina: Análise e Projeto de Sistemas de Informação Docente: Rodrigo Aluna: Thays Melo de Moraes Diagramas do Projeto
Leia maisCurso de Aprendizado Industrial Desenvolvedor WEB
Curso de Aprendizado Industrial Desenvolvedor WEB Disciplina: Programação Orientada a Objetos II Professor: Cheli dos S. Mendes da Costa Modelo Cliente- Servidor Modelo de Aplicação Cliente-servidor Os
Leia mais