Repositórios 2. Sistemas de controle de versionamento. Allan C. Trevisan PET-COCE
|
|
- Bárbara Alencar Leal
- 5 Há anos
- Visualizações:
Transcrição
1 Repositórios 2 Sistemas de controle de versionamento Allan C. Trevisan PET-COCE
2 Introdução Muitos problemas de desenvolvimento de software são causados por falta de controle de versão. Algumas questões que valem a pena serem respondidas :
3 Introdução Alguém já sobrescreveu o código de outra pessoa por acidente e acabou perdendo as alterações? Tem dificuldades em saber quais as alterações efetuadas em um programa, quando foram feitas e quem fez? Tem dificuldade em recuperar o código de uma versão anterior que está em produção? Tem problemas em manter variações do sistema ao mesmo tempo?
4 Introdução Esta apresentação pretende responder as seguintes perguntas : 1. Para que serve um sistema de controle de versão? 2. Como funciona o controle de versão? 3. Quais as semelhanças e diferenças entre o modelo centralizado e o distribuído? 4. Em que casos um tipo é melhor que outro?
5 Introdução Quando se fala em sistemas de controle de versão, version control systems (VCS' s), alguns termos podem ser usados de maneira intercambiável : revision control systems (RCS), software configuration management, source code management (SCM) or source code control
6 Para que Serve o Controle de Versão? O Controle de versão apoia o desenvolvimento de diversas maneiras: Histórico. Registra toda a evolução do projeto, cada alteração sobre cada arquivo. Com essas informações sabe-se quem fez o que, quando e onde. Além disso, permite reconstruir uma revisão específica do arquivo sempre que desejado; Colaboração. O controle de versão possibilita que vários desenvolvedores trabalhem em paralelo sobre os mesmo arquivos sem que um sobrescreva o código de outro, o que traria reaparecimento de defeitos e perda de funcionalidades; Variações no Projeto. Mantém linhas diferentes de evolução do mesmo projeto. Por exemplo, mantendo uma versão 1.0 enquanto a equipe prepara uma versão 2.0.
7 Para que Serve o Controle de Versão? Enfim, controle de versão é fundamental para o desenvolvimento de software. Todos os ambientes de desenvolvimento modernos, tais como o Eclipse e o NetBeans, já possuem plugins para integração com algum sistema de controle de versão.
8 Como Funciona o Controle de Versão? O desenvolvedor não trabalha diretamente nos arquivos do repositório. Ao invés disso, usa uma área/cópia de trabalho que contém a cópia dos arquivos do projeto e que é monitorada para identificar as mudanças realizadas. Essa área é individual e isolada das demais áreas de trabalho. A sincronização entre a área de trabalho e o repositório é feita através dos comandos de commit e update. Tanto o controle de versão centralizado quanto o distribuído possuem repositórios e áreas de trabalho. A diferença está em como cada uma dessas partes está arranjada.
9 Como Funciona o Controle de Versão?
10 Controle de Versão Centralizado No controle de versão centralizado há um único repositório e várias cópias de trabalho que se comunicam apenas através do repositório central. A cópia de trabalho não inclui nenhuma história
11 Controle de Versão Centralizado
12 Controle de Versão Centralizado Ex : CVS, SVN Uma revisão precisa de uma identificação única. No controle de versão centralizado, cada revisão produzida recebe um número inteiro sequencial: 1, 2, 3... Como só existe um repositório, a numeração de revisão é a mesma para todos os desenvolvedores.
13 Controle de Versão Centralizado Uma revisão consiste de um arquivo e alguns metadados (log) As mudanças entre uma versão e outra são chamadas de diff ou delta A rede é um gargalo Trunk, branch tagging
14 Questões de concorrência Abordagem pessimista : lock-modify-unlock Abordagem otimista : copy-modify-merge
15 Sincronização no Controle de Versão Centralizado
16 Sincronização no Controle de Versão Centralizado
17 Sincronização no Controle de Versão Centralizado
18 Sincronização no Controle de Versão Centralizado
19 Sincronização no Controle de Versão Centralizado
20 Sincronização no Controle de Versão Centralizado
21 Controle de Versão Distribuído No controle de versão distribuído cada desenvolvedor possui um repositório próprio acoplado a uma área de trabalho. A comunicação entre eles continua sendo através de commit e update.
22 Controle de Versão Distribuído
23 Controle de Versão Distribuído Um repositório pode se comunicar com qualquer outro através de duas operações básicas: pull e push: Pull (Puxar). Atualiza o repositório local (destino) com todas as alterações feitas em outro repositório (origem). Push (Empurrar). Envia as alterações do repositório local (origem) para um outro repositório (destino). Não há necessidade de uma topologia pré-definida
24 Controle de Versão Distribuído
25 Controle de Versão Distribuído A sincronização entre os desenvolvedores acontece de repositório a repositório e não existe, em princípio, um repositório mais importante que o outro, embora o papel de um repositório central possa ser usado para convencionar o fluxo de trabalho.
26 Controle de Versão Distribuído No sistema distribuído, os repositórios são autônomos e portanto não há como definir uma numeração sequencial compartilhada para todos. A solução é identificar cada revisão com uma numeração que nunca se repita em qualquer outro repositório. A forma mais usada é através de um hash SHA-1, que produz um número de 160 bits (40 dígitos na forma hexadecimal). Esse um número é tão grande e específico que torna extremamente improvável a colisão com um hash produzido por outro repositório.
27 Controle de Versão Distribuído
28 Sincronização no Controle de Versão Distribuído
29 Sincronização no Controle de Versão Distribuído
30 Sincronização no Controle de Versão Distribuído
31 Sincronização no Controle de Versão Distribuído
32 Sincronização no Controle de Versão Distribuído
33 Sincronização no Controle de Versão Distribuído
34 Diferentes versões de projeto
35 Benefícios do Controle de Versão Distribuído Do ponto de vista do desenvolvedor : Rapidez. As operações são processadas localmente. Não é necessário passar pela rede e contatar o servidor central para fazer um commit, log ou diff por exemplo. Autonomia. A conexão com a rede só é necessária para trocar revisões com outros repositórios. Fora isso, trabalha-se desconectado e em qualquer lugar, como num cliente por exemplo. Ramos privativos. Além de um repositório próprio, o trabalho local é feito em um ramo privativo que não interfere, nem sofre interferência dos demais, mesmo nas operações de sincronização entre repositórios. O momento de combinar um ramo com outro é uma decisão do desenvolvedor e não obrigatório antes de cada commit, como acontece no centralizado. Facilidade de Mesclagem. Só a facilidade de criação de ramos não seria suficiente se não fosse o rastreamento automático usado pelos DVCS, que torna o processo de mesclagem muito mais simples e indolor. Observação: No Subversion, o rastreamento automático de merges começou a partir da versão 1.5
36 Benefícios do Controle de Versão Distribuído Do ponto de vista da gerência/coordenação : Confiabilidade. No sistema centralizado, uma pane no servidor interrompe todo o desenvolvimento. Já no sistema distribuído, além de a equipe poder continuar seu trabalho os repositórios dos desenvolvedores funcionam como cópias de backup de todo o projeto. Redução de custos com servidor. A carga de processamento fica distribuída nas próprias máquinas dos desenvolvedores. O repositório central, quando existe, tem o papel do repositório oficial e não como processador central das requisições.
37 Em que situações o DVCS não vai tão bem? Maior complexidade
38 Em que situações o DVCS não vai tão bem?
39 Em que situações o DVCS não vai tão bem? Ao contrário do centralizado, não adianta só commit e update para funcionar no tranco. Todos os desenvolvedores da equipe precisam ter um conhecimento maior do modelo, da ferramenta e, de preferência, também de um processo de desenvolvimento que padronize fluxos de trabalho a serem seguidos. Só assim, o grafo acima deixa de ser apenas um emaranhado e passa a representar muito claramente o fluxo do trabalho.
40 Em que situações o DVCS não vai tão bem? Travamento de arquivos binários precisa ser centralizado : O modelo puramente distribuído não é adequado para lidar com travamento justamente por não possuir um servidor central que possa controlar as travas de todos.
41 Em que situações o DVCS não vai tão bem?
42 Em que situações o DVCS não vai tão bem?
43 Em que situações o DVCS não vai tão bem? Controle de mudança ainda é centralizado : As ferramentas de controle de mudança (e.g. Trac, Redmine, Mantis, Bugzilla) ainda não acompanharam as de controle de versão na arquitetura peer-to-peer.
44 Referencias [1] Version Control Systems, Stefan Otte, Computer Systems and Telematics, Institute of Computer Science, Freie Universitat, Berlin Germany [2] Collaboration Tools for Global Software Engineering, Filippo Lanubile, Christof Ebert, Rafael Prikladnicki, and Aurora Vizcaíno [3] Engenharia de Software para Software Livre, Cesar Augusto de Azambuja Brod, Joice Käfer [4] acessado em 3/06/11 [5] acessado em 5/06/11
Um sistema de controle de versão tem a finalidade de gerenciar diferentes versões de um artefato.
O que é? Um sistema de controle de versão tem a finalidade de gerenciar diferentes versões de um artefato. Com isso ele oferece uma maneira muito mais inteligente e eficaz de organizar projetos, pois é
Leia maisGerência de Configuração: Terminologia. Leonardo Gresta Paulino Murta
Gerência de Configuração: Terminologia Leonardo Gresta Paulino Murta leomurta@ic.uff.br Item de configuração Agregação de hardware e/ou software que será passível de gerência de configuração e tratado
Leia maisObjetivo. Introdução; História; Conceito; SVN; Instalação; Prática através de exercícios.
Tema Subversion Objetivo Introdução; História; Conceito; SVN; Instalação; Prática através de exercícios. Introdução É um sistema de controle de versão e revisão, distribuído entre os que utilizam desta
Leia maisUma Introdução aos Sistemas de Controle de Versão Distribuídos. Leonardo Gresta Paulino Murta
Uma Introdução aos Sistemas de Controle de Versão Distribuídos Leonardo Gresta Paulino Murta leomurta@ic.uff.br Versionamento Agenda Sistemas de Controle de Versão Formas de adoção de Sistemas de Controle
Leia maisGit. Leonardo Gresta Paulino Murta
Git Leonardo Gresta Paulino Murta leomurta@ic.uff.br O que é versionado? Elemento FS Diretório Arquivo Arquivo Binário Arquivo Texto Linha Leonardo Murta Git 2 Como é versionado? Commit Autor Committer
Leia maisDaves Marcio Silva Martins Mestre em Computação de Alto Desempenho - UFRJ.
Daves Marcio Silva Martins Mestre em Computação de Alto Desempenho - UFRJ davesmartins@yahoo.com.br Conteúdo Introdução Conceitos do Controle de Versão Trabalhando com Subversion Prática Introdução Motivação
Leia maisControle de Versão. Prof. Msc. Bruno Urbano Rodrigues. bruno@urbano.eti.br
Controle de Versão Prof. Msc. Bruno Urbano Rodrigues bruno@urbano.eti.br Apresentação - Docente Mestre em Ciência da Computação na Universidade Federal de Goiás. Especialista em Gestão de Software pela
Leia maisGit. Bruno de Pinho Sche.no
Git Bruno de Pinho Sche.no bsche.no@id.uff.br Histórico Desenvolvido para apoiar o projeto do kernel do Linux De 1991 até 2002 as mudanças no código eram passadas através de troca de arquivos De 2002 a
Leia maisDesenvolvimento de so-ware com Git. Leonardo Gresta Paulino Murta
Desenvolvimento de so-ware com Git Leonardo Gresta Paulino Murta leomurta@ic.uff.br Versionamento Agenda Sistemas de Controle de Versão Formas de adoção de Sistemas de Controle de Versão Distribuídos Git
Leia maisGerência de Configuração: Terminologia. Leonardo Gresta Paulino Murta
Gerência de Configuração: Terminologia Leonardo Gresta Paulino Murta leomurta@ic.uff.br Item de configuração Agregação de hardware e/ou software que será passível de gerência de configuração e tratado
Leia maisEngenharia de Software. Prof. Raquel Silveira
Engenharia de Software Prof. Raquel Silveira MOTIVAÇÃO Você já perdeu alguma versão anterior do arquivo do projeto? Já teve problemas em manter diferentes versões do sistema rodando ao mesmo tempo? Alguém
Leia maisUNIVERSIDADE FEDERAL DO PARANÁ - UFPR Bacharelado em Ciência da Computação
SOFT DISCIPLINA: Engenharia de Software AULA NÚMERO: 20 DATA: / / PROFESSOR: Andrey APRESENTAÇÃO O objetivo desta aula é apresentar e discutir conceitos relacionados a Gestão de configuração e Engenharia
Leia maisGIT Controlo de versões
Universidade Portucalense Engenharia de Software ES01 2013-2014 1 Universidade Portucalense Engenharia de Software ES01 2013-2014 1 GIT Controlo de versões O GIT tem duas vantagens essenciais: Faz o controlo
Leia maisControle de Versão de Software. Luiz Jácome Júnior
Controle de Versão de Software Luiz Jácome Júnior Motivação Alguém já sobrescreveu o código de outra pessoa por acidente e acabou perdendo as alterações? Tem dificuldades em saber quais as alterações efetuadas
Leia maisVersionamento de Código. Núcleo de Desenvolvimento de Software
Versionamento de Código Núcleo de Desenvolvimento de Software Por quê? Facilidades de utilizar um sistema de versionamento de código. Várias versões Quando se salva uma nova versão de um arquivo, a versão
Leia maisCVS Concurrent Versions System
Universidade Federal do Pará Centro de Ciências Exatas e Naturais Departamento de Informática Laboratório de Engenharia de Software Projeto LABES PROINT Coordenador: Prof. Rodrigo Quites Reis Bolsista:
Leia maisControle de Versão com GIT
Controle de Versão com GIT Túlio Toffolo tulio@toffolo.com.br http://www.toffolo.com.br Conteúdo Extra Algoritmos e Estruturas de Dados História do GIT Linus usa BitKeeper para gerenciar o código de suas
Leia maisIntrodução à Gerência de Configuração. Leonardo Gresta Paulino Murta
Introdução à Gerência de Configuração Leonardo Gresta Paulino Murta leomurta@ic.uff.br Introdução A Engenharia de Software... Abordagem disciplinada para o desenvolvimento de software Grande diversidade
Leia maisGerência de Configuração. Professor: Dr. Eduardo Santana de Almeida Universidade Federal da Bahia esa@dcc.ufba.br
Gerência de Configuração Professor: Dr. Eduardo Santana de Almeida Universidade Federal da Bahia esa@dcc.ufba.br Introdução Mudanças durante o desenvolvimento de software são inevitáveis: os interesses
Leia maisArquiteturas. Capítulo 2
Arquiteturas Capítulo 2 Agenda Estilos Arquitetônicos Arquiteturas de Sistemas Arquiteturas Centralizadas Arquiteturas Descentralizadas Arquiteturas Híbridas Arquiteturas e Middleware Sistemas Distribuídos
Leia maisControlo de versões com GIT
Controlo de versões com GIT Controlo de versões é um sistema que grava mudanças a um ficheiro ou conjunto de ficheiros, ao longo do tempo, de modo a que possam ser invocadas versões específicas mais tarde.
Leia mais2. GERÊNCIA DE CONFIGURAÇÃO DE SOTWARE
1. INTRODUÇÃO Constata se, atualmente, que organizações voltadas ao desenvolvimento de software, buscam alavancar seus níveis de competitividade, uma vez que o mercado de desenvolvimento de software apresenta
Leia maisControle de Versão com CVS
Controle de Versão com CVS Danilo Toshiaki Sato www.dtsato.com Treinamento ALESP SPL Agenda 1. Introdução 2. Conceitos Importantes 3. Operações mais comuns - Eclipse 4. Processo de Liberação SPL 5. Conclusão
Leia maisGerência de Configuração de Software Funções
Universidade Estadual de Maringá Departamento de Informática Ciência da Computação Processo de Engenharia de Software II Gerência de Configuração de Software Funções Rafael Leonardo Vivian {rlvivian.uem
Leia maisControle de Versões com o Git
Controle de Versões com o Git #gitday - 10/09/2011 Slides por Tiago "Myhro" Ilieve O que é versionamento de código? É manter diversas versões dos seus arquivos, de forma que você possa acessar o conteúdo
Leia maisControle de versão e fluxo de trabalho em projetos de desenvolvimento de software
Controle de versão e fluxo de trabalho em projetos de desenvolvimento de software Doutorado Multi-Institucional em Ciência da Computação UFBA UNIFACS UEFS terceiro@dcc.ufba.br 8 de novembro de 2008 Termos
Leia maisSistema de Controle de Versão - CVS
- CVS Adailton Magalhães Lima adailton@webapsee.com Não há nada permanente exceto a modificação. Heráclitos 500 a.c. Adaptado de ESTUDO E PROPOSTA DE MODELOS DE PROCESSO DE SOFTWARE PARA O LABORATÓRIO
Leia maisSistemas Distribuídos
Faculdades SENAC Análise e Desenvolvimento de Sistemas 23 de fevereiro de 2011 Histórico Anos 50 - Sistemas Operacionais tipo Lote Aumentar a capacidade de processamento de programas Usuário ia ao computador
Leia maisSistemas Distribuídos
Caracterização de Faculdades SENAC Análise e Desenvolvimento de Sistemas 24 de fevereiro de 2010 Caracterização de Histórico Anos 50 - Sistemas Operacionais tipo Lote Aumentar a capacidade de processamento
Leia maisEstilos 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 maisCaracterização de Sistemas Distribuídos
Caracterização de Sistemas Distribuídos Roteiro Conceitos de Hardware Conceitos de Software Classificação de Flynn Classificação baseada no acesso a memória 2 Conceitos de HW Múltiplas CPUs Diferentes
Leia maisSistemas Distribuídos. Aleardo Manacero Jr.
Sistemas Distribuídos Aleardo Manacero Jr. Sistema de arquivos distribuídos Na ótica de sistemas distribuídos o tratamento de sistemas de arquivos deve: Considerar a possibilidade de distribuição das informações,
Leia maisIntrodução ao Git. Laboratório de Programação. Pedro Vasconcelos, Manuel Barbosa, DCC/FCUP. Fevereiro 2016
Introdução ao Git Laboratório de Programação Pedro Vasconcelos, Manuel Barbosa, DCC/FCUP Fevereiro 2016 Controlo de Versões Controlo de Versões Um sistema de controlo de versões (VCS) é uma ferramenta
Leia maisSubversion Ferramentas Cliente
Revisão 0 Pág. 1/31 Histórico de Revisões Revisão Autor Data Histórico 0 Eric Lemes 05/06/2006 Criação do documento. 1 Cláudio Alves 27/11/2006 Inclusão dos tópicos: Conceitos básicos de controle de versão
Leia maisComputação Distribuída
Aula 1 Introdução aos Sistemas Distribuídos Anos 50 - Sistemas Operacionais tipo Lote Aumentar a capacidade de processamento de programas Usuário ia ao computador Processamento Seqüencial Leitoras de cartões
Leia maisIntrodução à Gerência de Configuração. Leonardo Gresta Paulino Murta leomurta@ic.uff.br
Introdução à Gerência de Configuração Leonardo Gresta Paulino Murta leomurta@ic.uff.br Introdução A Engenharia de Software... Abordagem disciplinada para o desenvolvimento de software Grande diversidade
Leia maisgit git Utilização básica no controle de versão de pacotes João Eriberto Mota Filho Utilização básica no controle de versão de pacotes
Utilização básica no controle de versão de pacotes Mini DebConf Curitiba 2016 João Eriberto Mota Filho C u r i t i b a, P R, 0 6 d e meriberto a r ç o d e Mar. 2 0 1 62016 Sumário O que é o? Utilização
Leia maisFormação de DBAs SQL Server 2008
Formação de DBAs SQL Server 2008 Parte 8: Banco de Dados Distribuído Computação Distribuída Um grupo de elementos autônomos de processamento (não necessariamente homogêneos) que estão interconectados por
Leia maisGit e contribuição para projetos Open Source. Bruno Orlandi
Git e contribuição para projetos Open Source Bruno Orlandi Bruno Orlandi 4º Ano Ciências de Computação ICMC USP PET Computação HTML5 Web e Mobile Gosta de compartilhar conhecimento @BrOrlandi Instalando
Leia maisBancos de Dados Distribuídos. Lucas Henrique Samuel Queiroz
Bancos de Dados Distribuídos Lucas Henrique Samuel Queiroz O que é Uma coleção de nós interconectados via rede. Cada nó da rede possui um banco de dados local. Em conjunto atuam como um único sistema de
Leia maisGerenciamento de configuração e mudança
Gerenciamento de configuração e mudança Centro de Informática - Universidade Federal de Pernambuco Kiev Gama kiev@cin.ufpe.br Slides originais elaborados por Ian Sommerville e adaptado pelos professores
Leia maisJ820. Integração Contínua. com CVS, CruiseControl, Cruise Control. argonavis.com.br. AntHill Gump e Helder da Rocha (helder@acm.
J820 Integração Contínua com CVS, CruiseControl, Cruise Control AntHill Gump e Helder da Rocha (helder@acm.org) Integração contínua Um dos requisitos para implementar a integração contínua é ter um sistema
Leia maisGerência de Projetos e Manutenção de Software Aula 10 Gerência de Configuração e Mudanças Andréa Magalhães Magdaleno 2017.
Gerência de Projetos e Manutenção de Software Aula 10 Gerência de Configuração e Mudanças Andréa Magalhães Magdaleno andrea@ic.uff.br 2017.02 Agenda O Problema Gerência de Configuração Conceitos Básicos
Leia maisArquitetura de sistemas distribuídos
Arquitetura de sistemas distribuídos 3. Comunicação nos Sistemas Distribuídos 3.1.Introdução aos modelos de comunicação 3.2 Modelo Cliente-Servidor 3.3.Comunicação através de Sockets 3.3 Chamada a procedimento
Leia maisGerência de Configuração. Leonardo Gresta Paulino Murta
Gerência de Configuração Leonardo Gresta Paulino Murta leomurta@ic.uff.br Introdução A Engenharia de SoBware... Abordagem disciplinada para o desenvolvimento de sobware Grande diversidade de metodologias
Leia maisProgramação Distribuída. Arquiteturas
Programação Distribuída Arquiteturas Programação Distribuída A arquitetura de um Sistema Distribuído diferencia entre a organização de componentes de software e a realização física. A organização de sistema
Leia maisOn Omitting Commits and Committing Omissions: Preventing Git Metadata Tampering That (Re)introduces Software Vulnerabilities
Universidade Tecnológica Federal do Paraná Câmpus Pato Branco DAINF Departamento Acadêmico de Informática On Omitting Commits and Committing Omissions: Preventing Git Metadata Tampering That (Re)introduces
Leia maisTUTORIAL GIT Victor Breder Comp-19 Março de 2017
TUTORIAL GIT Victor Breder Comp-19 Março de 2017 1. INTRODUÇÃO Este tutorial tem como objetivo apresentar o necessário para um uso proficiente do git. Git é uma ferramenta de controle de versões VCS, ou
Leia maisAPLICAÇÕES EM SISTEMAS DISTRIBUÍDOS Prof. Ricardo Rodrigues Barcelar
- Aula 3-1. REVISÃO SOBRE CONCEITOS FUNDAMENTAIS DE SISTEMAS DISTRIBUÍDOS Na segunda parte abordamos o tema tolerância a falhas, assunto este muito relacionado a redes de computadores, mas que nos mostra
Leia maisTutorial SVN Básico Engenharia de Software. Denise Notini Nogueira denotini@dcc.ufmg.br
Tutorial SVN Básico Engenharia de Software Denise Notini Nogueira denotini@dcc.ufmg.br As vantagens do controle de Versão As principais vantagens de se utilizar um sistema de controle de versão para rastrear
Leia maisSis i te t mas a O perac a i c o i nai a s um p ouco c d a a h is i tó t ria i. a... SO His i t s ó t r ó ic i o
Sistemas Operacionais um pouco da história... - Evolução dos SO s através do tempo - Novas técnicas não são assimiladas simultaneamente por todos - Década de 40, não existia SO - O programador é o faz
Leia maisGestão de Desenvolvimento de Sistemas por Controle de Versão Utilizando SVN. Software para Controle de Versão SVN/Subversion
Gestão de Desenvolvimento de Sistemas por Controle de Versão Utilizando SVN Software para Controle de Versão SVN/Subversion Subversion é uma solução opensource Interação com o desenvolvedor Projetos que
Leia maisAula 03. Evandro Deliberal
Aula 03 Evandro Deliberal evandro@deljoe.com.br https://www.linkedin.com/in/evandrodeliberal Concorrência Método Sincronização Problemas: Perda de consistência Acesso a dados inconsistentes Perda de atualizações
Leia maisAgenda 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 maisGerência da Configuração de Software. Teresa Maciel DEINFO/UFRPE
Gerência da Configuração de Software Teresa Maciel DEINFO/UFRPE 1 Propósito Garantir a integridade dos itens que compõem uma versão do produtos de software, através do controle de versões e mudanças dos
Leia maisUtilização de Branches de Erro e Melhoria Sistema de Gestão da Qualidade
Página 1 de 9 1. ESTRUTURAS 1.1. ESTRUTURA DO SERVIDOR SVN: 2. ESTRUTURA DOS DIRETÓRIOS NO COMPUTADOR DO DESENVOLVEDOR: Página 2 de 9 3. MESCLAGEM DE BRANCHES: O Branch Erro não será utilizado para desenvolver
Leia maisBarramento. Prof. Leonardo Barreto Campos 1
Barramento Prof. Leonardo Barreto Campos 1 Sumário Introdução; Componentes do Computador; Funções dos Computadores; Estrutura de Interconexão; Interconexão de Barramentos Elementos de projeto de barramento;
Leia maisRedes P2P Gnutella e Simuladores
Redes P2P Gnutella e Simuladores Definições de P2P P2P é o compartilhamento de recursos e serviços pela troca direta entre sistemas. WG P2P Intel, 2001 P2P é uma classe de aplicações que tira proveito
Leia maisIntegração da Gerência de Configuração com a Gerência de Projetos e de Requisitos em um Ambiente
Integração da Gerência de Configuração com a Gerência de Projetos e de Requisitos em um Ambiente Colaborativo Jonnathan Carvalho, Mario Amaral, Mara Barcelos, Simone Vasconcelos, Aline Vasconcelos Projeto
Leia maisDesenvolvimento de Aplicações Distribuídas
Nomeação Pontifícia Universidade Católica de Minas Gerais Instituto de Ciências Exatas e Informática DAD (2019/01) Tópicos Apresentação da disciplina Introdução Desafios e características Arquitetura Comunicação
Leia maisSistemas de Controlo de Versões
Sistemas de Controlo de Versões Laboratórios de Informática I MIEI O desenvolvimento de software é cada vez mais complexo, e obriga a que uma equipa de programadores possa desenvolver uma mesma aplicação
Leia maisRedes de Computadores.
Redes de Computadores www.profjvidal.com REDES PONTO-A-PONTO E CLIENTE-SERVIDOR REDES DE COMPUTADORES Uma rede de computadores é formada por um conjunto de módulos processadores capazes de trocar informações
Leia maisBANCO DE DADOS 2 TRANSAÇÃO
BANCO DE DADOS 2 TRANSAÇÃO Prof. Edson Thizon Reconstrução ( recovery ) Idéia básica Em algum momento no tempo, todo sistema computacional apresentará uma falha. O SGBD deve incorporar mecanismos de proteção
Leia maisSalvando modificações localmente (commit) Enviando modificações para o servidor (push) Sinalizando versão estável (tag)
Salvando modificações localmente (commit) Enviando modificações para o servidor (push) Sinalizando versão estável (tag) Desfazendo modificações (reset) Verificar status de repositório 5 Não vamos fazer,
Leia maisPLATAFORMA DE DESENVOLVIMENTO PINHÃO PARANÁ MANUAL DE UTILIZAÇÃO DO CVS NO ECLIPSE
PLATAFORMA DE DESENVOLVIMENTO PINHÃO PARANÁ MANUAL DE UTILIZAÇÃO DO CVS NO ECLIPSE Agosto 2007 Sumário de Informações do Documento Tipo do Documento: Manual Título do Documento: MANUAL DE UTILIZAÇÃO DO
Leia maisGerência de Configuração de Software Conceitos
Universidade Estadual de Maringá Departamento de Informática Ciência da Computação Processo de Engenharia de Software II Gerência de Configuração de Software Conceitos Rafael Leonardo Vivian {rlvivian.uem
Leia maisSistemas Distribuídos
Sistemas Distribuídos Transações atômicas Conteúdo O modelo transacional Armazenamento estável Primitivas transacionais Propriedades das transações Transações aninhadas Implementação Área de trabalho privada
Leia maisSistemas Distribuídos
Sistemas Distribuídos Definição Sistema Distribuído é aquele onde os componentes de software e hardware localizados em redes de computadores comunicam-se e coordenam suas ações apenas por passagem de mensagens.
Leia maisSistemas Distribuídos. Professora: Ana Paula Couto DCC 064
Sistemas Distribuídos Professora: Ana Paula Couto DCC 064 Arquiteturas Capítulo 2 Sistemas Distribuídos ORGANIZAÇÃO + INTERAÇÃO SOFTWARE ARQUITETURAS DE SISTEMAS ARQUITETURAS DE SOFTWARE + MÁQUINA REAL
Leia maisBancos de Dados Distribuídos. Gabriel Resende Gonçalves 4 de fevereiro de 2014
Bancos de Dados Distribuídos Gabriel Resende Gonçalves 4 de fevereiro de 2014 Sumário Introdução; Vantagens e Desvantagens; Regras Básicas; Tipos de BDDs; Processamento de Transações; Recuperação de Falhas;
Leia maisPROJETO CEMEA. Um trabalho educacional
PROJETO CEMEA Um trabalho educacional CEMEA: Objetivo geral A partir de um sistema já existente, temos como missão: Melhorar suas funcionalidades; Documentar tanto o código, quanto suas funções; Acrescentar
Leia maisCVS Controle de Versões e Desenvolvimento Colaborativo de Software
CVS Controle de Versões e Desenvolvimento Colaborativo de Software Cristiano Caetano Novatec Editora Capítulo 1 Introdução ao CVS Quem controla o passado, controla o futuro. Quem controla o presente, controla
Leia maisEstrutura do SO. Prof. Paulo Cesar F. de Oliveira, BSc, PhD
Estrutura do SO Prof. Paulo Cesar F. de Oliveira, BSc, PhD 1 Seção 1.1 Introdução 2 Usuários Aplicações Utilitários Linguagem de Comandos Núcleo do Sistema ou kernel Rotinas do Sistema Operacional Hardware
Leia maisProjeto Lógico de Computadores. Profa. MSc. Carolina Melo Santana
Projeto Lógico de Computadores Profa. MSc. Carolina Melo Santana karolstana@yahoo.com.br Nível de Máquina de Sistema Operacional Dinâmica: Batata quente Perguntas a serem respondidas pelos alunos que estiverem
Leia maisGerência de Configuração: Ramificação e Integração. Leonardo Gresta Paulino Murta
Gerência de Configuração: Ramificação e Leonardo Gresta Paulino Murta leomurta@ic.uff.br Existem diferentes estratégias de criação de ramos, que podem ser combinadas A seleção correta de estratégias possibilita
Leia maisFerramenta de apoio a gerência de configuração de software. Aluno: Rodrigo Furlaneto Orientador: Everaldo Artur Grahl
Ferramenta de apoio a gerência de configuração de software Aluno: Rodrigo Furlaneto Orientador: Everaldo Artur Grahl Roteiro de apresentação Introdução Objetivos Fundamentação Teórica Gerência de Configuração
Leia maisSistemas Distribuídos
Sistemas Distribuídos Arquitetura de Sistemas Distribuídos Gustavo Reis gustavo.reis@ifsudestemg.edu.br 1 - Arquitetura Em sistemas distribuídos a meta é separar aplicações das plataformas subjacentes,
Leia maisSistemas Distribuídos
Sistemas Distribuídos Motivação Aplicações Motivam Possibilita Engenharia Motivação! Aplicações cada vez mais complexas! Qual a técnica mais comum para redução de complexidade? " Modularização Dividir
Leia maisMini Curso Gerenciamento de Configuração e Mudança com GIT + Eclipse. Jadson Santos Amador Pahim
Mini Curso Gerenciamento de Configuração e Mudança com GIT + Eclipse Jadson Santos Amador Pahim Gerenciamento de Configuração e Mudança Padrões e Boas práticas de GCM Sistema de controle de Versão Distribuído
Leia maisFundamentos de Sistemas Operacionais de Arquitetura Aberta. CST em Redes de Computadores
Fundamentos de Sistemas Operacionais de Arquitetura Aberta CST em Redes de Computadores Introdução Computadores Computadores são compostos, basicamente, de CPU, memória e dispositivos de entrada e saída
Leia maisSincronização e Concorrência
Tópicos da Aula Sincronização e Concorrência Sincronização sincronização interna sincronização externa sincronização de relógio métodos de sincronização Cristian Berkeley tempo lógico Controle de Concorrência
Leia maisAgenda. Aprendendo Git/GitHub. Definições. Git. História 31/05/2012. Vantagem de usar controle de versão
Agenda Aprendendo Git/GitHub Luciana Balieiro Cosme IFNMG Montes Claros Sobre Git Instalação no Windows Comandos básicos Estrutura de um commit Branches GitHub Considerações finais Definições Git is an
Leia maisIntrodução aos computadores, à Internet e à World Wide Web. Prof. Marcelo Roberto Zorzan
Introdução aos computadores, à Internet e à World Wide Web Prof. Marcelo Roberto Zorzan História do Java Origem Linguagem desenvolvida pela Sun Microsystems Sintaxe similar ao C++ Inicialmente chamada
Leia maisA instância Oracle é composta de :
Conceitos básicos da arquitetura do Oracle Uma instância Oracle consiste na System Global Area (SGA) e um conjunto de processos de segundo plano (background processes). Quando uma instância é iniciada,
Leia maisProgramação de Sistemas Distribuídos e Concorrência
Programação de Sistemas Distribuídos e Concorrência Aula 4 15/08/09 Prof Carlos Eduardo 1 Descentralizadas Arquiteturas centralizadas são distribuições verticais (componentes logicamente diferentes em
Leia maisARCHITECTURAL DESIGN. Ian Sommerville, 8º edição Capítulo 11 Aula de Luiz Eduardo Guarino de Vasconcelos
ARCHITECTURAL DESIGN Ian Sommerville, 8º edição Capítulo 11 Aula de Luiz Eduardo Guarino de Vasconcelos Objetivos Tópicos abordados Arquitetura de Software Projeto de arquitetura Vantagens de arquitetura
Leia maisGIT. Prof. Rafael Sandim
GIT Prof. Rafael Sandim Controle de Versões Temos um projeto onde temos vários arquivos e vários desenvolvedores trabalhando no mesmo projeto Como realizar alterações? Como sincronizar as alterações dos
Leia maisBanco 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 maisSistemas operacionais INTRODUÇÃO
Sistemas operacionais INTRODUÇÃO Sistemas Operacionais É um software situado entre o hardware e as aplicações para gerenciar todo os recursos do sistema (memória, processador, disco ) de forma organizada
Leia maisParadigma. Ponto-a-Ponto. Compartilhamento de serviços e recursos computacionais diretamente entre sistemas. Integração de Dados e Warehousing
Classificação dos Computacionais Computacionais Integração de Dados e Warehousing Introdução a PDMS Centralizados Distribuídos Fernando Fonseca Ana Carolina Cliente-Servidor -a- 2 Cenário -a- Paradigma
Leia maisVamos fazer um pequeno experimento
1 Vamos fazer um pequeno experimento Dividam-se em dois grupos: Mestre Escravo Projeto de Sistemas Distribuídos Comunicação entre Processos Prof. Msc. Marcelo Iury de Sousa Oliveira marceloiury@gmail.com
Leia maisOs textos nestas caixas foram adicionados pelo Prof. Joubert
William Stallings Arquitetura e Organização de Computadores 8 a Edição Capítulo 3 Visão de alto nível da função e interconexão do computador Os textos nestas caixas foram adicionados pelo Prof. Joubert
Leia maisSistemas de Controle de Versão ~Subversion~ Juliano Ferraz Ravasi UNESP Rio Claro - 2005
Sistemas de Controle de Versão ~Subversion~ Juliano Ferraz Ravasi UNESP Rio Claro - 2005 Por que Controle de Versão? Programar...... é difícil;... toma muito tempo;... exige cooperação de várias pessoas;...
Leia maisSistemas Operacionais Abertos
Sistemas Operacionais Abertos Instalação de pacotes Na última aula... Instalação de pacotes Dpkg Apt-get Synaptic Porque? Quando você instala um sistema Linux, normalmente você instala uma grande seleção
Leia maisGit e Pais
Git e GitHub @Sebastião Pais O que é Git? "Git é um sistema de controle de versão distribuida, rápido e escalável" Basicamente é um versionador de ficheiros, é utilizado principalmente para gerir versões
Leia maisA Multidimensional Empirical Study on Refactoring Activity
A Multidimensional Empirical Study on Refactoring Activity Nikolaos Tsantalis, Victor Guana, Eleni Stroulia, Abram Hindle Department of Computer Science and Software Engineering Concordia University, Montreal,
Leia mais