Sumário. Parte I Fundamentos Capítulo 1 O Problema de Entregar Software... 3
|
|
- Neuza Coimbra de Andrade
- 7 Há anos
- Visualizações:
Transcrição
1 Sumário Parte I Fundamentos... 1 Capítulo 1 O Problema de Entregar Software... 3 Introdução...3 Alguns antipadrões comuns de entrega de versão...4 Antipadrão: implantar software manualmente...5 Antipadrão: implantar em um ambiente similar ao de produção somente quando o desenvolvimento estiver completo...7 Antipadrão: gerência de configuração manual dos ambientes de produção...9 Podemos fazer melhor?...11 Como alcançar nosso objetivo?...12 Cada mudança deve disparar o processo de feedback...13 O feedback deve ser obtido o mais rápido possível...14 A equipe responsável pela entrega deve receber o feedback e aproveitá-lo...16 Esse processo é escalável?...16 Quais são os benefícios?...17 Dar autonomia às equipes...17 Reduzir erros...18 Reduzir o estresse...21 Flexibilidade de implantação...21 A prática leva à perfeição...22 A versão candidata...23 Todo check-in é uma versão em potencial...24 Princípios da entrega de software...25 Criar um processo de confiabilidade e repetitividade de entrega de versão...25 Automatize quase tudo...26 Mantenha tudo sob controle de versão...26 Se é difícil, faça com mais frequência e amenize o sofrimento...27 A qualidade deve estar presente desde o início...27 Pronto quer dizer versão entregue...28
2 xxii Sumário Todos são responsáveis pelo processo de entrega...28 Melhoria contínua...29 Resumo...29 Capítulo 2 Gerência de Configuração Introdução...31 Controle de versão...32 Mantenha absolutamente tudo sob controle de versão...33 Faça check-ins regulares para o trunk...35 Use mensagens relevantes nos check-ins...37 Como gerenciar dependências...38 Como gerenciar bibliotecas externas...38 Como gerenciar componentes...39 Como gerenciar configuração de software...40 Configuração e flexibilidade...40 Tipos de configuração...42 Como gerenciar a configuração da aplicação...43 Como gerenciar configuração entre aplicações...47 Princípios de gerência de configuração de aplicações...48 Como gerenciar seus ambientes...49 Ferramentas para gerenciar ambientes...52 Como gerenciar o processo de mudança...53 Resumo...53 Capítulo 3 Integração Contínua Introdução...55 Como implementar integração contínua...56 De que você precisa antes de começar...56 Um sistema básico de integração contínua...58 Pré-requisitos para a integração contínua...59 Check-ins regulares...59 Crie um conjunto de testes automatizados abrangente...60 Mantenha o processo de compilação e de testes curto...60 Como gerenciar seu espaço de trabalho de desenvolvimento...62 Como usar software de integração contínua...63 Operação básica...63 Extras...63 Práticas essenciais...66 Não faça check-ins se o processo de compilação estiver quebrado...66
3 Sumário xxiii Sempre rode os testes de commit localmente antes de um check-in, ou use o servidor de IC para isso...66 Espere que os testes obtenham sucesso antes de continuar...67 Nunca vá para casa com um processo de compilação quebrado...68 Esteja sempre preparado para voltar à revisão anterior...69 Limite o tempo antes de reverter...70 Não comente testes que estão falhando...70 Assuma a responsabilidade pelas quebras causadas por suas mudanças...70 Desenvolvimento guiado por testes...71 Práticas sugeridas...71 Extreme Programming...72 Quebrar o processo de compilação por falhas arquiteturais...72 Quebrar o processo de compilação para testes lentos...73 Quebrar o processo de compilação em avisos e problemas de estilo...73 Equipes distribuídas...75 O impacto no processo...75 Integração contínua centralizada...76 Questões técnicas...76 Abordagens alternativas...77 Sistemas distribuídos de controle de versão...79 Resumo...82 Capítulo 4 Como Implementar uma Estratégia de Testes Introdução...83 Tipos de testes...85 Testes voltados ao negócio que suportam o processo de desenvolvimento...85 Testes voltados à tecnologia que suportam o processo de desenvolvimento...89 Testes voltados ao negócio que criticam o projeto...90 Testes voltados à tecnologia que criticam o projeto...91 Dublês de teste...92 Situações reais e estratégias...93 Novos projetos...93 No meio do projeto...94 Sistemas legados...95 Testes de integração...97 Processo...99 Como gerenciar backlogs de defeitos Resumo...102
4 xxiv Sumário Parte II O Pipeline de Implantação Capítulo 5 Anatomia de um Pipeline de Implantação Introdução O que é um pipeline de implantação? Um pipeline de implantação básico Práticas para o pipeline de implantação Compile seus binários somente uma vez Faça a implantação da mesma maneira para cada ambiente Use smoke tests Implante em uma cópia de produção Cada mudança deve ser propagada pelo pipeline instantaneamente Se qualquer parte do pipeline falhar, pare o processo O estágio de commit Melhores práticas do estágio de commit A barreira de testes de aceitação automatizados Melhores práticas de testes de aceitação Estágios subsequentes de testes Testes manuais Testes não funcionais Preparando para a entrega Automação de implantação e geração de versão Como reverter mudanças Como maximizar o sucesso Como fazer um pipeline de implantação Como modelar o fluxo de valor e criar um esqueleto do processo Como automatizar o processo de compilação e implantação Como automatizar testes unitários e análise de código Como automatizar testes de aceitação Evoluindo seu pipeline Métricas Resumo Capítulo 6 Scripts de Compilação e Implantação Introdução Uma visão geral das ferramentas de compilação Make Ant NAnt e MSBuild...148
5 Sumário xxv Maven Rake Buildr Psake Princípios e práticas de compilação e implantação Crie um script para cada estágio em sua implantação Utilize a tecnologia apropriada para implantar sua aplicação Utilize os mesmos scripts para implantar em todos os ambientes Utilize as ferramentas de gerenciamento de pacotes de seu sistema operacional Garanta que o processo de implantação seja idempotente Evolua seu sistema incrementalmente Estrutura de projetos para aplicações com JVM Estrutura de projeto Scripts de implantação Como implantar e testar camadas Como testar a configuração do ambiente Dicas Sempre use caminhos relativos Elimine passos manuais Construa rastreabilidade de binários até o controle de versão Não coloque binários no controle de versão durante a compilação Tarefas de testes não devem fazer o processo de compilação falhar Limite sua aplicação com smoke tests de integração Dicas e truques para.net Resumo Capítulo 7 O Estágio de Commit Introdução Princípios e práticas do estágio de commit Fornecer feedback rápido e útil O que poderá fazer o estágio de commit falhar? Cuide do estágio de commit Transforme os desenvolvedores em donos do processo Use um build master para equipes muito grandes Os resultados do estágio de commit O repositório de artefatos Princípios e práticas dos testes do estágio de commit Evite a interface de usuário...179
6 xxvi Sumário Use Injeção de Dependências Evite o banco de dados Evite código assíncrono em seus testes unitários Use dublês de testes Minimizar estado nos testes Simular tempo Força bruta Resumo Capítulo 8 Automação de Testes de Aceitação Introdução Por que testes de aceitação automatizados são essenciais? Como criar testes de aceitação fáceis de manter Como testar interfaces de usuário Como criar testes de aceitação O papel de analistas e testadores Análise em projetos iterativos Critérios de aceitação como especificações executáveis A camada do driver de aplicação Como expressar seus critérios de aceitação O padrão driver de janelas: separando os testes da interface de usuário Como implementar testes de aceitação Estado em testes de aceitação Fronteiras do processo, encapsulamento e testes Como gerenciar tempo limite e assincronia Como usar dublês de teste O estágio de testes de aceitação Como manter os testes de aceitação verdes Testes de implantação Desempenho dos testes de aceitação Refatore tarefas comuns Compartilhe recursos caros Testes paralelos Usar grids de computação Resumo...222
7 Sumário xxvii Capítulo 9 Como Testar Requisitos Não Funcionais Introdução Gerenciar requisitos não funcionais Analisar requisitos não funcionais Como programar para capacidade Como medir capacidade Como definir sucesso e falha para testes de capacidade? O ambiente de testes de capacidade Como automatizar testes de capacidade Testes de capacidade via interface de usuário Gravar interações com um serviço ou API pública Usar modelos de interação gravados Usar stubs de testes de capacidade para desenvolver testes Como incorporar testes de capacidade no pipeline de implantação Benefícios adicionais de um sistema de teste de capacidade Resumo Capítulo 10 Implantação e Entrega de Versões de Aplicações Introdução Como criar uma estratégia de lançamento O plano de entrega de versão Lançamento de produtos Como implantar e promover sua aplicação A primeira implantação Como modelar seu processo de entrega e promover versões Como promover configuração Orquestração Implantações em ambientes de homologação Como reverter implantações e versões sem parada Reverta uma aplicação para a última boa versão Versões sem parada Implantações azul-verde Implantação canário Correções de emergência Implantação contínua Entrega contínua de versão de software instalado pelo usuário...269
8 xxviii Sumário Dicas As pessoas que fazem a implantação deveriam estar envolvidas na criação do processo Mantenha um log de atividades de implantação Não remova arquivos antigos: mova-os Implantações são responsabilidade de toda a equipe Aplicações de servidor não deveriam ter interfaces gráficas de usuário Tenha um período de transição para novas implantações Falhe rapidamente Não faça mudanças diretamente no ambiente de produção Resumo Parte III O Ecossistema de Entrega Capítulo 11 Gerência de Infraestrutura e Ambientes Introdução Entender as necessidades da equipe de operações Documentação e auditoria Alertas para eventos anormais Plano de continuidade de serviço de TI Use a tecnologia com a qual sua equipe de operações está familiarizada Modelar e gerenciar a infraestrutura Como controlar o acesso à infraestrutura Como fazer mudanças na infraestrutura Gerência do provisionamento e da configuração de servidor Como provisionar servidores Gerência contínua de servidores Gerência da configuração de middleware Como gerenciar configuração Pesquise o produto Examine como o middleware lida com estado Procure por uma API de configuração Use uma tecnologia melhor Gerência de serviços de infraestrutura Sistemas multihomed Virtualização Como gerenciar ambientes virtuais Ambientes virtuais e o pipeline de implantação Testes altamente paralelizados em ambientes virtuais...312
9 Sumário xxix Computação em nuvem Infraestrutura em nuvem Plataformas em nuvem Tamanho único não serve para todos Críticas à computação em nuvem Monitoramento de infraestrutura e aplicações Coleta de dados Logs Criação de dashboards (painéis de controle) Monitoramento guiado por comportamento Resumo Capítulo 12 Gerência de Dados Introdução Scripting de banco de dados Inicializar banco de dados Mudanças incrementais Versionar o banco de dados Gerenciar mudanças orquestradas Rollback de banco de dados e versões sem parada Rollback sem perda de dados Desacoplar a implantação da aplicação da migração do banco de dados Gerência de dados de teste Como criar um banco de dados fictício para testes unitários Como gerenciar o acoplamento entre testes e dados Isolamento de testes Preparação (setup) e finalização (tear down) Cenários de teste coerentes Gerenciamento de dados e o pipeline de implantação Dados no estágio de teste de commit Dados nos testes de aceitação Dados nos testes de capacidade Dados em outros estágios de teste Resumo Capítulo 13 Como Gerenciar Componentes e Dependências Introdução Manter a aplicação pronta para entrega Esconda novas funcionalidades até que estejam prontas...351
10 xxx Sumário Faça todas as mudanças incrementalmente Branching por abstração Dependências Inferno de dependências Como gerenciar bibliotecas Componentes Como dividir uma base de código em componentes Componentes no pipeline O pipeline de integração Como gerenciar grafos de dependências Construir grafos de dependências Pipelines para grafos de dependências Quando devemos acionar compilações? Otimismo cauteloso Dependências circulares Como gerenciar binários Como um repositório de artefatos deve funcionar Como seu pipeline de implantação deve interagir com o repositório de artefatos Como gerenciar dependências com Maven Refatorações de dependências do Maven Resumo Capítulo 14 Controle de Versão Avançado Introdução Um breve histórico do controle de revisão CVS Subversion Sistemas de controle de versão comerciais Não use locking pessimista Branching e merging Merging Branches, frentes de trabalho e integração contínua Sistemas de controle de versão distribuídos O que é um sistema de controle de versão distribuído? Um breve histórico dos sistemas de controle de versão distribuídos Sistemas de controle de versão distribuídos em ambientes corporativos...400
11 Sumário xxxi Usando sistemas de controle de versão distribuídos Sistemas de controle de versão baseados em frentes de trabalho O que é um sistema de controle de versão baseado em frentes de trabalho? Modelos de desenvolvimento com frentes de trabalho Visões estáticas e dinâmicas Integração contínua com sistemas de controle de versão baseados em frentes de trabalho Desenvolvendo no trunk Fazendo mudanças complexas sem branches Branches para entrega de versão Branches por funcionalidade Branches por equipe Resumo Capítulo 15 Como Gerenciar Entrega Contínua Introdução Um modelo de maturidade para gerência de configuração e entrega de versão Como usar o modelo de maturidade Ciclo de vida de projetos Identificação Concepção Iniciação Desenvolvimento e entrega de versão Operação Um processo de gestão de risco Gestão de risco Linha de tempo de gestão de risco Como fazer um exercício de gestão de risco Problemas comuns de entrega: sintomas e causas Implantações infrequentes e com erros Baixa qualidade da aplicação Processo de integração contínua mal gerenciado Processo ruim de gerência de configuração Observância e auditoria Automação em vez de documentação Garantindo rastreabilidade...442
12 xxxii Sumário Trabalhando em silos Gestão de mudança Resumo Bibliografia Índice
Entrega contínua: automatizar o pipeline de implantação
White Paper Deployment Authomation Entrega contínua: automatizar o pipeline de implantação Índice página O valor da entrega contínua.... 1 A desconexão entre criar e implantar.... 3 Automação e integração
Leia mais1. A função DevOps, que se concentra principalmente em Produtos & Serviços:
Questões de múltipla escolha 1. A função DevOps, que se concentra principalmente em Produtos & Serviços: a) Desenvolvimento Ágil b) Melhoria Contínua c) Automatizar tudo d) Centralizar o Desenvolvimento
Leia maisRevisitando as práticas de engenharia ágil. Danilo
Revisitando as práticas de engenharia ágil Danilo Sato @dtsato Danilo Sato @dtsato - www.dtsato.com Desenvolvedor, Arquiteto, Coach, DevOps, Treinador Agile virou mainstream Fonte: VersionOne State of
Leia maisINTRODUÇÃO À INTEGRAÇÃO CONTÍNUA. Jadson Santos Software Engineer Informatic Superintendence (SINFO) - UFRN
INTRODUÇÃO À INTEGRAÇÃO CONTÍNUA Jadson Santos Software Engineer Informatic Superintendence (SINFO) - UFRN 2 Introdução à Integração Contínua Integração Contínua é uma pratica de desenvolvimento de software
Leia maisInstituto Federal da Bahia Análise e Desenvolvimento de Sistemas INF022 Tópicos Avançados Gerencia de Configuração
Instituto Federal da Bahia Análise e Desenvolvimento de Sistemas INF022 Tópicos Avançados Gerencia de Configuração Prof. Dr. Renato L. Novais renato@ifba.edu.br Gerência de Configuração e mudança Objetivo
Leia maisTeste de Software. Estratégias de Teste. Rosemary Silveira Filgueiras Melo
Teste de Software Estratégias de Teste Rosemary Silveira Filgueiras Melo rosesfmelo@hotmail.com 1 Agenda Estratégias de Teste Tipos de Estratégias de Teste 2 Estratégias de teste Define as fases em que
Leia maisPROVAS DISCURSIVAS P 3 (questões) e P 4 (parecer) RASCUNHO QUESTÃO 1
PROVAS DISCURSIVAS P (questões) e P (parecer) Nestas provas, faça o que se pede, usando, caso deseje, os espaços para rascunho indicados no presente caderno. Em seguida, transcreva os textos para o CADERNO
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 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 maisPadrões de Testes Automatizados. Exame de Defesa de Mestrado Paulo Cheque Bernardo Orientador: Fabio Kon DCC IME/USP 4 de julho de 2011
Padrões de Testes Automatizados Exame de Defesa de Mestrado Paulo Cheque Bernardo Orientador: Fabio Kon DCC IME/USP 4 de julho de 2011 Objetivos Parte I: Introdução e Conceitos Introduzir o tema Testes
Leia maisSEU FUTURO DEPENDE DAS SUAS AÇÕES HOJE
SEU FUTURO DEPENDE DAS SUAS AÇÕES HOJE Painel de Clientes: Como as empresas estão se preparando para a transformação digital BORIS KUSZKA Solution Architect Director São Paulo, 19 de Setembro de 2017 90%
Leia mais- 6ª Lista de Exercícios -
- 6ª Lista de Exercícios - Gerência de Configuração Questão 1) (CESPE, 2013, TCE-RO - Analista de Informática). Com relação à gerência de configuração de software, julgue os itens que se seguem: Quando
Leia maisEngenharia de Software
Engenharia de Software Processos de Software Professor: Charles Leite O processo de software Um conjunto estruturado de atividades, procedimentos, artefatos e ferramentas necessários para o desenvolvimento
Leia maisDesconstruindo Monolitos. Como construir micro serviços Delphi com agilidade e qualidade
Desconstruindo Monolitos Como construir micro serviços Delphi com agilidade e qualidade Hello World!! Felipe Caputo May Fernandes Desenvolvedor sênior e líder técnico na Softplan, atualmente sou responsável
Leia maisINSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DO RIO GRANDE DO NORTE CAMPUS JOÃO CÂMARA ENGENHARIA DE SOFTWARE
1 INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DO RIO GRANDE DO NORTE CAMPUS JOÃO CÂMARA ENGENHARIA DE SOFTWARE Nickerson Fonseca Ferreira nickerson.ferreira@ifrn.edu.br Introdução 2 Antes de qualquer
Leia maisRUP/PSDS. Introdução e Comparação
RUP/PSDS Introdução e Comparação Agenda RUP Introdução Mlehores Práticas Estrutura Tempo Conteúdo Contraponto PSDS Introdução Objetivos Promover planejamento, medição e controle dos projetos Reduzir riscos
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 maisINSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DO RIO GRANDE DO NORTE CAMPI JOÃO CÂMARA RATIONAL UNIFIED PROCESS - RUP
1 INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DO RIO GRANDE DO NORTE CAMPI JOÃO CÂMARA RATIONAL UNIFIED PROCESS - RUP Nickerson Fonseca Ferreira nickerson.ferreira@ifrn.edu.br Introdução 2 Modelo
Leia maisRCA, Inteligência Artificial, URA e Chatbot.
Plataforma única para automação de RPA, RCA, Inteligência Artificial, URA e Chatbot. Kleber Rodrigues co founder Kleber.rodrigues@grupowdg.com.br Suíte completa, composta por um Studio para criação dos
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 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 maisIntegrando o gerenciamento da configuração à estratégia de automação de releases
DOCUMENTAÇÃO TÉCNICA MARÇO DE 2015 Integrando o gerenciamento da configuração à estratégia de automação de releases Tim Mueting/Paul Peterson Entrega de aplicativos CA Technologies 2 Documentação técnica:
Leia maisAdicionando Flexibilidade e Agilidade na Rede do SERPRO com Virtualização das Funções de Rede
Adicionando Flexibilidade e Agilidade na Rede do SERPRO com Virtualização das Funções de Rede Agenda NFV Modelos de Negócio Conceitos Relacionados Casos de Uso Considerações Finais e Trabalhos Futuros
Leia maisVisão Geral do RUP (Rational Unified Process)
Visão Geral do RUP (Rational Unified Process) Objetivos deste módulo Apresentar as características do RUP Discutir os conceitos que existem no RUP: fases, fluxos de atividades (worklows), iterações, responsáveis,
Leia maisSISTEMA DISTRIBUÍDO PARA GERENCIAMENTO DE LIBERAÇÃO DE RELEASES DE SOFTWARE
SISTEMA DISTRIBUÍDO PARA GERENCIAMENTO DE LIBERAÇÃO DE RELEASES DE SOFTWARE 12/2013 Acadêmico: Rogério Mello Vanti Orientador: Paulo Fernando da Silva Roteiro Introdução Fundamentação teórica Resultados
Leia mais30% a 50% dos custos desenvolvimento A complexidade torna impossível teste completo (cobertura total) Mas...
TESTES TESTES DE SOFTWARE 30% a 50% dos custos desenvolvimento A complexidade torna impossível teste completo (cobertura total) Mas... Metodologia para testes bem definida Uso de ferramentas podem aumentar
Leia maisANEXO V ARTEFATOS DO PROCESSO DE ENTREGA DE SOLUÇÕES PES
Diretoria de Gestão e Tecnologia da Informação - DGTI Coordenação Geral de Tecnologia da Informação CGETI Coordenação de Ecossistemas de Informação - COEIN Projeto: Fábrica de Software ANEXO V ARTEFATOS
Leia maisTeste de Software. Competência: Entender as técnicas e estratégias de testes de Software
Teste de Software Competência: Entender as técnicas e estratégias de testes de Software Conteúdo Programático Introdução O que é teste de software? Por que é necessário testar um software? Qual a causa
Leia maisTeste de Software. Prof. Camila. Pedro de Assis Sobreira Jr.
Teste de Software Prof. Camila Pedro de Assis Sobreira Jr. 2 Técnicas de Testes Técnica de Teste Funcional Técnica de Teste Estrutural 3 Testes Funcionais Teste de Especificação de Requisitos. Teste de
Leia maisOPERA Cloud. Tecnologia que potencializa as operações e distribuição de seu hotel
OPERA Cloud Tecnologia que potencializa as operações e distribuição de seu hotel O que é o OPERA Cloud? O Oracle Hospitality OPERA Cloud Services (OPERA Cloud) é uma plataforma empresarial, voltada para
Leia maisIntrodução aos Testes de Software
Introdução aos Testes de Software 1 Objetivos do curso Apresentar e discutir os conceitos básicos sobre o processo de testes Entender como criar e utilizar os documentos (artefatos) gerados ao longo deste
Leia maisHalison Miguel Edvan Pontes
Halison Miguel Edvan Pontes Apresentação Surgimento; Conceitos; Características; Elementos Básicos; Estrutura; Disciplina. Surgimento O Processo Unificado Aberto, do inglês Open Unified Process (OpenUP)
Leia mais3 Gerenciamento. 3.1.Build Automatizado
3 Gerenciamento O gerenciamento de projeto envolve a realização de muitas tarefas tais como: compilação, execução dos testes, geração dos artefatos finais, controle de versões, disponibilização do produto
Leia maisRUP RATIONAL UNIFIED PROCESS
O que é RUP? É um metodologia para gerenciar projetos de desenvolvimento de software que usa a UML como ferramenta para especificação de sistemas. Ele é um modelo de processo híbrido Mistura elementos
Leia maisExperiê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 maisCA Server Automation. Visão geral. Benefícios. agility made possible
FOLHA DE PRODUTOS: CA Server Automation CA Server Automation agility made possible O CA Server Automation é uma solução integrada que automatiza o provisionamento, a aplicação de patches e a configuração
Leia maisINTRODUÇÃO A ENGENHARIA DE SOFTWARE
Universidade TESTE Estadual DE SOFTWARE Vale do Acaraú O que são testes? INTRODUÇÃO A ENGENHARIA DE SOFTWARE Teste é um processo de avaliar um sistema ou um componente de um sistema para verificar se ele
Leia maisSumário. PARTE I O processo de software 29. CAPÍTULO 1 A natureza do software 1. CAPÍTULO 2 Engenharia de software 14
Sumário CAPÍTULO 1 A natureza do software 1 1.1 A natureza do software 3 1.1.1 Definição de software 4 1.1.2 Campos de aplicação de software 6 1.1.3 Software legado 7 1.2 A natureza mutante do software
Leia maisTESTES DE SOFTWARE Unidade 1 Importância do Teste de Software. Luiz Leão
Luiz Leão luizleao@gmail.com http://www.luizleao.com Conteúdo Programático 1.1 - O teste nas fases de vida e de desenvolvimento de um software. 1.2 - O teste na engenharia de sistemas e na engenharia de
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 maisRUP RATIONAL UNIFIED PROCESS PRÁTICAS RECOMENDADAS. Prof. Fabiano Papaiz IFRN
RUP RATIONAL UNIFIED PROCESS PRÁTICAS RECOMENDADAS Prof. Fabiano Papaiz IFRN O RUP recomenda as seguintes práticas que devem ser utilizadas no desenvolvimento de um software: 1. Desenvolver de forma iterativa
Leia maisA Evolução de XP segundo Kent Beck Parte 1
A Evolução de XP segundo Kent Beck Parte 1 O que mudou nesses 5 anos? Danilo Toshiaki Sato dtsato@ime.usp.br Agenda PARTE 1 1. Introdução 2. O que é XP? 3. O que mudou em XP? Valores, Princípios e Práticas
Leia mais15/03/2018. Professor Ariel da Silva Dias Modelos de Processo de Software
Professor Ariel da Silva Dias Modelos de Processo de Software Conjunto de atividades que leva à produção de um produto de Software [Sommerville,2011]; Podemos contar com ferramentas de apoio com o objetivo
Leia maisDESENHO DE CARGOS E TAREFAS
Faculdade de Tecnologia SENAC GO Gestão de Pessoas Professor: Itair Pereira da Silva Grupo: Luís Miguel Nogueira de Resende, Valdivino de Carvalho, Rodrigo Neres Magalhães e Venicyus Venceslencio da Paz.
Leia maisInformática. Plataforma G Suite. Professor Márcio Hunecke.
Informática Plataforma G Suite Professor Márcio Hunecke www.acasadoconcurseiro.com.br Informática PLATAFORMA G SUITE G Suite (antigo Google Apps) é um serviço de nuvem (SaaS Software as a Service) do
Leia maisSoluções IoT Inovadoras Plataforma Link IoT
Soluções IoT Inovadoras Plataforma Link IoT Tecnologia Beacon Como Funciona A Taggen está desenvolvendo produtos inovadores para auxiliar na criação de soluções voltadas à Internet das Coisas A Internet
Leia maisLÍDER EM VAREJO AUMENTA PRODUTIVIDADE E ROI COM FERRAMENTAS ATLASSIAN 2016 LÍDER EM VAREJO AUMENTA PRODUTIVIDADE E ROI COM FERRAMENTAS ATLASSIAN
LÍDER EM VAREJO AUMENTA PRODUTIVIDADE E ROI COM FERRAMENTAS ATLASSIAN 2016 1 LÍDER EM VAREJO AUMENTA PRODUTIVIDADE E ROI COM FERRAMENTAS ATLASSIAN 2016 Organizações globais que trabalham com times distribuídos
Leia maisEngenharia de Software II
Faculdade de Ciências e Tecnologia Departamento de Matemática e Computação Bacharelado em Ciência da Computação Engenharia de Software II Aula 07 (rogerio@fct.unesp.br) Conceitos Básicos do Rational Unified
Leia maisMaterial cedido por André Santos. Objetivo
Material cedido por André Santos Objetivo Compreender a importância do uso de mecanismos de gerência de configuração (GC) e de mudança (GM), seus métodos, processos e ferramentas. Fornecer os principais
Leia maisMétodos Ágeis e Programação Extrema (XP)
Métodos Ágeis e Programação Extrema (XP) 1 Métodos Ágeis A insatisfação com os overheads envolvidos em métodos tradicionais de desenvolvimento levou à criação dos métodos ágeis. Esses métodos: Focam no
Leia maisRESUMO DA SOLUÇÃO. CA Test Data Manager e CA Service Virtualization
RESUMO DA SOLUÇÃO CA Test Data Manager e CA Service Virtualization CA Test Data Manager e CA Service Virtualization Forneça o acesso sob demanda a ambientes seguros tão necessário para entregar software
Leia maisACEITE DE SOFTWARE NA VISÃO DO CLIENTE: GARANTINDO A QUALIDADE DOS PROJETOS DE SOFTWARE. Resp:Marcelo Nascimento Costa, MSc
ACEITE DE SOFTWARE NA VISÃO DO CLIENTE: GARANTINDO A QUALIDADE DOS PROJETOS DE SOFTWARE Resp:Marcelo Nascimento Costa, MSc Sejam Todos Bem-Vindos 1 ORIENTAÇÕES INICIAIS Dê preferência ao uso de uma conexão
Leia maisNuvem 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 maisDesenvolvimento ágil de software
Desenvolvimento ágil de software Prof. Cristiane Aparecida Lana slide 1 Bibliografia utilizada: Mais opções visite meu site, clique aqui para acessá-lo. slide 2 2011 Pearson 2011 Pearson Prentice Prentice
Leia maisQualidade de software. Prof. Emiliano Monteiro
Qualidade de software Prof. Emiliano Monteiro Por que realizar revisões por pares? 1. Para melhorar a qualidade. 2. Captura 80% de todos os erros se feito corretamente. 3. Captura erros de codificação
Leia maisITIL v3 Transição de Serviço Parte 1
ITIL v3 Transição de Serviço Parte 1 A Transição de Serviço é composto por um conjunto de processos e atividades para a transição de serviços no ambiente de produção. Aqui, deve-se encarar como um projeto
Leia maisEstágio II. Aula 04 Testes Ágeis. Prof. MSc. Fred Viana
Estágio II Aula 04 Testes Ágeis Prof. MSc. Fred Viana Agenda Manifesto dos Testes Ágeis Testes Ágeis x Testes Tradicionais Sinais de que os Testes Não São Ágeis Testador Ágil Testador Ágil em Equipe Independente
Leia maisClassGenerator - Desenvolvendo aplicações em PHP com qualidade e eficiência.
ClassGenerator - Desenvolvendo aplicações em PHP com qualidade e eficiência. Marcelio Leal 1 Porto Alegre, Abril, 2006 Apresentação Engenheiro de software do SEPRO Graduado em C. da Computação Mestrando
Leia maisGuia do Processo de Teste Metodologia Celepar
Guia do Processo de Teste Metodologia Celepar Agosto de 2009 Sumário de Informações do Documento Documento: guiaprocessoteste.odt Número de páginas: 11 Versão Data Mudanças Autor 1.0 26/12/07 Criação.
Leia maisManutenção de Software. Engenharia de Software Profa. Dra. Elisa Yumi Nakagawa 1º semestre de 2015
Manutenção de Software Engenharia de Software Profa. Dra. Elisa Yumi Nakagawa 1º semestre de 2015 Processos de Ciclo de Vida de Software Processos Fundamentais Aquisição Processos de Apoio Documentação
Leia maisProcessos de Software by Pearson Education Ian Sommerville 2006 Engenharia de Software, 8ª. edição. Capítulo 4 Slide 1
Processos de Software Ian Sommerville 2006 Engenharia de Software, 8ª. edição. Capítulo 4 Slide 1 Objetivos Apresentar modelos de processos de software Descrever três modelos genéricos de processo e quando
Leia maisFUNDAMENTOS DA ANÁLISE E PROJETO DE SISTEMAS. Projeto de Programas PPR0001
FUNDAMENTOS DA ANÁLISE E PROJETO DE SISTEMAS Projeto de Programas PPR0001 2 Introdução Antes de desenvolver ou construir qualquer produto ou sistema em engenharia é necessário um... o PROJETO O que é um
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 maisVerificação e Validação (V & V)
Verificação e Validação (V & V) Objetivo: assegurar que o software que o software cumpra as suas especificações e atenda às necessidades dos usuários e clientes. Verificação: Estamos construindo certo
Leia maisQuando 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 maisIntrodução ao RUP. Livar Correia de O. C. Cunha Effektiv Solutions
Introdução ao RUP Livar Correia de O. C. Cunha livarcocc@gmail.com 1 Rational Unified Process (RUP) É um framework de processo de desenvolvimento de software Uma metodologia é uma instanciação dos processos
Leia maisEngenharia de Software Processo de Desenvolvimento. Ciclo de Vida - Modelo Cascata
Processo de Desenvolvimento Também chamado de ciclo de vida do software Reflete os passos necessários para se construir um produto de software Existem vários modelos de ciclo de vida Cascata (1956) Iterativo
Leia maisModernização de Legados
de Legados A Davanso Tecnologia oferece ao mercado o serviço de de Sistemas Legados. Na maioria das vezes, as empresas possuem sistemas que estão em produção, representando um investimento já efetuado,
Leia maisApresentação da Disciplina de Engenharia de Software II
Apresentação da Disciplina de Engenharia de Software II Leonardo Gresta Paulino Murta leomurta@ic.uff.br Quem sou eu? Apresentações Leonardo Murta http://www.ic.uff.br/~leomurta Quem são vocês? Nome? Estágio?
Leia maisEngenharia de Software II
Engenharia de Software II Aula 4 http://www.ic.uff.br/~bianca/engsoft2/ Aula 4-03/05/2006 1 Modelos Prescritivos de Processo Modelo em cascata Modelos incrementais Modelo incremental Modelo RAD Modelos
Leia maisISO/IEC 12207: Manutenção
ISO/IEC 12207: Manutenção O desenvolvimento de um sistema termina quando o produto é liberado para o cliente e o software é instalado para uso operacional Daí em diante, deve-se garantir que esse sistema
Leia maisIntrodução a Computação em Nuvem
Introdução a Computação em Nuvem 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
Leia maisICET CURSO: Ciência da Computação e Sistemas de Informação (Engenharia de Software) Campus: Data: / / Nome:
ICET CURSO: Ciência da Computação e Sistemas de Informação (Engenharia de Software) Estudos Disciplinares Campus: Data: / / Nome: RA: Turma: Questão 1: Assinale a função correta de engenharia de requisitos:
Leia maisEscolhendo um Modelo de Ciclo de Vida
Escolhendo um Modelo de Ciclo de Vida Ciclos de Vida 1 Ciclo de Vida de um Produto Qualquer desenvolvimento de produto inicia com uma idéia e termina com o produto pretendido. O ciclo de vida de um produto
Leia maisVisõ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 maisGestão de Testes e Defeitos. Malba Jacob Prudente
Gestão de Testes e Defeitos Malba Jacob Prudente Objetivos do treinamento 1. Expor os conceitos sobre Gestão de Testes; 2. Gestão de Testes na prática; 3. Expor os conceitos sobre Gestão de Defeitos; 4.
Leia maisSUPORTE ATLASSIAN 2017 SUPORTE ATLASSIAN
SUPORTE ATLASSIAN 2017 1 Se as ferramentas Atlassian são de alto nível de importância dentro da sua organização, considere nosso Suporte Platinum. Mantenha sua equipe focada no que realmente interessa
Leia maisADMINISTRANDO O WINDOWS SERVER 2012
20411 - ADMINISTRANDO O WINDOWS SERVER 2012 CONTEÚDO PROGRAMÁTICO Módulo 1: Configurando e Solucionando problemas de sistema de nome de domínio Este módulo explica como configurar e solucionar problemas
Leia maisTeste de software. Engenharia de software Profª karine sato da silva
Teste de software Engenharia de software Profª karine sato da silva Mais sobre o TDD Test Driven Development (TDD); TDD reivindica um desenvolvimento incremental do código que inicia com testes, incluindo
Leia maisTeste de Software Intermediário
CONTEÚDO PROGRAMÁTICO Teste de Software Intermediário Carga horária: 32 horas TreinaWeb Tecnologia LTDA CNPJ: 06.156.637/0001-58 Av. Paulista, 1765 - Conj 71 e 72 São Paulo - SP CONTEÚDO PROGRAMÁTICO Ementa
Leia maisRational 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 maisEngenharia de Software
Engenharia de Software Visão Geral Profa.Paulo C. Masiero masiero@icmc.usp.br ICMC/USP Algumas Dúvidas... Como são desenvolvidos os softwares? Estamos sendo bem sucedidos nos softwares que construímos?
Leia maisUso de Integração Continua no controle de acesso a ambientes. André Pinheiro TIC - UFRJ
Uso de Integração Continua no controle de acesso a ambientes André Pinheiro TIC - UFRJ O que vamos ver... Ciclo de vida de um software Sistema de Integração Contínua (IC) Ferramentas para IC Exemplos de
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 maisDESCOBERTO. (Glen Myers)
"A ATIVIDADE DE TESTAR É O PROCESSO DE EXECUTAR UM PROGRAMA COM A INTENÇÃO DE DESCOBRIR UM ERRO. UM BOM CASO DE TESTE É AQUELE QUE TEM UMA ELEVADA PROBABILIDADE DE REVELAR UM ERRO AINDA NÃO DESCOBERTO.
Leia maisEngenharia de Software I Processos de desenvolvimento de SW. profa. Denise Neves
I Processos de desenvolvimento de SW profa. Denise Neves profa.denise@hotmail.com 2018 Projeto Um projeto é um empreendimento temporário empreendido para alcançar um único conjunto de objetivos. (PMI,PMBOK
Leia maisObjetos 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! Introdução. " Motivação para Processos de Software. ! Processo Unificado (USDP) " Definições " RUP x USDP " Características do Processo Unificado
Agenda Rodrigo Reis Cleidson de Souza! Introdução " Motivação para Processos de Software! (USDP) " Definições " RUP x USDP " Características do! Descrição detalhada do! Processos Derivados! Templates simplificados!
Leia maisRelease Automation em ação: seis maneiras de implantar aplicativos de modo confiável sob demanda e prosperar na economia dos aplicativos
Release Automation em ação: seis maneiras de implantar aplicativos de modo confiável sob demanda e prosperar na economia dos aplicativos A busca contínua da satisfação do cliente Na atual economia dos
Leia maisEngenharia de Software
Prof. M.Sc. Ronaldo C. de Oliveira ronaldooliveira@facom.ufu.br FACOM - 2011 Verificação e Validação (V&V) S.L.Pfleeger (Cap.8 & 9) R.Pressman (Cap.13 & 14) I.Sommerville (Cap.22 & 23) Introdução Verificação
Leia maisSumário. Capítulo 3 Valores do XP Feedback Comunicação... 46
Sumário Sobre o autor... 6 Revisores técnicos... 7 Agradecimentos... 9 Prefácio... 17 Introdução... 19 Capítulo 1 Extreme Programming: visão geral... 21 Valores do XP... 22 Práticas do XP... 23 Cliente
Leia maisProblemas e Práticas Recomendadas no Desenvolvimento de Software
Problemas e Práticas Recomendadas no Desenvolvimento de Software Objetivos deste módulo Levantar problemas enfrentados na prática do desenvolvimento de software Discutir boas práticas para o desenvolvimento
Leia maisADMINISTRAÇÃO DE BANCOS DE DADOS DO MICROSOFT SQL SERVER
20462 - ADMINISTRAÇÃO DE BANCOS DE DADOS DO MICROSOFT SQL SERVER CONTEÚDO PROGRAMÁTICO Estrutura de tópicos do curso Módulo 1: Introdução à administração de banco de dados do SQL Server 2014 Este módulo
Leia maisMetodologia de Gestão de Desenvolvimento de Sistemas da UFVJM
ANEXO E METODOLOGIA DE DESENVOLVIMENTO E GERENCIAMENTO DE SISTEMAS E PROPOSTAS DE PADRONIZAÇÃO DA DTI Metodologia de Gestão de Desenvolvimento de Sistemas da UFVJM Objetivo Estabelecer uma Metodologia
Leia maisINSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DO RIO GRANDE DO NORTE CAMPUS JOÃO CÂMARA IMPLEMENTAÇÃO
1 INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DO RIO GRANDE DO NORTE CAMPUS JOÃO CÂMARA IMPLEMENTAÇÃO Nickerson Fonseca Ferreira nickerson.ferreira@ifrn.edu.br Introdução 2 É o processo de tradução
Leia maisTeste como Serviço (TaaS) na Computação em Nuvem
Teste como Serviço (TaaS) na Computação em Nuvem Ricardo Ramos de Oliveira ICMC-USP E-mail: ricardoramos@icmc.usp.br Orientador: Prof. Dr. Adenilso da Silva Simao 1/64 Apresentação Ricardo Ramos de Oliveira
Leia maisÁreas de Conhecimento, Técnicas de Análise de Negócio e Conceitos-Chave
Primeiro Módulo: Parte 3 Áreas de Conhecimento, Técnicas de Análise de Negócio e Conceitos-Chave AN V 3.0 [60] Rildo F Santos (@rildosan) rildo.santos@etecnologia.com.br www.etecnologia.com.br http://etecnologia.ning.com
Leia maisEngenharia de Software Simulado para a 1ª Avaliação Bimestral Professor: Danilo Giacobo - RESPOSTAS
Engenharia de Software Simulado para a 1ª Avaliação Bimestral Professor: Danilo Giacobo - RESPOSTAS 1. Com relação à engenharia de software, julgue os itens seguintes. Engenharia de software não está relacionada
Leia maisSAM GERENCIAMENTO DE ATIVOS DE SOFTWARE
Visão Geral dos O é fundamental para o gerenciamento de um ambiente de TI, uma vez que a eficácia é seriamente comprometida se uma organização não souber quais ativos de software ela possui, onde estão
Leia mais