GCS - Aula 06 - Gestão de Mudanças

5,335 views
5,154 views

Published on

GCS - Aula 06 - Gestão de Mudanças

Conceitos e Ferramentas.

Disciplina de Gestão de Configuração de Software do Curso de Especialização em Engenharia de Software.

Published in: Technology

GCS - Aula 06 - Gestão de Mudanças

  1. 1. Gestão de Configuração de Software - Gestão de Mudanças - ES06 – Especialização em Engenharia de Software Prof.: Misael Santos (misael@gmail.com) Ago/2010
  2. 2. Agenda <ul><li>Gestão de Mudanças </li></ul><ul><li>Tipo de Mudanças </li></ul><ul><li>Manutenção de Software </li></ul><ul><ul><li>Tipos de Manutenção </li></ul></ul><ul><li>Solicitações de Mudanças </li></ul><ul><li>Ferramentas </li></ul><ul><ul><li>Bugzilla </li></ul></ul><ul><ul><li>JIRA </li></ul></ul><ul><ul><li>Mantis </li></ul></ul>Copyright © 2010 Misael Santos Gestão de Configuração de Software
  3. 3. Gestão de Mudanças <ul><li>Deve ser definido um documento/procedimento padrão para que mudanças possam ser solicitadas </li></ul><ul><li>O artefato normalmente se chama Solicitação de Mudança (SM, Em inglês CR) </li></ul><ul><li>A um conjunto de pessoas (CCB), deve ser dada a autoridade para decidir se uma mudança será ou não implementada </li></ul><ul><li>O processo é necessário para garantir que apenas mudanças avaliadas e aprovadas são realizadas em ICs </li></ul>Copyright © 2010 Misael Santos Gestão de Configuração de Software
  4. 4. Gestão de Mudanças <ul><li>Tipos de Mudanças Comuns </li></ul><ul><ul><li>Correção de Erros </li></ul></ul><ul><ul><li>Implementação de Melhorias </li></ul></ul><ul><ul><li>Criação de Novas funcionalidades </li></ul></ul>Copyright © 2010 Misael Santos Gestão de Configuração de Software
  5. 5. Manutenção de Software Definição Construção Manutenção Produto de Software Copyright © 2010 Misael Santos Gestão de Configuração de Software
  6. 6. Manutenção de Software <ul><li>Mudanças efetuadas no software depois de sua liberação </li></ul><ul><li>As alterações ocorrem por diversas razões, as quais determinam o tipo de manutenção </li></ul>Copyright © 2010 Misael Santos Gestão de Configuração de Software
  7. 7. Tipos de Manutenção <ul><li>Manutenção Corretiva </li></ul><ul><ul><li>Identificar e corrigir erros </li></ul></ul><ul><li>Manutenção Adaptativa </li></ul><ul><ul><li>Adaptar o software às mudanças ocorridas no ambiente (Normas, Leis, Mercado) </li></ul></ul><ul><ul><li>Novas gerações de hardware </li></ul></ul><ul><ul><li>Novos sistemas operacionais e software de apoio </li></ul></ul><ul><ul><li>Atualizações e modificações em equipamentos periféricos e outros elementos de sistema </li></ul></ul>Copyright © 2010 Misael Santos Gestão de Configuração de Software
  8. 8. Tipos de Manutenção <ul><li>Manutenção Perfectiva </li></ul><ul><ul><li>Atender aos pedidos do usuário para: </li></ul></ul><ul><ul><ul><li>Modificar funções existentes </li></ul></ul></ul><ul><ul><ul><li>Incluir novas funções (novos requisitos) </li></ul></ul></ul><ul><ul><ul><li>Ampliar o escopo do software </li></ul></ul></ul><ul><ul><ul><li>Efetuar melhorias em geral </li></ul></ul></ul><ul><li>Manutenção Preventiva </li></ul><ul><ul><li>Melhorar a manutenibilidade ou confiabilidade futuras e fornecer uma base melhor para futuros melhoramentos </li></ul></ul>Copyright © 2010 Misael Santos Gestão de Configuração de Software
  9. 9. Sistema de Controle de Mudanças <ul><li>“ Uma coleção formal e documentada de procedimentos, sistemas de acompanhamento e níveis de aprovação para autorização de mudanças no projeto.” (PMBOK) </li></ul><ul><li>É um subsistema do Sistema de Gerenciamento de Configuração </li></ul>Copyright © 2010 Misael Santos Gestão de Configuração de Software
  10. 10. Controle de Mudanças Copyright © 2010 Misael Santos Gestão de Configuração de Software Equipe de Suporte Programador Gerente de Projetos Usuário Analista de Testes Sistema de Controle de Mudanças
  11. 11. Solicitações de Mudança <ul><li>Informações que podem estar incluídas em uma SM: </li></ul><ul><ul><li>Identificação única </li></ul></ul><ul><ul><li>Solicitante </li></ul></ul><ul><ul><li>Descrição </li></ul></ul><ul><ul><li>Sistema/Projeto </li></ul></ul><ul><ul><li>Componente </li></ul></ul><ul><ul><li>Item a ser modificado </li></ul></ul><ul><ul><li>Classificação (melhoria, correção de defeito, outra) </li></ul></ul><ul><ul><li>Situação (nova, atribuída, finalizada, verificada, fechada) </li></ul></ul><ul><ul><li>Prioridade </li></ul></ul><ul><ul><li>Responsável, Participantes... </li></ul></ul>Copyright © 2010 Misael Santos Gestão de Configuração de Software
  12. 12. Ferramentas <ul><li>Bugtraking e Issuetraking </li></ul><ul><ul><li>Bugzilla (perl) </li></ul></ul><ul><ul><li>Mantis (php) </li></ul></ul><ul><ul><li>Scarab (java) </li></ul></ul><ul><ul><li>JIRA (java) </li></ul></ul><ul><ul><li>RT (java) </li></ul></ul><ul><ul><li>ClearQuest (IBM Rational) </li></ul></ul><ul><ul><li>... </li></ul></ul>Copyright © 2010 Misael Santos Gestão de Configuração de Software
  13. 13. Ferramentas <ul><li>Fornecem um controle das mudanças através de um Workflow . </li></ul>Copyright © 2010 Misael Santos Gestão de Configuração de Software
  14. 14. Bugzilla <ul><li>Ferramenta de Bug-tracking </li></ul><ul><li>www.bugzilla.org </li></ul>Copyright © 2010 Misael Santos Gestão de Configuração de Software
  15. 15. Bugzilla <ul><li>Bugzilla foi criado em 1998 pelo projeto Mozilla como uma ferramenta web de engenharia de software para controle de erros e alterações em projetos. </li></ul><ul><li>Inicialmente utilizado no processo de desenvolvimento do Mozilla, depois passou a ser utilizado por outros projetos, organizações e empresas </li></ul><ul><li>Software livre distribuído sob a licença MPL ( Mozilla Public License ) </li></ul>Copyright © 2010 Misael Santos Gestão de Configuração de Software
  16. 16. Bugzilla <ul><li>Tem interface através de um browser, usa CGI com scripts Perl </li></ul><ul><li>Geração de códigos HTML, CSS e Javascript </li></ul><ul><li>É suportado pelas plataformas UNIX, Linux e Windows. Utiliza banco de dados MySQL e um servidor web (Apache) </li></ul>Copyright © 2010 Misael Santos Gestão de Configuração de Software
  17. 17. Bugzilla Copyright © 2010 Misael Santos Gestão de Configuração de Software
  18. 18. Bugzilla <ul><li>Registra os bugs e suas características </li></ul><ul><li>Permite organizar e gerenciar adequadamente </li></ul><ul><li>Anexação de arquivos </li></ul><ul><li>Comunicação através de e-mail </li></ul><ul><li>Integração com outros sistemas </li></ul><ul><li>OpenSource </li></ul><ul><li>Muito utilizado na comunidade OpenSource </li></ul><ul><li>Customizável </li></ul>Copyright © 2010 Misael Santos Gestão de Configuração de Software
  19. 19. Bugzilla <ul><li>Quem usa ou já usou o Bugzilla? </li></ul><ul><ul><li>NASA </li></ul></ul><ul><ul><li>Redhat </li></ul></ul><ul><ul><li>Gnome </li></ul></ul><ul><ul><li>KDE </li></ul></ul><ul><ul><li>Conectiva </li></ul></ul><ul><ul><li>Mozilla </li></ul></ul><ul><ul><li>Eclipse </li></ul></ul><ul><ul><li>Linux Kernel </li></ul></ul><ul><ul><li>Open Office </li></ul></ul><ul><ul><li>Motorola </li></ul></ul><ul><ul><li>Apache </li></ul></ul><ul><ul><li>IBM </li></ul></ul><ul><ul><li>Etc... </li></ul></ul>Copyright © 2010 Misael Santos Gestão de Configuração de Software
  20. 20. Copyright © 2010 Misael Santos Gestão de Configuração de Software
  21. 21. Bugzilla <ul><li>Controla o ciclo de vida dos bugs </li></ul>Não Confirmado Novo Verificado Fechado Atribuído Resolvido Reaberto Copyright © 2010 Misael Santos Gestão de Configuração de Software
  22. 22. Controle de Mudanças <ul><li>Issue Tracking </li></ul><ul><ul><li>Além de “bugs”, os sistemas passaram a controlar os outros tipos de mudanças em software: </li></ul></ul><ul><ul><ul><li>Melhorias </li></ul></ul></ul><ul><ul><ul><li>Novas Funcionalidades </li></ul></ul></ul><ul><ul><ul><li>Requisição de Suporte </li></ul></ul></ul><ul><ul><ul><li>Tarefas </li></ul></ul></ul>Copyright © 2010 Misael Santos Gestão de Configuração de Software
  23. 23. Mantis <ul><li>Web-based bugtracking system </li></ul><ul><li>Free (GPL) </li></ul><ul><li>Integração com SVN e CVS </li></ul><ul><li>Web Services </li></ul><ul><li>Várias formas de autenticação </li></ul><ul><ul><li>Default Mantis Authentication </li></ul></ul><ul><ul><li>LDAP </li></ul></ul><ul><ul><li>HTTP Basic Authentication Support </li></ul></ul><ul><ul><li>Active Directory Integration </li></ul></ul><ul><li>... </li></ul>Copyright © 2010 Misael Santos Gestão de Configuração de Software
  24. 24. Mantis Copyright © 2010 Misael Santos Gestão de Configuração de Software
  25. 25. Mantis Mantis Notifier Eclipse Plugin Copyright © 2010 Misael Santos Gestão de Configuração de Software
  26. 26. JIRA <ul><li>www.atlassian.com </li></ul>Copyright © 2010 Misael Santos Gestão de Configuração de Software
  27. 27. JIRA <ul><li>Características: </li></ul><ul><ul><li>Web </li></ul></ul><ul><ul><li>Java </li></ul></ul><ul><ul><li>Extremamente customizável </li></ul></ul><ul><ul><ul><li>Perfis </li></ul></ul></ul><ul><ul><ul><li>Esquemas de Notificação </li></ul></ul></ul><ul><ul><li>Construção de Workflows </li></ul></ul>Copyright © 2010 Misael Santos Gestão de Configuração de Software
  28. 28. JIRA <ul><li>Características de uma Issue: </li></ul><ul><ul><li>ID </li></ul></ul><ul><ul><li>Tipo </li></ul></ul><ul><ul><li>Componente associado </li></ul></ul><ul><ul><li>Quem reportou </li></ul></ul><ul><ul><li>Responsável ( Assignee ) </li></ul></ul><ul><ul><li>Status </li></ul></ul><ul><ul><li>Prioridade </li></ul></ul><ul><ul><li>Datas (Criação, resolução, etc...) </li></ul></ul><ul><ul><li>Anexos </li></ul></ul>Copyright © 2010 Misael Santos Gestão de Configuração de Software
  29. 29. JIRA Copyright © 2010 Misael Santos Gestão de Configuração de Software
  30. 30. JIRA Copyright © 2010 Misael Santos Gestão de Configuração de Software
  31. 31. JIRA <ul><li>Workflow </li></ul>Copyright © 2010 Misael Santos Gestão de Configuração de Software
  32. 32. Ambiente Integrado <ul><li>O JIRA permite a integração de com outras ferramentas </li></ul>JIRA Servidor de E-mail Commits Logs Consultas E-mails Copyright © 2010 Misael Santos Gestão de Configuração de Software
  33. 33. Exercícios <ul><li>Editar preferências do seu usuário do JIRA colocando o e-mail no cadastro </li></ul><ul><li>Criar duas solicitações de mudanças: </li></ul><ul><ul><li>Cada uma deve: a) ser de tipo diferente ( bug, improvement,... ), b) estar associada a um Componente c) possuir criticidade diferente </li></ul></ul><ul><ul><li>d) direcionada a um usuário diferente </li></ul></ul><ul><ul><li>- Uma para cada usuário “vizinho”. </li></ul></ul><ul><ul><li>Ex: usuario03  usuario04  usuario05 usuario01  usuario02  usuario03 usuarioZZ  usuario01  usuario02 </li></ul></ul><ul><li>Continua... </li></ul>Copyright © 2010 Misael Santos Gestão de Configuração de Software
  34. 34. Exercícios <ul><li>Iniciar a execução das suas solicitações. </li></ul><ul><li>Resolver uma delas, informando o tipo de resolução: fixada, devolvida, duplicada... </li></ul><ul><li>Criar filtro para consultar as SM’s abertas por você e que já foram resolvidas pelo responsável. </li></ul><ul><li>Finalizar as SM’s resolvidas da consulta acima. </li></ul>Copyright © 2010 Misael Santos Gestão de Configuração de Software
  35. 35. Referências <ul><li>PRESSMAN, R. S., Engenharia de Software , 6ª. ed., 2006. </li></ul><ul><li>HASS A. M. J. , Configuration Management Principles and Practice , Addison Wesley, 432p, 2002. </li></ul><ul><li>FREDERICKS T. Software Configuration and Integration Management , Marquette University, 2001. </li></ul><ul><li>Bugzilla, disponível em: http://www.bugzilla.org </li></ul><ul><li>JIRA, disponível em: http://www.atlassian.com </li></ul><ul><li>Mantis, disponível em: http://www.mantisbt.org/ </li></ul>Copyright © 2010 Misael Santos Gestão de Configuração de Software

×