210 likes | 333 Views
Metodologia de Desenvolvimento de Software – RUP 7. Gestão de Configuração e Mudanças. Márcio Aurélio Ribeiro Moreira marcio.moreira@uniminas.br http://si.uniminas.br/~marcio/. Conceitos de GCM. Configuração: Conjunto de requisitos (funcionais ou não) atendidos por uma versão do software
E N D
Metodologia de Desenvolvimento de Software – RUP7. Gestão de Configuração e Mudanças Márcio Aurélio Ribeiro Moreira marcio.moreira@uniminas.br http://si.uniminas.br/~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
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
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
A: Criar Ambientes para CM (Gestão de Configuração) do Projeto Repositório do Projeto: Local onde estão todos as pastas e arquivos do projeto. Recomenda-se o uso de controle de versões. Espaço de Trabalho (Workspace): Local onde cada desenvolvedor pode trabalhar, ou seja, ambiente de desenvolvimento individual.
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
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: Sub-version, SourceSafe, etc. • Use um servidor dedicado (não compartilhe funções)
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
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.
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
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
Exercício 4: Questões • Que Atividades e Tarefas de Implantação & Gestão de Configuração e Mudanças vocês recomendam que sejam utilizadas neste caso? • Justifique porque vocês incluíram ou excluíram cada Atividade e Tarefa. • Vocês recomendam alguma atividade e/ou tarefas extras para a Migração? Quais e por que? • 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.