ES06 Especialização em Engenharia de Software Prof.: Misael Santos (misael@gmail.com) Ago/2010



Documentos relacionados
Gerência de Configuração. Professor: Dr. Eduardo Santana de Almeida Universidade Federal da Bahia

ISO/IEC 12207: Gerência de Configuração

Gestão de Modificações. Fabrício de Sousa

Gerenciamento de configuração. Gerenciamento de Configuração. Gerenciamento de configuração. Gerenciamento de configuração. Famílias de sistemas

ARCO - Associação Recreativa dos Correios. Sistema para Gerenciamento de Associações Recreativas Plano de Desenvolvimento de Software Versão <1.

GERÊNCIA DE CONFIGURAÇÃO. Isac Aguiar isacaguiar.com.br

A Disciplina Gerência de Projetos

Atividades da Engenharia de Software GERENCIAMENTO DA CONFIGURAÇÃO DE SOFTWARE. Atividades da Engenharia de Software. Processo de Desenvolvimento de

Engenharia de Software I

Agenda. Gerência de Configuração de Software. Atividade Sala. Quais os problemas? P1) Duplicidade de Trabalho. P2) Trabalhos Sobrepostos

Gerência de Configuração de Software Funções

Casos de Sucesso. Cliente. Deloitte Touche Tohmatsu Consultores LTDA

ITIL V3 (aula 2) AGENDA: GERENCIAMENTO DE MUDANÇA GERENCIAMENTO DE LIBERAÇÃO GERENCIAMENTO DE CONFIGURAÇÃO

Gerenciamento de Configuração de Software

Introdução ao Controle de Versões. Leonardo Murta

Gerência de Configuração. Profº Rômulo César

Metodologia de Gerenciamento de Projetos da Justiça Federal

Capítulo X. Gerenciar Mudanças dos Requisitos. Aluizio Saiter, M. Sc.

Conteúdo. Disciplina: INF Engenharia de Software. Monalessa Perini Barcellos

Gerência de Configuração de Software Introdução

NORMA ISO/IEC Isac Aguiar isacaguiar.com.br

Mini-Curso Gerência de Configuração Visão prática

F.1 Gerenciamento da integração do projeto

Prof. Júlio Valente Agosto/2015. CV Resumido

Ferramenta de apoio a gerência de configuração de software. Aluno: Rodrigo Furlaneto Orientador: Everaldo Artur Grahl

Plano de Gerência de Configuração

Gerenciamento de Problemas

BRAlarmExpert. Software para Gerenciamento de Alarmes. BENEFÍCIOS obtidos com a utilização do BRAlarmExpert:

Referências internas são os artefatos usados para ajudar na elaboração do PT tais como:

Profa. Gislaine Stachissini. Unidade III GOVERNANÇA DE TI

GARANTIA DA QUALIDADE DE SOFTWARE

Plano de Gerenciamento do Projeto

Agenda. Introdução Etapas genéricas Atividades de apoio Ferramentas de apoio Modelos genéricos Modelos de mercado Modelos de melhoria

Gerenciamento de Projeto: Monitorando e Controlando o Projeto II. Prof. Msc Ricardo Britto DIE-UFPI rbritto@ufpi.edu.br

Empresa de Informática Infinity LTDA. Gerenciamento de Configuração. Sistema de Gerenciamento de Plano Corporativo de Celulares

Glossário Apresenta a definição dos termos, siglas e abreviações utilizadas no contexto do projeto Citsmart.

Rede TSQC / SOFTEX Workshop de Aquisição de software Guia de Aquisição MPS.BR

Módulo 3. Estrutura da norma ISO Sistemas de Gestão da Qualidade Requisitos Requisitos 4.2, 5.1, 5.2 e 5.3 Exercícios

Prova de Conhecimento para Consultores de Implementação MPS.BR INSTRUÇÕES

CONCORRÊNCIA AA Nº 05/2009 BNDES ANEXO X PROJETO BÁSICO: DESCRIÇÃO DOS PROCESSOS DE TI

TI Aplicada. Aula 02 Áreas e Profissionais de TI. Prof. MSc. Edilberto Silva prof.edilberto.silva@gmail.com

29/05/2012. Gestão de Projetos. Luciano Gonçalves de Carvalho FATEC. Agenda. Gerenciamento de Integração do Projeto Exercícios Referências FATEC

Diretrizes de Qualidade de Projetos

Manual Geral do OASIS

Controle de Versão. Prof. Msc. Bruno Urbano Rodrigues.

Introdução a Computação

Termo de Abertura Sistema de Vendas de Pizzas Online (PizzaWeb) - Versão 1.0

Pós-Graduação em Gerenciamento de Projetos práticas do PMI

REGULAMENTO DO TRABALHO DE CONCLUSÃO DE CURSO Curso Superior de Tecnologia em Sistemas para Internet 2/2012

Integração de Ferramentas de Apoio a Processos Outubro 2010 GUSTAVO VAZ NASCIMENTO

Gerenciamento de Níveis de Serviço

Integração do Teamcenter com o Catia V5

Gerência de Projetos

Prof. Marcelo Machado Cunha

PROCEDIMENTO ISO PSQ 001

Gerenciamento de Projetos Modulo II Ciclo de Vida e Organização do Projeto

AUTOR: DAVID DE MIRANDA RODRIGUES CONTATO: CURSO FIC DE PROGRAMADOR WEB VERSÃO: 1.0

Gerenciamento de software como ativo de automação industrial

Project and Portfolio Management [PPM] Sustainable value creation.

Engenharia de Software II

Gerenciamento de Integração do Projeto Planejamento e Execução do Projeto

SIMULADO: Simulado 3 - ITIL Foundation v3-40 Perguntas em Português

Gerenciamento de integração de projeto

Critérios para certificação de Sites SciELO: critérios, política e procedimentos para a classificação e certificação dos sites da Rede SciELO

UNIP Ciência da Computação / Sistemas de Informação TED I - Orientações Gerais para Elaboração dos Documentos

Contextualizando ISO 12207: Estrutura. Informações do Processo de Software. Processo de Desenvolvimento de Software

Universidade Paulista

Documento de Requisitos

Implantação de um Processo de Medições de Software

PDS - DATASUS. Processo de Desenvolvimento de Software do DATASUS

Rational Quality Manager. Nome: Raphael Castellano Campus: AKXE Matrícula:

ADMINISTRAÇÃO DE ATIVOS DE TI GERENCIAMENTO DE LIBERAÇÃO

Análise de Pontos por Função

Sistemas de Banco de Dados Aspectos Gerais de Banco de Dados

Gerenciamento da Integração (PMBoK 5ª ed.)

Oficina de Gestão de Portifólio

MUDANÇAS NA ISO 9001: A VERSÃO 2015

Engenharia de Software I

Hardware (Nível 0) Organização. Interface de Máquina (IM) Interface Interna de Microprogramação (IIMP)

Diretrizes Complementares para Aplicação da Análise de Pontos de Função no PAD

FANESE Faculdade de Administração e Negócios de Sergipe

Gerenciamento de Projetos

ADMINISTRAÇÃO DE ATIVOS DE TI GERENCIAMENTO DE CONFIGURAÇÃO

CONTRA CONTROLE DE ACESSOS E MODULARIZADOR DE SISTEMAS

Tipos de teste de software

Controle de Versão com CVS

Gerenciador de Mudanças automatizadas

Modelo de avaliação do processo de gerência de configuração de software

15/09/2015. Gestão e Governança de TI. Modelo de Governança em TI. A entrega de valor. A entrega de valor. A entrega de valor. A entrega de valor

08/09/2011 GERÊNCIA DA INTEGRAÇÃO PMBOK GESTÃO DE PROJETOS

Qual a diferença entre certificação e acreditação? O que precisamos fazer para obter e manter a certificação ou acreditação?

Gerenciamento de Serviços de TI com base na ITIL

Figura 1 - Arquitetura multi-camadas do SIE

Diretrizes Propostas para Aplicação da APF em Programa Envolvendo Tecnologias Recentes Tais como Barramento, BPMS e Portal

Gerenciamento de Projetos Modulo XI Comunicações

Transcrição:

Gestão de Configuração de Software - Conceitos Principais - ES06 Especialização em Engenharia de Software Prof.: Misael Santos (misael@gmail.com) Ago/2010

Agenda Configuração Itens de Configuração Versionamento Repositório Espaço de Trabalho (Workspace) Baselines Build Reproducibilidade CCB 3

Configuração Os itens que compreendem toda a informação produzida como parte do processo de software são chamados coletivamente de configuração de software. 4

Configuração É a designação geral para o conjunto de itens de configuração* de um projeto de software. 5

Itens de Configuração de Software É a informação criada como parte do processo de engenharia de software. (SCI, Pressman, 2006) É a designação geral de qualquer artefato ou produto de software mantido sob gestão de configuração/mudança. São itens de informação selecionados. 6

Itens de Configuração de Software Em geral é: Um produto de software ou Um produto de desenvolvimento de software Deve possuir uma identificação única Regras de Nomenclatura devem ser utilizadas 7

Itens de Configuração de Software Exemplos: um plano de projeto um cronograma uma especificação de caso de uso um modelo ou parte de um modelo código-fonte * um módulo executável ou componente, um arquivo de help um script de teste 8

Itens de Configuração de Software Muitas organizações colocam também ferramentas de software sob controle de configuração. Ex: Versões específicas de editores Compiladores Navegadores Outras ferramentas... Importante para a Reproducibilidade* 9

Itens de Configuração de Software Itens de Configuração podem ser agrupados em Objetos de Configuração. Especificação de Projeto Projeto de dados Projeto arquitetônico Projeto de interface Composição Modelo de Dados Inter-relacionamento Especificação de Teste Códig-Fonte Plano de testes Scripts de testes Casos de teste Inter-relacionamento 10

Itens de Configuração de Software Configuração do Software Objeto de Configuração de Software Itens de Configuração Objeto de Configuração de Software Objeto de Configuração de Software Itens de Configuração Itens de Configuração 11

Versionamento Versionamento é a disciplina através da qual são preservadas as versões de um artefato, de modo sistemático e seguro, não limitado em número de versões. A cada alteração consolidada no repositório uma nova versão do item deve ser gerada. Todas as versões devem ser armazenadas e identificadas. Revisões = versões individuais de cada item. 12

Versionamento Versão: Estado definido de um objeto num dado momento. Fotografia do objeto. 13

Versionamento Tipos de versionamento: Delta Negativo - armazena-se integralmente a versão mais recente e as diferenças (deltas) existentes até então. (Mais Implementado) Delta Positivo - armazena-se a versão mais antiga e, para montar as versões mais recentes, processam-se as diferenças (deltas) armazenadas. 14

Versionamento >_ arquivo1.c document2.doc classea.java 1 1 1 2 2 2 3 3 4 4 5 6 15

Versionamento Árvore de versões do ClearCase 16

Versionamento Deve ser possível recuperar versões anteriores de um item. Além de artefatos, podemos versionar configurações completas ou parciais de um software É, portanto, aceitável falar-se em: Versão de um artefato (documento, cronograma, modelo, programa, etc) Versão de um sistema 17

Repositório 18

Repositório - cria elementos - atualiza elementos repositório - recupera elementos - integra elementos - publica elementos - recupera elementos - realiza testes automáticos 19 - recupera elementos - realiza testes - corrige elementos - elabora planos - verifica elementos - acompanha o andamento

Repositório É o conjunto de mecanismos e estruturas de dados que permite a uma equipe de software gerir modificação de modo efetivo. É um local sob controle de acesso onde são armazenados os itens de configuração. 20

Repositório Deve permitir: Controle de acesso O versionamento dos elementos Representar marcos de projeto ou versões de produção específicas Pistas de auditoria das modificações O que, quando, quem e por que. 21

Repositório Existem diversas ferramentas de mercado: Rational ClearCase CVS (Concurrent Versions System) Subversion Git Mercurial 22

Espaço de Trabalho (Workspace) 23

Espaço de Trabalho (Workspace) Um lugar onde o desenvolvedor possa trabalhar isoladamente sobre os seus artefatos enquanto ele finaliza uma tarefa sem interferências externas. Utilizado para: Criação/edição de artefatos Operações de gerenciamento Consultas 24

Espaço de Trabalho (Workspace) Visões de Imagem (ou Visão Estática ou Snapshots): Apresenta ao desenvolvedor um ambiente de trabalho estável e isento de mudanças. Quando um desenvolvedor deseja enxergar mudanças realizadas por outros grupos, ele pode atualizar sua visão. Este formato de trabalho é conhecido por modelo pull, orientando sempre pela busca da informação desejada, ao invés de empurrar as mudanças. Visões Dinâmicas: Não armazenam nada localmente, dependem de atualizações imediatas realizadas através da rede. São recomendadas nas seguintes situações: Espaço restrito no ambiente do desenvolvedor Necessidade de compartilhamento de certos objetos Membros de grupos virtuais necessitam trabalhar com as últimas versões de um código 25

Baselines Também chamadas de: Referenciais (Pressman) Linhas de Referências Linhas de Base Linhas-base 26

Baselines Uma especificação ou produto que foi formalmente revisto e aprovado, o qual daí em diante serve como base para o desenvolvimento futuro e que pode ser modificado apenas por meio de procedimentos formais de controle de modificação. (IEEE Std n o. 610.12-1990) 27

Baselines Uma baseline é uma fotografia de um conjunto de itens de configuração em um determinado momento do processo de desenvolvimento. A configuração do software em um ponto discreto no tempo. Normalmente é gerada ao final de uma fase do desenvolvimento ou demandada pelo líder do projeto. 28

Baselines Representam Marcos no Projeto (Milestones), ex: Final de especificação dos requisitos Modelos documentados e revisados Final da implementação de um módulo (incremento) Erros encontrados e corrigidos (Testes, Homologação) Implantação de uma Versão do Sistema 29

Baselines Origem da versão de todos os ambientes: Testes Homologação Produção 30

Baselines Software Revisão/Aprovação Software Solicitar Alterações Alterações Analista Atender Solicitações Analista Demandar Alterações Aprovadas Gerente de Projetos (ou CCMS) 31

Baselines Ferramentas possuem recursos próprios para a administração de baselines CVS, Subversion tag ClearCase Apply Label 32

Baselines no CVS bash-2.05a$ cvs tag pre_alpha_0-1 cvs server: Tagging. T Changelog T INSTALL T Makefile T README T TODO cvs server: Tagging doc cvs server: Tagging doc/design T doc/design/acceptancetest.doc T doc/design/analysis.rtf T doc/design/requirements.doc T doc/design/specification.rtf cvs server: Tagging doc/plan T doc/plan/schedule.rtf cvs server: Tagging lib cvs server: Tagging man cvs server: Tagging src T src/config.h T src/main.c 33

Baselines no ClearCase 34

Build Representa uma versão que pode ser ainda incompleta do sistema em desenvolvimento, mas com certa estabilidade Costuma apresentar limitações conhecidas Pode incluir código-fonte, documentação, arquivos de configuração, base de dados, etc A política de geração das builds deve ser bem definida na estruturação do ambiente 35

Build Durante o projeto podem ser criadas várias builds A freqüência varia de acordo com a necessidade do projeto A build é o resultado principal de uma integração Pode ser gerada automaticamente com a utilização de ferramentas 36

Integração Atividade que consiste em juntar partes do software conforme vão ficando prontas Participam da atividade de integração itens já testados isoladamente (teste de unidade) A integração pode incluir sincronização entre modelo e código O produto principal da integração é uma build 37

Reproducibilidade A habilidade de reproduzir/gerar uma versão anterior do sistema. A partir do conteúdo de uma baseline conseguir obter uma versão estável do produto. 38

Reproducibilidade The Baseline Reproducibility Principle: Uma baseline deve ser reproduzível. Devemos ser capazes de reproduzir a configuração" e o conteúdo de todos os elementos necessários para reproduzir uma versão liberada (released) do produto. (Brad Appleton) 39

CCB Configuration Control Board Comitê de Controle da Configuração Ou ainda CMCS (Comitê de Mudanças na Configuração do Software) 40

CCB Têm autoridade para aprovar ou rejeitar solicitações de alterações. 41

CCB Responsabilidades: Analisar as solicitações de mudança Controlar o escopo do projeto Reuniões com freqüência adequada ao ritmo das solicitações de mudança Envolver stakeholders no processo de priorização e decisão Balanço entre o nível de controle desejado e overhead suportado Questões menores devem ser resolvidas pelo líder do projeto junto à equipe, reduzindo o overhead do CCB 42

Características do CCB Composição multidisciplinar SQA, gerente, cliente, arquiteto Profissionais com grande capacidade de comunicação e negociação Pode apresentar uma estrutura hierarquica dependendo do tamanho e da quantidade de stakeholders e sistemas envolvidos Em pequenos projetos pode ser representando unicamente pelo Lider de Projeto ou outro profissional designado. 43

Referências PRESSMAN, R. S., Engenharia de Software, 6ª. ed., 2006. HASS A. M. J., Configuration Management Principles and Practice, Addison Wesley, 432p, 2002. FREDERICKS T. Software Configuration and Integration Management, Marquette University, 2001. PSDS Processo SERPRO de Desenvolvimento de Soluções, SERPRO, 2006. Brad Appleton's ACME Blog, disponível em: http://bradapp.blogspot.com 44