SlideShare uma empresa Scribd logo
1 de 34
Baixar para ler offline
Gerenciamento de Requisitos como
Alternativa de Otimização na Manutenção
      de Softwares já Implantados:
           Um Estudo de Caso



           Marcelo Schumacher
Sumário

-   Introdução
-   Referencial teórico
-   Estudo de Caso
-   Melhorias Propostas
-   Avaliação das Melhorias
-   Considerações Finais
-   Referências Bibliográficas
Introdução
     Motivação


   Falta de documentação dos requisitos;

   Documentações inadequadas;

   Instabilidade dos requisitos durante o desenvolvimento;

   Impactos das evoluções e correções;

   Importância do gerenciamento dos requisitos para
    garantir melhor qualidade.
Introdução
 Objetivo Geral



Realizar uma engenharia reversa para
identificar e mapear as dependências dos
requisitos de um software já implantando
e em constante manutenção.
Introdução
     Objetivos Específicos

   Compreender os métodos atuais de gerenciamento de
    requisitos de software;
   Compreender as técnicas disponíveis para engenharia
    reversa de software;
   Identificar os problemas atualmente enfrentados pela
    equipe da empresa de TI, em função da falta de
    documentação e da falta de gerenciamento de
    requisitos;
   Identificar os requisitos de um software já desenvolvido
    e comercializado pela empresa de TI;
Introdução
     Objetivos Específicos

   Criar uma matriz de rastreabilidade, a fim de mapear as
    dependências entre os requisitos identificados;
   Utilizar a matriz de rastreabilidade de requisitos em
    alguns casos de manutenção;
   Avaliar os resultados da utilização da matriz de
    rastreabilidade como apoio ao processo de manutenção;
   Identificar ganhos obtidos e oportunidades de melhoria.
Referencial Teórico

   Processo de Software

   Qualidade de Software

   Engenharia de Requisitos

   Engenharia Reversa
Referencial Teórico
     Processo de Software

   Conjunto de atividades e resultados que geram um
    produto de software (SOMMERVILLE, 2001)
   Dentre os processos fundamentais, há quatro atividades
    comuns:
       Especificação: Definição de funcionalidades e as restrições
        em suas operações;
       Desenvolvimento: Construção do software, atendendo às
        especificações;
       Validação: Verificar se o software atende às especificações;
       Evolução: Garantir que o software siga uma evolução para
        correção de defeitos e atendimento às necessidades
        mutáveis.
Referencial Teórico
     Qualidade de Software

   A qualidade de software é a capacidade de um sistema,
    componente ou processo satisfazer determinados requisitos,
    visando atender o usuário com suas necessidades e
    expectativas (IEEE, 1990);
   Qualidade de software abrange tanto o produto quanto o
    processo de software (KALAIMAGAL, 2008);
   Em razão disso foram criados os modelos de qualidade
    ISO/IEC 9126, ISO/IEC 15504, ISO/IEC 12207, CMM, CMMI e
    MPS.BR (KALAIMAGAL, 2008);
   Cada modelo de qualidade possui conceitos que contribuem
    para a melhoria do produto e do processo de software;
Referencial Teórico
     Engenharia de Requisitos

   Processo que abrange todas as atividades necessárias
    para criar e manter a documentação de requisitos de
    software (SOMMERVILLE, 2001);
   O objetivo principal da engenharia de requisitos consiste
    na definição e descrição do que um software deve
    realizar para satisfazer as necessidades levantadas
    (PETERS, 2001).
   O gerenciamento de requisitos visa compreender e
    controlar as mudanças nos requisitos do sistema
    (SOMMERVILLE, 2001);
Referencial Teórico
     Engenharia Reversa

   A partir do sistema existente, a partir da análise do
    código-fonte, interface e ambiente, são abstraídas suas
    funcionalidades e são construídos os modelos de análise
    e projeto do sistema. A realização deste processo é
    chamada de Engenharia Reversa de Software
    (PIEKARSKI; QUINÁIA, 2000);

   Seu objetivo consiste em auxiliar na compreensão da
    estrutura interna de sistemas complexos (PRESSMAN,
    2001).
Estudo de Caso
     Unidade de análise

   Empresa de TI;

   Software de mercado em constante manutenção;

   Equipe de manutenção dividida em 3 setores:

       Manutenção;

       Desenvolvimento;

       Testes;

   Gestão de tarefas realizada através do software JIRA
Estudo de Caso
    Coleta de dados

   Observação
       junto a atendentes do suporte, visando identificar divergências
        relatadas pelos clientes (jan. a set. 2009)
   Entrevistas
       com pessoas que mantém relação com o ambiente operacional
        do software (usuários avançados) e profissionais da
        manutenção, visando identificar relatos de divergências (nov.
        2008 a ago. 2009);
   Extração dos dados históricos
       registrados na ferramenta para gerenciamento de tarefas, a fim
        de consolidá-los de maneira analítica, agrupando-as quanto a
        sua natureza (dez. 2008 a ago. 2009);
Estudo de Caso
        Análise dos dados históricos




                                                                                        Horas
                                      Quantidad              Tipo de Tarefa
          Tipo de Tarefa                                                              Trabalhadas
                                          e
Customização - Projeto                        32    Análise e Projeto                       333,43

Não Conformidade, BUG                         219   Cenário de Teste                         17,75
Sugestão/Melhoria                             48    Construção/Manutenção                  1683,05
Tarefa Interna                                20    Homolog. Análise                                6
IPP (Novas Funcionalidades)                    3    Homolog. Requisitos                         2,5
                              Total           322   Reconstrução                            527,45
                                                    Definição Requisitos                    272,35
                                                    Testes                                  531,02
                                                                              Total        3393,77
Estudo de Caso
     Análise dos dados

   Os dados foram analisados conforme o seu conteúdo;
   O critério de comparação foi através da simples análise
    do conteúdo descritivo das tarefas;
   Estes dados serviram para justificar e identificar as
    dificuldades no processo de manutenção, além de
    auxiliar na identificação de requisitos para construção da
    matriz de rastreabilidade;
Estudo de Caso
            Problemas identificados


#                            Resumo dos Problemas                             Grau de Impacto
1   Dificuldade em verificar áreas do software afetadas por manutenções       Alto
2   Excesso de divergências liberadas para o mercado                          Alto
    Elevado índice de retrabalho, reportado pela equipe de testes para a
3   equipe de desenvolvimento                                                 Alto
4   Falta de documentação que descreva as funcionalidades do sistema          Alto
5   Falta de análise de impacto no processo de manutenção                     Médio
6   Não identificação formal dos requisitos do software                       Médio
    Falta de compartilhamento formal de conhecimento dos profissionais mais
7   experientes para os demais profissionais                                  Médio
    Falta de conhecimento da equipe de manutenção sobre todo o contexto
8   do software                                                               Baixo
Melhorias Propostas
Equipe de Manutenção
Melhorias Propostas
Equipe de Desenvolvimento
Melhorias Propostas
               Rastreabilidade de Requisitos




Manutenção da Matriz                    Validação do Mapeamento
Melhorias Propostas
    Ferramenta de apoio

   Foi utilizado o IBM Rational RequisitePro® 7.1 para
    realizar o gerenciamento dos requisitos
Avaliação das Melhorias
     Preparação

    Para colocar em prática as melhorias propostas, foram
    necessárias as seguintes ações:

   Construção a matriz de rastreamento de requisitos do
    software usado neste estudo;

   Capacitação    dos   profissionais  envolvidos   para
    assimilarem o novo método de trabalho;

   Implementação das melhorias, em alguns projetos
    piloto, a partir de setembro de 2009;
Avaliação das Melhorias
     Acompanhamento

    Metodologia similar ao da pesquisa e levantamento de
    informações
   Observação
     foi realizado um acompanhamento dos profissionais
      envolvidos a fim de se perceber os resultados das
      melhorias propostas;
   Entrevistas
      os profissionais envolvidos foram entrevistados para
       opinarem sobre as melhorias propostas;
   Registros históricos
      foram consultados registros históricos na ferramenta
       de controle de tarefas (set. a nov. 2009);
Avaliação das Melhorias
     Observação

   Melhoria da qualidade de software, reduzindo a
    quantidade de divergências reportadas pela equipe de
    Testes;
   Menor quantidade de iterações entre analistas e
    desenvolvedores;
   Boa parte das tarefas de desenvolvimento foram
    concebidas em menos horas do que o previsto;
   Os desenvolvedores atuaram, reportando ao analista as
    necessidades de se relacionar mais requisitos;
   Aumento da motivação das pessoas;
Avaliação das Melhorias
     Entrevistas

   Redução da insegurança para realização das implementações,
    pois era possível anteceder o impacto;
   Melhora da qualidade do software, reduzindo a existência de
    divergência relatadas;
   Nenhuma recorrência foi relatada durante o período de estudo
    (ago. a nov. 2009);
   Redução da necessidade de conhecimento do produto, pois
    praticamente todos os impactos estavam destacados, bastava
    executar o desenvolvimento;
   Aumento de confiança e estima da equipe;
   Estima-se por todos uma melhoria na comercialização e na
    expectativa do cliente, em virtude da melhora da qualidade do
    produto de software;
Avaliação das Melhorias
         Dados Históricos

        Levantamento considerando dois trimestre de trabalho
         (mai. a out/nov 2009);
           Tipo de Tarefa           Horas Trabalhadas

Análise e Projeto                              102,38
Definição Requisitos                            81,77
Homolog. Análise                                    6
Homolog. Requisitos                                 3
Construção/Manutenção                          649,61
Cenário de Teste                                15,75
Testes                                         508,84
Reconstrução                                   465,02
                            Total             1832,37




           Tarefas de Manutenção por Tipo de Atividade / Q1 / Processo Anterior
Avaliação das Melhorias
         Dados Históricos



           Tipo de Tarefa           Horas Trabalhadas

Análise e Projeto                               87,92
Definição Requisitos                           104,83
Homolog. Análise                                11,92
Homolog. Requisitos                                17
Construção/Manutenção                          821,65
Cenário de Teste                                12,33
Testes                                         485,98
Reconstrução                                   197,73
                            Total             1739,36




               Tarefas de Manutenção por Tipo de Atividade / Q2 / Novo Processo
Avaliação das Melhorias
         Resultados

    Etapa do Processo de                                                      Q1                        Q2
                                         Tipo de Tarefa
          Manutenção                                                  Horas        %           Horas         %


                                Análise e Projeto                        102,38        5,59%       87,92         5,05%

                                Definição Requisitos                      81,77        4,46%      104,83         6,03%
Análise de Negócio e Sistemas
                                Homolog. Análise                              6        0,33%       11,92         0,69%

                                Homolog. Requisitos                           3        0,16%           17        0,98%
                         Total de Análise de Negócio e Sistemas          193,15    10,54%         221,67     12,74%

Desenvolvimento                 Construção/Manutenção                    649,61    35,45%         821,65     47,24%

                                Cenário de Teste                          15,75        0,86%       12,33         0,71%
Testes
                                Testes                                   508,84    27,77%         485,98     27,94%
                                                    Total de Testes      524,59    28,63%         498,31     28,65%

Reconstrução e Reteste          Reconstrução                             465,02    25,38%         197,73     11,37%

                                Total de Horas Todas as Etapas          1832,37                  1739,36
                  267,59 horas a menos para reconstrução; 58,48% de diferença; Esta redução era um dos principais
                  objetivos do trabalho;
                  No total geral, mesmo aumentando o fluxo do processo de manutenção, reduzimos 92,64 horas para
                  atender a um ciclo de manutenções; Redução 5,06% neste total;
Avaliação das Melhorias
    Resultados

   Aumento de 14,77% no tempo na realização dos
    trabalhos de Análise de Negócio e de Sistemas
   Redução de horas, principalmente da etapa de
    Reconstrução, o que permitiu absorver o tempo
    necessário     para  manutenção    da  matriz    de
    rastreabilidade sem impactar no tempo previsto para
    desenvolvimento da atividade;
   Redução em 5% da etapa de testes;
   Cumprimento dos prazos previstos para quase todas as
    tarefas.
Considerações Finais
     Limitações

   Dificuldade para realizar o mapeamento dos requisitos;
   Grande esforço necessário para a engenharia reversa;
   Dificuldade de apoio da equipe de desenvolvimento;
   Impossibilidade de aplicação das melhorias pela equipe
    de Manutenção;
   Limitação da licença para uso do IBM Requisite Pro;
   Limitação da amostra utilizada;
Considerações Finais
    Oportunidades

   Inclusão de uma etapa para a descrição funcional do
    antigo requisito que fora mapeado em virtude de uma
    nova manutenção;
   Definição de um profissional responsável por fazer a
    manutenção da matriz de rastreabilidade.
Considerações Finais
     Trabalhos Futuros

   Complementar a documentação dos requisitos do software da
    empresa;
   Implementar o novo processo de manutenção na empresa;
   Identificar oportunidades de melhorias na etapa de teste de
    software;
   Padronizar e melhorar as interfaces das aplicações.
Considerações Finais
     Conclusões

   Identificação e formalização dos      processos   de
    manutenção de software da Empresa;
   Identificação das dificuldades enfrentadas para
    realização do processo de manutenção de software;
   Avaliação da inclusão do gerenciamento dos requisitos
    no processo de manutenção de software da empresa;
   Obtenção de resultados que indicam benefícios do
    gerenciamento dos requisitos no processo de
    manutenção de software;
Referências Bibliográficas
   IEEE, Institute of Electrical and Electronics Engineers: Software Engineering, IEEE
    Standard 610.12 – 1990, IEEE, 1993.
   KALAIMAGAL, Sivamuni; SRINIVASAN, Rengaramanujam. A Retrospective on
    Software Component Quality Models. Nova York, v. 33, n. 6, p. 1-9, 2008.
   PAULA, Wilson de Pádua Filho. Engenharia de Software: Fundamentos,
    Métodos e Padrões. Rio de Janeiro: LTC, 2003.
   PETERS, James F.; Pedrycz, Wiltold. Engenharia de Software: Teoria e Prática.
    Rio de Janeiro: Campus, 2001.
   PIEKARSKI, Ana E. T; QUINÁIA, Marcos A. Reengenharia de Software: o que,
    por quê e como. Guarapuava: Departamento de Informática – UNICENTRO, 2000.
   PRESSMAN, R. S. Software Engineering: A Practitioner’s Approach. 5th ed. New
    York: McGraw-Hill, 2001.
   SOMMERVILLE, Ian. Engenharia de Software. 6ª ed. São Paulo: Pearson Addison
    Wesley, 2003.
Gerenciamento de Requisitos como
Alternativa de Otimização na Manutenção
      de Softwares já Implantados:
           Um Estudo de Caso


          OBRIGADO


     Marcelo Schumacher

Mais conteúdo relacionado

Mais procurados

Análise de Sistemas - Requisitos (Revisão e Requisitos Suplementares)
Análise de Sistemas - Requisitos (Revisão e Requisitos Suplementares)Análise de Sistemas - Requisitos (Revisão e Requisitos Suplementares)
Análise de Sistemas - Requisitos (Revisão e Requisitos Suplementares)Rosanete Grassiani dos Santos
 
Engenharia Requisitos - Aula4 06 03 2006
Engenharia Requisitos - Aula4 06 03 2006Engenharia Requisitos - Aula4 06 03 2006
Engenharia Requisitos - Aula4 06 03 2006Luís Fernando Richter
 
Engenharia Requisitos - Método RON
Engenharia Requisitos - Método RONEngenharia Requisitos - Método RON
Engenharia Requisitos - Método RONEduardo Castro
 
Introdução Qualidade de Software
Introdução Qualidade de SoftwareIntrodução Qualidade de Software
Introdução Qualidade de SoftwareWellington Oliveira
 
Analise de Requisitos
Analise de RequisitosAnalise de Requisitos
Analise de Requisitoselliando dias
 
Engenharia de Requisitos
Engenharia de RequisitosEngenharia de Requisitos
Engenharia de RequisitosTiago Barros
 
Aula9 TEES UFS Gestao de Configuração de SW
Aula9 TEES UFS  Gestao de Configuração de SWAula9 TEES UFS  Gestao de Configuração de SW
Aula9 TEES UFS Gestao de Configuração de SWRogerio P C do Nascimento
 
Engenharia de Software introdução
Engenharia de Software    introduçãoEngenharia de Software    introdução
Engenharia de Software introduçãomiroslayer
 
Ap i unidade 3 - levantamento de requisitos
Ap i   unidade 3 - levantamento de requisitosAp i   unidade 3 - levantamento de requisitos
Ap i unidade 3 - levantamento de requisitosGlauber Aquino
 
Especificação de Requisitos de Software
Especificação de Requisitos de SoftwareEspecificação de Requisitos de Software
Especificação de Requisitos de SoftwareRalph Rassweiler
 
Este trabalho trata
Este trabalho trataEste trabalho trata
Este trabalho trataRoni Reis
 

Mais procurados (20)

Definição e classificação dos requisitos
Definição e classificação dos requisitosDefinição e classificação dos requisitos
Definição e classificação dos requisitos
 
Aula3 engenharia requisitos
Aula3 engenharia requisitosAula3 engenharia requisitos
Aula3 engenharia requisitos
 
Análise de Sistemas - Requisitos (Revisão e Requisitos Suplementares)
Análise de Sistemas - Requisitos (Revisão e Requisitos Suplementares)Análise de Sistemas - Requisitos (Revisão e Requisitos Suplementares)
Análise de Sistemas - Requisitos (Revisão e Requisitos Suplementares)
 
Engenharia Requisitos - Aula4 06 03 2006
Engenharia Requisitos - Aula4 06 03 2006Engenharia Requisitos - Aula4 06 03 2006
Engenharia Requisitos - Aula4 06 03 2006
 
Requisitos de software
Requisitos de softwareRequisitos de software
Requisitos de software
 
Engenharia Requisitos - Método RON
Engenharia Requisitos - Método RONEngenharia Requisitos - Método RON
Engenharia Requisitos - Método RON
 
Introdução Qualidade de Software
Introdução Qualidade de SoftwareIntrodução Qualidade de Software
Introdução Qualidade de Software
 
Analise de Requisitos
Analise de RequisitosAnalise de Requisitos
Analise de Requisitos
 
Engenharia de Requisitos
Engenharia de RequisitosEngenharia de Requisitos
Engenharia de Requisitos
 
Aula9 TEES UFS Gestao de Configuração de SW
Aula9 TEES UFS  Gestao de Configuração de SWAula9 TEES UFS  Gestao de Configuração de SW
Aula9 TEES UFS Gestao de Configuração de SW
 
Engenharia de Software introdução
Engenharia de Software    introduçãoEngenharia de Software    introdução
Engenharia de Software introdução
 
Analise sistemas 05
Analise sistemas 05Analise sistemas 05
Analise sistemas 05
 
Ap i unidade 3 - levantamento de requisitos
Ap i   unidade 3 - levantamento de requisitosAp i   unidade 3 - levantamento de requisitos
Ap i unidade 3 - levantamento de requisitos
 
Aula4 levantamento requisitos
Aula4 levantamento requisitosAula4 levantamento requisitos
Aula4 levantamento requisitos
 
Especificação de Requisitos de Software
Especificação de Requisitos de SoftwareEspecificação de Requisitos de Software
Especificação de Requisitos de Software
 
Capitulo 02 sommerville
Capitulo 02 sommervilleCapitulo 02 sommerville
Capitulo 02 sommerville
 
Engenharia de Requisitos
Engenharia de RequisitosEngenharia de Requisitos
Engenharia de Requisitos
 
Qualidade de software
Qualidade de softwareQualidade de software
Qualidade de software
 
Documento de requisitos
Documento de requisitosDocumento de requisitos
Documento de requisitos
 
Este trabalho trata
Este trabalho trataEste trabalho trata
Este trabalho trata
 

Destaque

Gerência de projetos de software
Gerência de projetos de softwareGerência de projetos de software
Gerência de projetos de softwareNiva Silva
 
GCS - Aula 04 - GCS x CMM
GCS - Aula 04 - GCS x CMMGCS - Aula 04 - GCS x CMM
GCS - Aula 04 - GCS x CMMMisael Santos
 
Evoluindo dot project em alinhamento ao pmbok
Evoluindo dot project em alinhamento ao pmbokEvoluindo dot project em alinhamento ao pmbok
Evoluindo dot project em alinhamento ao pmbokPET Computação
 
03 GP3 Qualidade em Projetos
03 GP3 Qualidade em Projetos03 GP3 Qualidade em Projetos
03 GP3 Qualidade em ProjetosGeorge Dias
 
FGP, MBA Gerenciamento de Projetos, Gerenciamento de Escopo, Aula 01
FGP, MBA Gerenciamento de Projetos, Gerenciamento de Escopo, Aula 01FGP, MBA Gerenciamento de Projetos, Gerenciamento de Escopo, Aula 01
FGP, MBA Gerenciamento de Projetos, Gerenciamento de Escopo, Aula 01Aurivan
 
Ferramenta de apoio a gerência de configuração de software
Ferramenta de apoio a gerência de configuração de softwareFerramenta de apoio a gerência de configuração de software
Ferramenta de apoio a gerência de configuração de softwareelliando dias
 
Gerenciamento de Qualidade
Gerenciamento de QualidadeGerenciamento de Qualidade
Gerenciamento de Qualidadeelliando dias
 
gerenciamento projetos
gerenciamento projetosgerenciamento projetos
gerenciamento projetosoleinik
 
Plano+de+gerenciamento+da+qualidadev exemplo
Plano+de+gerenciamento+da+qualidadev exemploPlano+de+gerenciamento+da+qualidadev exemplo
Plano+de+gerenciamento+da+qualidadev exemploRudileine Fonseca
 
Arquitetura de Software - Uma visão gerencial
Arquitetura de Software - Uma visão gerencialArquitetura de Software - Uma visão gerencial
Arquitetura de Software - Uma visão gerencialAlexandre Leão
 
Plano de Projeto de Implantação de Software ERP Vertical de Saúde integrado c...
Plano de Projeto de Implantação de Software ERP Vertical de Saúde integrado c...Plano de Projeto de Implantação de Software ERP Vertical de Saúde integrado c...
Plano de Projeto de Implantação de Software ERP Vertical de Saúde integrado c...Marcelo Schumacher
 
Implementing microservices tracing with spring cloud and zipkin (spring one)
Implementing microservices tracing with spring cloud and zipkin (spring one)Implementing microservices tracing with spring cloud and zipkin (spring one)
Implementing microservices tracing with spring cloud and zipkin (spring one)Reshmi Krishna
 

Destaque (20)

OHIO 2014
OHIO 2014OHIO 2014
OHIO 2014
 
Gerência de projetos de software
Gerência de projetos de softwareGerência de projetos de software
Gerência de projetos de software
 
GCS - Aula 04 - GCS x CMM
GCS - Aula 04 - GCS x CMMGCS - Aula 04 - GCS x CMM
GCS - Aula 04 - GCS x CMM
 
Evoluindo dot project em alinhamento ao pmbok
Evoluindo dot project em alinhamento ao pmbokEvoluindo dot project em alinhamento ao pmbok
Evoluindo dot project em alinhamento ao pmbok
 
IBM Rational Unified Process
IBM Rational Unified ProcessIBM Rational Unified Process
IBM Rational Unified Process
 
03 GP3 Qualidade em Projetos
03 GP3 Qualidade em Projetos03 GP3 Qualidade em Projetos
03 GP3 Qualidade em Projetos
 
Gerencia do Escopo do Projeto
Gerencia do Escopo do ProjetoGerencia do Escopo do Projeto
Gerencia do Escopo do Projeto
 
Projeto do Sistema Cacti – Software Gerenciamento de Rede
Projeto do Sistema Cacti – Software Gerenciamento de RedeProjeto do Sistema Cacti – Software Gerenciamento de Rede
Projeto do Sistema Cacti – Software Gerenciamento de Rede
 
FGP, MBA Gerenciamento de Projetos, Gerenciamento de Escopo, Aula 01
FGP, MBA Gerenciamento de Projetos, Gerenciamento de Escopo, Aula 01FGP, MBA Gerenciamento de Projetos, Gerenciamento de Escopo, Aula 01
FGP, MBA Gerenciamento de Projetos, Gerenciamento de Escopo, Aula 01
 
Caso De Uso E Use Case Point
Caso De Uso E Use Case PointCaso De Uso E Use Case Point
Caso De Uso E Use Case Point
 
Ferramenta de apoio a gerência de configuração de software
Ferramenta de apoio a gerência de configuração de softwareFerramenta de apoio a gerência de configuração de software
Ferramenta de apoio a gerência de configuração de software
 
Gerenciamento de Qualidade
Gerenciamento de QualidadeGerenciamento de Qualidade
Gerenciamento de Qualidade
 
Curso Básico de UML
Curso Básico de UMLCurso Básico de UML
Curso Básico de UML
 
Aula2 paradigmas
Aula2 paradigmasAula2 paradigmas
Aula2 paradigmas
 
gerenciamento projetos
gerenciamento projetosgerenciamento projetos
gerenciamento projetos
 
Plano+de+gerenciamento+da+qualidadev exemplo
Plano+de+gerenciamento+da+qualidadev exemploPlano+de+gerenciamento+da+qualidadev exemplo
Plano+de+gerenciamento+da+qualidadev exemplo
 
Casa Verde
Casa VerdeCasa Verde
Casa Verde
 
Arquitetura de Software - Uma visão gerencial
Arquitetura de Software - Uma visão gerencialArquitetura de Software - Uma visão gerencial
Arquitetura de Software - Uma visão gerencial
 
Plano de Projeto de Implantação de Software ERP Vertical de Saúde integrado c...
Plano de Projeto de Implantação de Software ERP Vertical de Saúde integrado c...Plano de Projeto de Implantação de Software ERP Vertical de Saúde integrado c...
Plano de Projeto de Implantação de Software ERP Vertical de Saúde integrado c...
 
Implementing microservices tracing with spring cloud and zipkin (spring one)
Implementing microservices tracing with spring cloud and zipkin (spring one)Implementing microservices tracing with spring cloud and zipkin (spring one)
Implementing microservices tracing with spring cloud and zipkin (spring one)
 

Semelhante a Gerenciamento de Requisitos em Software de Manutenção

Apresentação artigo teste software 26042010
Apresentação artigo   teste software 26042010Apresentação artigo   teste software 26042010
Apresentação artigo teste software 26042010Fabio Franzotti
 
Teste de software - Processo de Verificação e Validação
Teste de software - Processo de Verificação e ValidaçãoTeste de software - Processo de Verificação e Validação
Teste de software - Processo de Verificação e ValidaçãoJoeldson Costa Damasceno
 
Teste de Software - Bluesoft Labs
Teste de Software - Bluesoft Labs Teste de Software - Bluesoft Labs
Teste de Software - Bluesoft Labs Ricardo Machado
 
Aula 01 - Introdução Engenharia de requisitos - Prof.ª Cristiane Fidelix
Aula 01 - Introdução Engenharia de requisitos - Prof.ª Cristiane FidelixAula 01 - Introdução Engenharia de requisitos - Prof.ª Cristiane Fidelix
Aula 01 - Introdução Engenharia de requisitos - Prof.ª Cristiane FidelixCris Fidelix
 
METACOM – Uma análise de correlação entre métricas de produto e propensão à m...
METACOM – Uma análise de correlação entre métricas de produto e propensão à m...METACOM – Uma análise de correlação entre métricas de produto e propensão à m...
METACOM – Uma análise de correlação entre métricas de produto e propensão à m...Gabriel Moreira
 
Gerenciamento da Qualidade de Software 3.pptx
Gerenciamento da Qualidade de Software 3.pptxGerenciamento da Qualidade de Software 3.pptx
Gerenciamento da Qualidade de Software 3.pptxRoberto Nunes
 
Gerenciamento da Qualidade de Software 4.pptx
Gerenciamento da Qualidade de Software 4.pptxGerenciamento da Qualidade de Software 4.pptx
Gerenciamento da Qualidade de Software 4.pptxRoberto Nunes
 
Introdução a Engenharia de Software - Prof.ª Cristiane Fidelix
Introdução a Engenharia de Software - Prof.ª Cristiane FidelixIntrodução a Engenharia de Software - Prof.ª Cristiane Fidelix
Introdução a Engenharia de Software - Prof.ª Cristiane FidelixCris Fidelix
 
Banco de questões qualidade de software
Banco de questões qualidade de softwareBanco de questões qualidade de software
Banco de questões qualidade de softwareBruno Nascimento
 
Utilização da Engenharia de Requisitos: Onde, quando e como utilizar
Utilização da Engenharia de Requisitos: Onde, quando e como utilizarUtilização da Engenharia de Requisitos: Onde, quando e como utilizar
Utilização da Engenharia de Requisitos: Onde, quando e como utilizarOpencadd Advanced Technology
 
Como especificar requisitos em metodologias ágeis?
Como especificar requisitos em metodologias ágeis?Como especificar requisitos em metodologias ágeis?
Como especificar requisitos em metodologias ágeis?Priscilla Aguiar
 
Visão de Testes de Software segundo o SWEBOK
Visão de Testes de Software segundo o SWEBOKVisão de Testes de Software segundo o SWEBOK
Visão de Testes de Software segundo o SWEBOKMário Pravato Junior
 
3 engenharia de software
3   engenharia de software3   engenharia de software
3 engenharia de softwareFelipe Bugov
 
Prodemge WTQS - Minicurso técnicas de verificação de requisitos
Prodemge WTQS - Minicurso técnicas de verificação de requisitosProdemge WTQS - Minicurso técnicas de verificação de requisitos
Prodemge WTQS - Minicurso técnicas de verificação de requisitosGustavo Lopes
 

Semelhante a Gerenciamento de Requisitos em Software de Manutenção (20)

Rational Unified Process (RUP)
Rational Unified Process (RUP)Rational Unified Process (RUP)
Rational Unified Process (RUP)
 
Apresentação artigo teste software 26042010
Apresentação artigo   teste software 26042010Apresentação artigo   teste software 26042010
Apresentação artigo teste software 26042010
 
Teste de software - Processo de Verificação e Validação
Teste de software - Processo de Verificação e ValidaçãoTeste de software - Processo de Verificação e Validação
Teste de software - Processo de Verificação e Validação
 
Aula Gestão de Projetos
Aula Gestão de ProjetosAula Gestão de Projetos
Aula Gestão de Projetos
 
Aula3 TEES UFS: Engenharia de Requisitos
Aula3 TEES UFS: Engenharia de RequisitosAula3 TEES UFS: Engenharia de Requisitos
Aula3 TEES UFS: Engenharia de Requisitos
 
Teste de Software - Bluesoft Labs
Teste de Software - Bluesoft Labs Teste de Software - Bluesoft Labs
Teste de Software - Bluesoft Labs
 
Aula 02
Aula 02Aula 02
Aula 02
 
Aula 01 - Introdução Engenharia de requisitos - Prof.ª Cristiane Fidelix
Aula 01 - Introdução Engenharia de requisitos - Prof.ª Cristiane FidelixAula 01 - Introdução Engenharia de requisitos - Prof.ª Cristiane Fidelix
Aula 01 - Introdução Engenharia de requisitos - Prof.ª Cristiane Fidelix
 
METACOM – Uma análise de correlação entre métricas de produto e propensão à m...
METACOM – Uma análise de correlação entre métricas de produto e propensão à m...METACOM – Uma análise de correlação entre métricas de produto e propensão à m...
METACOM – Uma análise de correlação entre métricas de produto e propensão à m...
 
Aula - Teste de Software
Aula - Teste de SoftwareAula - Teste de Software
Aula - Teste de Software
 
Gerenciamento da Qualidade de Software 3.pptx
Gerenciamento da Qualidade de Software 3.pptxGerenciamento da Qualidade de Software 3.pptx
Gerenciamento da Qualidade de Software 3.pptx
 
Gerenciamento da Qualidade de Software 4.pptx
Gerenciamento da Qualidade de Software 4.pptxGerenciamento da Qualidade de Software 4.pptx
Gerenciamento da Qualidade de Software 4.pptx
 
Aula1 introducao engsw
Aula1 introducao engswAula1 introducao engsw
Aula1 introducao engsw
 
Introdução a Engenharia de Software - Prof.ª Cristiane Fidelix
Introdução a Engenharia de Software - Prof.ª Cristiane FidelixIntrodução a Engenharia de Software - Prof.ª Cristiane Fidelix
Introdução a Engenharia de Software - Prof.ª Cristiane Fidelix
 
Banco de questões qualidade de software
Banco de questões qualidade de softwareBanco de questões qualidade de software
Banco de questões qualidade de software
 
Utilização da Engenharia de Requisitos: Onde, quando e como utilizar
Utilização da Engenharia de Requisitos: Onde, quando e como utilizarUtilização da Engenharia de Requisitos: Onde, quando e como utilizar
Utilização da Engenharia de Requisitos: Onde, quando e como utilizar
 
Como especificar requisitos em metodologias ágeis?
Como especificar requisitos em metodologias ágeis?Como especificar requisitos em metodologias ágeis?
Como especificar requisitos em metodologias ágeis?
 
Visão de Testes de Software segundo o SWEBOK
Visão de Testes de Software segundo o SWEBOKVisão de Testes de Software segundo o SWEBOK
Visão de Testes de Software segundo o SWEBOK
 
3 engenharia de software
3   engenharia de software3   engenharia de software
3 engenharia de software
 
Prodemge WTQS - Minicurso técnicas de verificação de requisitos
Prodemge WTQS - Minicurso técnicas de verificação de requisitosProdemge WTQS - Minicurso técnicas de verificação de requisitos
Prodemge WTQS - Minicurso técnicas de verificação de requisitos
 

Gerenciamento de Requisitos em Software de Manutenção

  • 1. Gerenciamento de Requisitos como Alternativa de Otimização na Manutenção de Softwares já Implantados: Um Estudo de Caso Marcelo Schumacher
  • 2. Sumário - Introdução - Referencial teórico - Estudo de Caso - Melhorias Propostas - Avaliação das Melhorias - Considerações Finais - Referências Bibliográficas
  • 3. Introdução Motivação  Falta de documentação dos requisitos;  Documentações inadequadas;  Instabilidade dos requisitos durante o desenvolvimento;  Impactos das evoluções e correções;  Importância do gerenciamento dos requisitos para garantir melhor qualidade.
  • 4. Introdução Objetivo Geral Realizar uma engenharia reversa para identificar e mapear as dependências dos requisitos de um software já implantando e em constante manutenção.
  • 5. Introdução Objetivos Específicos  Compreender os métodos atuais de gerenciamento de requisitos de software;  Compreender as técnicas disponíveis para engenharia reversa de software;  Identificar os problemas atualmente enfrentados pela equipe da empresa de TI, em função da falta de documentação e da falta de gerenciamento de requisitos;  Identificar os requisitos de um software já desenvolvido e comercializado pela empresa de TI;
  • 6. Introdução Objetivos Específicos  Criar uma matriz de rastreabilidade, a fim de mapear as dependências entre os requisitos identificados;  Utilizar a matriz de rastreabilidade de requisitos em alguns casos de manutenção;  Avaliar os resultados da utilização da matriz de rastreabilidade como apoio ao processo de manutenção;  Identificar ganhos obtidos e oportunidades de melhoria.
  • 7. Referencial Teórico  Processo de Software  Qualidade de Software  Engenharia de Requisitos  Engenharia Reversa
  • 8. Referencial Teórico Processo de Software  Conjunto de atividades e resultados que geram um produto de software (SOMMERVILLE, 2001)  Dentre os processos fundamentais, há quatro atividades comuns:  Especificação: Definição de funcionalidades e as restrições em suas operações;  Desenvolvimento: Construção do software, atendendo às especificações;  Validação: Verificar se o software atende às especificações;  Evolução: Garantir que o software siga uma evolução para correção de defeitos e atendimento às necessidades mutáveis.
  • 9. Referencial Teórico Qualidade de Software  A qualidade de software é a capacidade de um sistema, componente ou processo satisfazer determinados requisitos, visando atender o usuário com suas necessidades e expectativas (IEEE, 1990);  Qualidade de software abrange tanto o produto quanto o processo de software (KALAIMAGAL, 2008);  Em razão disso foram criados os modelos de qualidade ISO/IEC 9126, ISO/IEC 15504, ISO/IEC 12207, CMM, CMMI e MPS.BR (KALAIMAGAL, 2008);  Cada modelo de qualidade possui conceitos que contribuem para a melhoria do produto e do processo de software;
  • 10. Referencial Teórico Engenharia de Requisitos  Processo que abrange todas as atividades necessárias para criar e manter a documentação de requisitos de software (SOMMERVILLE, 2001);  O objetivo principal da engenharia de requisitos consiste na definição e descrição do que um software deve realizar para satisfazer as necessidades levantadas (PETERS, 2001).  O gerenciamento de requisitos visa compreender e controlar as mudanças nos requisitos do sistema (SOMMERVILLE, 2001);
  • 11. Referencial Teórico Engenharia Reversa  A partir do sistema existente, a partir da análise do código-fonte, interface e ambiente, são abstraídas suas funcionalidades e são construídos os modelos de análise e projeto do sistema. A realização deste processo é chamada de Engenharia Reversa de Software (PIEKARSKI; QUINÁIA, 2000);  Seu objetivo consiste em auxiliar na compreensão da estrutura interna de sistemas complexos (PRESSMAN, 2001).
  • 12. Estudo de Caso Unidade de análise  Empresa de TI;  Software de mercado em constante manutenção;  Equipe de manutenção dividida em 3 setores:  Manutenção;  Desenvolvimento;  Testes;  Gestão de tarefas realizada através do software JIRA
  • 13. Estudo de Caso Coleta de dados  Observação  junto a atendentes do suporte, visando identificar divergências relatadas pelos clientes (jan. a set. 2009)  Entrevistas  com pessoas que mantém relação com o ambiente operacional do software (usuários avançados) e profissionais da manutenção, visando identificar relatos de divergências (nov. 2008 a ago. 2009);  Extração dos dados históricos  registrados na ferramenta para gerenciamento de tarefas, a fim de consolidá-los de maneira analítica, agrupando-as quanto a sua natureza (dez. 2008 a ago. 2009);
  • 14. Estudo de Caso Análise dos dados históricos Horas Quantidad Tipo de Tarefa Tipo de Tarefa Trabalhadas e Customização - Projeto 32 Análise e Projeto 333,43 Não Conformidade, BUG 219 Cenário de Teste 17,75 Sugestão/Melhoria 48 Construção/Manutenção 1683,05 Tarefa Interna 20 Homolog. Análise 6 IPP (Novas Funcionalidades) 3 Homolog. Requisitos 2,5 Total 322 Reconstrução 527,45 Definição Requisitos 272,35 Testes 531,02 Total 3393,77
  • 15. Estudo de Caso Análise dos dados  Os dados foram analisados conforme o seu conteúdo;  O critério de comparação foi através da simples análise do conteúdo descritivo das tarefas;  Estes dados serviram para justificar e identificar as dificuldades no processo de manutenção, além de auxiliar na identificação de requisitos para construção da matriz de rastreabilidade;
  • 16. Estudo de Caso Problemas identificados # Resumo dos Problemas Grau de Impacto 1 Dificuldade em verificar áreas do software afetadas por manutenções Alto 2 Excesso de divergências liberadas para o mercado Alto Elevado índice de retrabalho, reportado pela equipe de testes para a 3 equipe de desenvolvimento Alto 4 Falta de documentação que descreva as funcionalidades do sistema Alto 5 Falta de análise de impacto no processo de manutenção Médio 6 Não identificação formal dos requisitos do software Médio Falta de compartilhamento formal de conhecimento dos profissionais mais 7 experientes para os demais profissionais Médio Falta de conhecimento da equipe de manutenção sobre todo o contexto 8 do software Baixo
  • 18. Melhorias Propostas Equipe de Desenvolvimento
  • 19. Melhorias Propostas Rastreabilidade de Requisitos Manutenção da Matriz Validação do Mapeamento
  • 20. Melhorias Propostas Ferramenta de apoio  Foi utilizado o IBM Rational RequisitePro® 7.1 para realizar o gerenciamento dos requisitos
  • 21. Avaliação das Melhorias Preparação Para colocar em prática as melhorias propostas, foram necessárias as seguintes ações:  Construção a matriz de rastreamento de requisitos do software usado neste estudo;  Capacitação dos profissionais envolvidos para assimilarem o novo método de trabalho;  Implementação das melhorias, em alguns projetos piloto, a partir de setembro de 2009;
  • 22. Avaliação das Melhorias Acompanhamento Metodologia similar ao da pesquisa e levantamento de informações  Observação  foi realizado um acompanhamento dos profissionais envolvidos a fim de se perceber os resultados das melhorias propostas;  Entrevistas  os profissionais envolvidos foram entrevistados para opinarem sobre as melhorias propostas;  Registros históricos  foram consultados registros históricos na ferramenta de controle de tarefas (set. a nov. 2009);
  • 23. Avaliação das Melhorias Observação  Melhoria da qualidade de software, reduzindo a quantidade de divergências reportadas pela equipe de Testes;  Menor quantidade de iterações entre analistas e desenvolvedores;  Boa parte das tarefas de desenvolvimento foram concebidas em menos horas do que o previsto;  Os desenvolvedores atuaram, reportando ao analista as necessidades de se relacionar mais requisitos;  Aumento da motivação das pessoas;
  • 24. Avaliação das Melhorias Entrevistas  Redução da insegurança para realização das implementações, pois era possível anteceder o impacto;  Melhora da qualidade do software, reduzindo a existência de divergência relatadas;  Nenhuma recorrência foi relatada durante o período de estudo (ago. a nov. 2009);  Redução da necessidade de conhecimento do produto, pois praticamente todos os impactos estavam destacados, bastava executar o desenvolvimento;  Aumento de confiança e estima da equipe;  Estima-se por todos uma melhoria na comercialização e na expectativa do cliente, em virtude da melhora da qualidade do produto de software;
  • 25. Avaliação das Melhorias Dados Históricos  Levantamento considerando dois trimestre de trabalho (mai. a out/nov 2009); Tipo de Tarefa Horas Trabalhadas Análise e Projeto 102,38 Definição Requisitos 81,77 Homolog. Análise 6 Homolog. Requisitos 3 Construção/Manutenção 649,61 Cenário de Teste 15,75 Testes 508,84 Reconstrução 465,02 Total 1832,37 Tarefas de Manutenção por Tipo de Atividade / Q1 / Processo Anterior
  • 26. Avaliação das Melhorias Dados Históricos Tipo de Tarefa Horas Trabalhadas Análise e Projeto 87,92 Definição Requisitos 104,83 Homolog. Análise 11,92 Homolog. Requisitos 17 Construção/Manutenção 821,65 Cenário de Teste 12,33 Testes 485,98 Reconstrução 197,73 Total 1739,36 Tarefas de Manutenção por Tipo de Atividade / Q2 / Novo Processo
  • 27. Avaliação das Melhorias Resultados Etapa do Processo de Q1 Q2 Tipo de Tarefa Manutenção Horas % Horas % Análise e Projeto 102,38 5,59% 87,92 5,05% Definição Requisitos 81,77 4,46% 104,83 6,03% Análise de Negócio e Sistemas Homolog. Análise 6 0,33% 11,92 0,69% Homolog. Requisitos 3 0,16% 17 0,98% Total de Análise de Negócio e Sistemas 193,15 10,54% 221,67 12,74% Desenvolvimento Construção/Manutenção 649,61 35,45% 821,65 47,24% Cenário de Teste 15,75 0,86% 12,33 0,71% Testes Testes 508,84 27,77% 485,98 27,94% Total de Testes 524,59 28,63% 498,31 28,65% Reconstrução e Reteste Reconstrução 465,02 25,38% 197,73 11,37% Total de Horas Todas as Etapas 1832,37 1739,36 267,59 horas a menos para reconstrução; 58,48% de diferença; Esta redução era um dos principais objetivos do trabalho; No total geral, mesmo aumentando o fluxo do processo de manutenção, reduzimos 92,64 horas para atender a um ciclo de manutenções; Redução 5,06% neste total;
  • 28. Avaliação das Melhorias Resultados  Aumento de 14,77% no tempo na realização dos trabalhos de Análise de Negócio e de Sistemas  Redução de horas, principalmente da etapa de Reconstrução, o que permitiu absorver o tempo necessário para manutenção da matriz de rastreabilidade sem impactar no tempo previsto para desenvolvimento da atividade;  Redução em 5% da etapa de testes;  Cumprimento dos prazos previstos para quase todas as tarefas.
  • 29. Considerações Finais Limitações  Dificuldade para realizar o mapeamento dos requisitos;  Grande esforço necessário para a engenharia reversa;  Dificuldade de apoio da equipe de desenvolvimento;  Impossibilidade de aplicação das melhorias pela equipe de Manutenção;  Limitação da licença para uso do IBM Requisite Pro;  Limitação da amostra utilizada;
  • 30. Considerações Finais Oportunidades  Inclusão de uma etapa para a descrição funcional do antigo requisito que fora mapeado em virtude de uma nova manutenção;  Definição de um profissional responsável por fazer a manutenção da matriz de rastreabilidade.
  • 31. Considerações Finais Trabalhos Futuros  Complementar a documentação dos requisitos do software da empresa;  Implementar o novo processo de manutenção na empresa;  Identificar oportunidades de melhorias na etapa de teste de software;  Padronizar e melhorar as interfaces das aplicações.
  • 32. Considerações Finais Conclusões  Identificação e formalização dos processos de manutenção de software da Empresa;  Identificação das dificuldades enfrentadas para realização do processo de manutenção de software;  Avaliação da inclusão do gerenciamento dos requisitos no processo de manutenção de software da empresa;  Obtenção de resultados que indicam benefícios do gerenciamento dos requisitos no processo de manutenção de software;
  • 33. Referências Bibliográficas  IEEE, Institute of Electrical and Electronics Engineers: Software Engineering, IEEE Standard 610.12 – 1990, IEEE, 1993.  KALAIMAGAL, Sivamuni; SRINIVASAN, Rengaramanujam. A Retrospective on Software Component Quality Models. Nova York, v. 33, n. 6, p. 1-9, 2008.  PAULA, Wilson de Pádua Filho. Engenharia de Software: Fundamentos, Métodos e Padrões. Rio de Janeiro: LTC, 2003.  PETERS, James F.; Pedrycz, Wiltold. Engenharia de Software: Teoria e Prática. Rio de Janeiro: Campus, 2001.  PIEKARSKI, Ana E. T; QUINÁIA, Marcos A. Reengenharia de Software: o que, por quê e como. Guarapuava: Departamento de Informática – UNICENTRO, 2000.  PRESSMAN, R. S. Software Engineering: A Practitioner’s Approach. 5th ed. New York: McGraw-Hill, 2001.  SOMMERVILLE, Ian. Engenharia de Software. 6ª ed. São Paulo: Pearson Addison Wesley, 2003.
  • 34. Gerenciamento de Requisitos como Alternativa de Otimização na Manutenção de Softwares já Implantados: Um Estudo de Caso OBRIGADO Marcelo Schumacher