7. Gestão de Configuração e Mudanças

Report
Processo de Desenvolvimento de
Software – RUP
7. Gestão de Configuração e Mudanças
Márcio Aurélio Ribeiro Moreira
[email protected]
http://si.lopesgazzani.com.br/docentes/marcio/
Conceitos de GCM
 Configuração:
 Conjunto de requisitos (funcionais ou não) atendidos por uma
versão do software
 Mudanças:
 Qualquer alteração em artefatos (produtos do trabalho) já validados
 Linha Base:
 Conjunto formado pela configuração e artefatos que compõem uma
versão do software
 É altamente recomendável a utilização de um software de controle
de versões (SubVersion, SourceSafe, etc.) para gerir a linha base
 Benefícios da GCM:
 Controle de artefatos evitando problemas de: atualização
simultânea, notificação limitada (alguns não ficam sabendo da
alteração) e múltiplas versões
Márcio Moreira
7. Gestão de Configuração e Mudanças – slide 2
Processo de Desenvolvimento de Software - RUP
Objetivos da GCM
 Suportar métodos de desenvolvimento
 Manter a integridade do produto
 Assegurar a integralidade e correção do produto
configurado
 Fornecer um ambiente estável dentro do qual se
possa desenvolver o produto
 Restringir as alterações nos Produtos de Trabalho
(artefatos) de acordo com as políticas do projeto
 Fornecer uma auditoria acompanhando o porque,
quando e por quem foi feita alteração nos artefatos
Márcio Moreira
7. Gestão de Configuração e Mudanças – slide 3
Processo de Desenvolvimento de Software - RUP
Fluxo de trabalho da GCM
Márcio Moreira
7. Gestão de Configuração e Mudanças – slide 4
Processo de Desenvolvimento de Software - RUP
Objetivos das atividades
 Planejar o Controle de Mudança e Configuração do Projeto:
 Como serão tratadas as mudanças nos artefatos no desenvolvimento do
software
 Criar Ambientes para CM (Gerenciamento de Configuração) do Projeto:
 Disponibilizar um ambiente onde o produto possa desenvolvido e
disponibilizado
 Gerenciar Solicitações de Mudança:
 Garantir que as mudanças aprovadas sejam feitas de forma consistente no
projeto
 Monitorar e Relatar o Status de Configuração:
 Dar visibilidade para as alterações de configuração do produto
 Alterar e Liberar Itens de Configuração:
 Gerenciar os artefatos do projeto entregues e disponibilizados pelo projeto
 Gerenciar Baselines e Releases:
 Garantir que uma release seja uma baseline consistente de artefatos
Márcio Moreira
7. Gestão de Configuração e Mudanças – slide 5
Processo de Desenvolvimento de Software - RUP
A: Planejar o Controle de Mudança e
Configuração do Projeto
Márcio Moreira
7. Gestão de Configuração e Mudanças – slide 6
Processo de Desenvolvimento de Software - RUP
A: Criar Ambientes para CM (Gestão
de Configuração) do Projeto
Márcio Moreira
Repositório do Projeto:
Espaço de Trabalho (Workspace):
Local onde estão todos as pastas e
arquivos do projeto. Recomenda-se
o uso de controle de versões.
Local onde cada desenvolvedor
pode trabalhar, ou seja, ambiente
de desenvolvimento individual.
7. Gestão de Configuração e Mudanças – slide 7
Processo de Desenvolvimento de Software - RUP
A: Gerenciar Solicitações de
Mudança
Márcio Moreira
7. Gestão de Configuração e Mudanças – slide 8
Processo de Desenvolvimento de Software - RUP
A: Monitorar e Relatar o Status de
Configuração
Márcio Moreira
7. Gestão de Configuração e Mudanças – slide 9
Processo de Desenvolvimento de Software - RUP
A: Alterar e Liberar Itens de
Configuração
Márcio Moreira
7. Gestão de Configuração e Mudanças – slide 10
Processo de Desenvolvimento de Software - RUP
A: Gerenciar Baselines e Releases
Márcio Moreira
7. Gestão de Configuração e Mudanças – slide 11
Processo de Desenvolvimento de Software - RUP
Essência da GCM
Preparação:
• Plano de Gestão de Configuração
• Repositório de Projeto e Espaço de Trabalho
• Controle de Mudanças
Mudanças:
• Plano de Desenvolvimento do Software
• Plano de Iteração
• Ordem de Trabalho
Avaliações:
• Métricas de Projeto
• Registro de Auditoria de Configuração
Márcio Moreira
7. Gestão de Configuração e Mudanças – slide 12
Processo de Desenvolvimento de Software - RUP
P: Plano de Gestão de Configuração
 Software de Gestão de Configuração:
 Organização, Responsabilidades e Interfaces:
 Como está estruturada as atividades de CM, quem são os responsáveis por elas e quais as
interfaces as quais elas estão submetidas
 Ferramentas, Ambiente e Infra-estrutura:
 Quais softwares serão utilizados em qual ambiente e em qual infra-estrutura
 Gestão de Configuração:
 Identificação da Configuração:
 Métodos de Identificação
 Linhas de Base do Projeto
 Configuração e Controle de Alterações:
 Processamento e Aprovação de Controles de Mudanças
 CCB (Conselho de Controle de Mudanças)
 Contabilidade do Status de Configuração:
 Armazenamento de Mídia do Projeto e Processo de Release
 Relatórios e Auditorias
 Marcos
 Treinamentos e Recursos
Márcio Moreira
7. Gestão de Configuração e Mudanças – slide 13
Processo de Desenvolvimento de Software - RUP
P: Repositório do Projeto
 Armazena todas as versões de pastas, arquivos,
dados e meta-dados do projeto
 Principais considerações de hardware:
 Requisitos de memória
 Número de operações de I/O (entradas/saídas)
 Largura de banda de rede
 Espaço em disco para o projeto
 Dicas:
 Use ferramentas de controle de versão, como: Subversion, SourceSafe, etc.
 Use um servidor dedicado (não compartilhe funções)
Márcio Moreira
7. Gestão de Configuração e Mudanças – slide 14
Processo de Desenvolvimento de Software - RUP
P: Espaço de Trabalho
Máquina de desenvolvimento individual de
cada desenvolvedor
Deve conter:
Servidor de desenvolvimento:
Servidor de banco de dados
Servidor de aplicações
Servidor de web
Interface de Desenvolvimento (IDE) e compilação
Máquina de cliente:
Ambiente cliente da aplicação
Márcio Moreira
7. Gestão de Configuração e Mudanças – slide 15
Processo de Desenvolvimento de Software - RUP
P: Controle de Mudanças
 Identificação:
 Projeto, Número da Mudança, Tipo da Mudança (Defeito ou Melhoria), Cargo, Data,
Identificador e Prioridade (Baixa, Média, Alta)
 Problema Atual:
 Descrição, Falha Crítica, Condições, Dano ou Melhoria, Novo Requisito, Origem do
Problema, Impacto (Custo ou Economia)
 Mudança Proposta Pelo Identificador:
 Descrição e Custo Estimado
 Mudança Proposta pela Equipe de Revisão:
 Descrição, Categoria (Correção ou Melhoria), Novo Recurso, Itens de Configuração
Afetados, Situação (Aprovada, Cancelada ou Adiada)
 Resolução:
 Desenvolvedor, Tempo Real (Modelagem, Requisitos, Análise & Projeto,
Desenvolvimento, Teste, Documentação), Custo Real, Itens de Configuração
Afetados, Linhas de Código afetadas
 Avaliação:
 Métodos de Teste, Inspeção, Análise, Demonstração , Teste, Plataformas, etc.
Márcio Moreira
7. Gestão de Configuração e Mudanças – slide 16
Processo de Desenvolvimento de Software - RUP
P: Registro de Auditoria de
Configuração
 Itens deste registro:














Introdução
Data da Auditoria
A Intenção da Auditoria
Avaliação Geral
Auditoria da Configuração Física
Identificação de Nível Base
Produtos de Trabalho Ausentes
Auditoria Funcional da Configuração
Requisitos Não Testados
Requisitos Reprovados
Controles de Mudanças em Aberto
Ação ou Ações Corretivas
Responsável pela Ação
Data de Acompanhamento
Márcio Moreira
7. Gestão de Configuração e Mudanças – slide 17
Processo de Desenvolvimento de Software - RUP
Exercício 4: Contexto
 Considerando o mesmo projeto dos exercícios 1 a 3, e além disto:
 A implantação é personalizada e o produto não será comercializado para
nenhuma outra empresa
 Nas negociações de treinamento ficou acertado:
 O integrador treina os Multiplicadores do cliente
 Os multiplicadores do cliente treinam os usuários finais
 Os testes de aceitação serão feitos por usuários chaves designados pelos
clientes internos da empresa
 Serão utilizados os seguintes ambientes:
 Individual:
 Desenvolvimento:
 Testes de Sistema:
 Testes Integrados:
 Homologação:
 Produção:
Utilizado para desenvolvimento individual e Teste Unitário
Usado para integração e Testes de Integração (internas)
Usado para realizar os Testes de Sistema
Usado para realizar os Testes Integrados (externos)
Usado para os Testes de Performance e de Aceitação
Utilizado como ambiente final de produção
 Será necessário migrar dados dos legados para o novo software
Márcio Moreira
7. Gestão de Configuração e Mudanças – slide 18
Processo de Desenvolvimento de Software - RUP
Exercício 4: Questões
1. Que Atividades e Tarefas de Implantação & Gestão de
Configuração e Mudanças vocês recomendam que sejam
utilizadas neste caso?
2. Justifique porque vocês incluíram ou excluíram cada
Atividade e Tarefa.
3. Vocês recomendam alguma atividade e/ou tarefas extras
para a Migração? Quais e por que?
4. Utilizando as métricas: % de Casos de Teste executados
com sucesso e Severidade das Falhas (Bloqueador,
Crítica, Severa, Moderada e Cosmética), que condições
vocês recomendam como critérios de passagem de
Testes de Sistemas para Teste Integrados e destes para
Testes de Aceitação? Justifique suas recomendações.
Márcio Moreira
7. Gestão de Configuração e Mudanças – slide 19
Processo de Desenvolvimento de Software - RUP
Referências
Sigla
Referência
JAC98
Ivar Jacobson, Grady Booch, and James Rumbaugh. The Unified Software Development Process. 1998. Addison
Wesley Longman.
KRO03
Per Kroll e Philippe Kruchten 2003. The Rational Unified Process Made Easy, A Practitioners Guide to the RUP.
Addison Wesley Longman.
KRU98 P. Kruchten; The Rational Unified Process: An Introduction, Object Technology Series, Addison-Wesley, 1998.
MAR05 Márcio Moreira. Resumo do livro Unified Process. Márcio. Uberlândia (MG). 2005.
MAR06 Márcio Moreira. Engenharia de Software - RUP . Uniube - Universidade de Uberaba - Uberlândia (MG). 2006.
MAR09 Márcio Moreira. Metodologia e Conceitos de Implantação de Sistemas. Empresa. Bom dia TI. Uberlândia (MG). 2009.
PRE95
PRESSMAN, R. S. Engenharia de software. São Paulo: Makron Books. 1995.
RUP08 IBM Rational. RUP – Rational Unified Process – 7.5 – For Large and Small Projects. 2008. IBM Rational.
SUM07 Sommerville, Ian. Engenharia de Software. 8ª Ed. Pearson / Prentice Hall. 2007.
Márcio Moreira
7. Gestão de Configuração e Mudanças – slide 20
Processo de Desenvolvimento de Software - RUP

similar documents