20
Especialização em Desenvolvimento de Aplicações WEB Metodologia de Desenvolvimento de Software – RUP 7. Gestão de Configuração e Mudanças Márcio Aurélio Ribeiro Moreira [email protected] http://si.uniminas.br/~marcio/

Especialização em Desenvolvimento de Aplicações WEB Metodologia de Desenvolvimento de Software – RUP 7. Gestão de Configuração e Mudanças Márcio Aurélio

Embed Size (px)

Citation preview

Page 1: Especialização em Desenvolvimento de Aplicações WEB Metodologia de Desenvolvimento de Software – RUP 7. Gestão de Configuração e Mudanças Márcio Aurélio

Especialização em

Desenvolvimento de Aplicações

WEB

Metodologia de Desenvolvimento de Software – RUP

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

Márcio Aurélio Ribeiro Moreira

[email protected]

http://si.uniminas.br/~marcio/

Page 2: Especialização em Desenvolvimento de Aplicações WEB Metodologia de Desenvolvimento de Software – RUP 7. Gestão de Configuração e Mudanças Márcio Aurélio

Márcio Moreira 7. Gestão de Configuração e Mudanças – slide 2Metodologia de Desenvolvimento de Software - RUP

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

Page 3: Especialização em Desenvolvimento de Aplicações WEB Metodologia de Desenvolvimento de Software – RUP 7. Gestão de Configuração e Mudanças Márcio Aurélio

Márcio Moreira 7. Gestão de Configuração e Mudanças – slide 3Metodologia 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

Page 4: Especialização em Desenvolvimento de Aplicações WEB Metodologia de Desenvolvimento de Software – RUP 7. Gestão de Configuração e Mudanças Márcio Aurélio

Márcio Moreira 7. Gestão de Configuração e Mudanças – slide 4Metodologia de Desenvolvimento de Software - RUP

Fluxo de trabalho da GCM

Page 5: Especialização em Desenvolvimento de Aplicações WEB Metodologia de Desenvolvimento de Software – RUP 7. Gestão de Configuração e Mudanças Márcio Aurélio

Márcio Moreira 7. Gestão de Configuração e Mudanças – slide 5Metodologia 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

Page 6: Especialização em Desenvolvimento de Aplicações WEB Metodologia de Desenvolvimento de Software – RUP 7. Gestão de Configuração e Mudanças Márcio Aurélio

Márcio Moreira 7. Gestão de Configuração e Mudanças – slide 6Metodologia de Desenvolvimento de Software - RUP

A: Planejar o Controle de Mudança e Configuração do Projeto

Page 7: Especialização em Desenvolvimento de Aplicações WEB Metodologia de Desenvolvimento de Software – RUP 7. Gestão de Configuração e Mudanças Márcio Aurélio

Márcio Moreira 7. Gestão de Configuração e Mudanças – slide 7Metodologia de Desenvolvimento de Software - RUP

A: Criar Ambientes para CM (Gestão de Configuração) do Projeto

Espaço de Trabalho (Workspace):

Local onde cada desenvolvedorpode trabalhar, ou seja, ambientede desenvolvimento individual.

Repositório do Projeto:

Local onde estão todos as pastas earquivos do projeto. Recomenda-seo uso de controle de versões.

Page 8: Especialização em Desenvolvimento de Aplicações WEB Metodologia de Desenvolvimento de Software – RUP 7. Gestão de Configuração e Mudanças Márcio Aurélio

Márcio Moreira 7. Gestão de Configuração e Mudanças – slide 8Metodologia de Desenvolvimento de Software - RUP

A: Gerenciar Solicitações de Mudança

Page 9: Especialização em Desenvolvimento de Aplicações WEB Metodologia de Desenvolvimento de Software – RUP 7. Gestão de Configuração e Mudanças Márcio Aurélio

Márcio Moreira 7. Gestão de Configuração e Mudanças – slide 9Metodologia de Desenvolvimento de Software - RUP

A: Monitorar e Relatar o Status de Configuração

Page 10: Especialização em Desenvolvimento de Aplicações WEB Metodologia de Desenvolvimento de Software – RUP 7. Gestão de Configuração e Mudanças Márcio Aurélio

Márcio Moreira 7. Gestão de Configuração e Mudanças – slide 10Metodologia de Desenvolvimento de Software - RUP

A: Alterar e Liberar Itens de Configuração

Page 11: Especialização em Desenvolvimento de Aplicações WEB Metodologia de Desenvolvimento de Software – RUP 7. Gestão de Configuração e Mudanças Márcio Aurélio

Márcio Moreira 7. Gestão de Configuração e Mudanças – slide 11Metodologia de Desenvolvimento de Software - RUP

A: Gerenciar Baselines e Releases

Page 12: Especialização em Desenvolvimento de Aplicações WEB Metodologia de Desenvolvimento de Software – RUP 7. Gestão de Configuração e Mudanças Márcio Aurélio

Márcio Moreira 7. Gestão de Configuração e Mudanças – slide 12Metodologia de Desenvolvimento de Software - RUP

Essência da GCMAvaliações:• M

étricas de Projeto

• Registro de Auditoria de Configuração

Page 13: Especialização em Desenvolvimento de Aplicações WEB Metodologia de Desenvolvimento de Software – RUP 7. Gestão de Configuração e Mudanças Márcio Aurélio

Márcio Moreira 7. Gestão de Configuração e Mudanças – slide 13Metodologia 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

Page 14: Especialização em Desenvolvimento de Aplicações WEB Metodologia de Desenvolvimento de Software – RUP 7. Gestão de Configuração e Mudanças Márcio Aurélio

Márcio Moreira 7. Gestão de Configuração e Mudanças – slide 14Metodologia 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óriaNúmero de operações de I/O (entradas/saídas)Largura de banda de redeEspaço em disco para o projeto

Dicas:Use ferramentas de controle de versão, como: Sub-

version, SourceSafe, etc.Use um servidor dedicado (não compartilhe funções)

Page 15: Especialização em Desenvolvimento de Aplicações WEB Metodologia de Desenvolvimento de Software – RUP 7. Gestão de Configuração e Mudanças Márcio Aurélio

Márcio Moreira 7. Gestão de Configuração e Mudanças – slide 15Metodologia 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 dadosServidor de aplicaçõesServidor de webInterface de Desenvolvimento (IDE) e compilação

Máquina de cliente:Ambiente cliente da aplicação

Page 16: Especialização em Desenvolvimento de Aplicações WEB Metodologia de Desenvolvimento de Software – RUP 7. Gestão de Configuração e Mudanças Márcio Aurélio

Márcio Moreira 7. Gestão de Configuração e Mudanças – slide 16Metodologia 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.

Page 17: Especialização em Desenvolvimento de Aplicações WEB Metodologia de Desenvolvimento de Software – RUP 7. Gestão de Configuração e Mudanças Márcio Aurélio

Márcio Moreira 7. Gestão de Configuração e Mudanças – slide 17Metodologia 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

Page 18: Especialização em Desenvolvimento de Aplicações WEB Metodologia de Desenvolvimento de Software – RUP 7. Gestão de Configuração e Mudanças Márcio Aurélio

Márcio Moreira 7. Gestão de Configuração e Mudanças – slide 18Metodologia 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: Utilizado para desenvolvimento

individual e Teste Unitário Desenvolvimento: Usado para integração e Testes de Integração (internas) Testes de Sistema: Usado para realizar os Testes de Sistema Testes Integrados: Usado para realizar os Testes Integrados (externos) Homologação: Usado para os Testes de Performance e de

Aceitação Produção: Utilizado como ambiente final de

produção

Será necessário migrar dados dos legados para o novo software

Page 19: Especialização em Desenvolvimento de Aplicações WEB Metodologia de Desenvolvimento de Software – RUP 7. Gestão de Configuração e Mudanças Márcio Aurélio

Márcio Moreira 7. Gestão de Configuração e Mudanças – slide 19Metodologia 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.

Page 20: Especialização em Desenvolvimento de Aplicações WEB Metodologia de Desenvolvimento de Software – RUP 7. Gestão de Configuração e Mudanças Márcio Aurélio

Márcio Moreira 7. Gestão de Configuração e Mudanças – slide 20Metodologia de Desenvolvimento de Software - RUP

Referências

Sigla Referência

JAC98Ivar Jacobson, Grady Booch, and James Rumbaugh. The Unified Software Development Process. 1998. Addison Wesley Longman.

KRO03Per 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.

MAR09Má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.