UNIVERSIDADE ESTADUAL DO CEARÁ          Centro de Ciência e Tecnologia          Especialização em Engenharia de Software c...
UMA REVISÃO SISTEMÁTICA SOBRE PADRÕES DE SOFTWAREPARA REENGENHARIA DE SISTEMAS Roteiro  Objetivo Geral e Objetivos Especí...
UMA REVISÃO SISTEMÁTICA SOBRE PADRÕES DE SOFTWAREPARA REENGENHARIA DE SISTEMAS Objetivo Geral  Realizar uma revisão siste...
UMA REVISÃO SISTEMÁTICA SOBRE PADRÕES DE SOFTWAREPARA REENGENHARIA DE SISTEMAS  Justificativa  Quando um importante siste...
UMA REVISÃO SISTEMÁTICA SOBRE PADRÕES DE SOFTWAREPARA REENGENHARIA DE SISTEMAS  Fundamentação Teórica  PROCESSO DE ENGENH...
UMA REVISÃO SISTEMÁTICA SOBRE PADRÕES DE SOFTWAREPARA REENGENHARIA DE SISTEMAS  Fundamentação Teórica  PROCESSO DE ENGENH...
UMA REVISÃO SISTEMÁTICA SOBRE PADRÕES DE SOFTWAREPARA REENGENHARIA DE SISTEMAS  Fundamentação Teórica  SISTEMAS LEGADOS O...
UMA REVISÃO SISTEMÁTICA SOBRE PADRÕES DE SOFTWAREPARA REENGENHARIA DE SISTEMAS  Fundamentação Teórica  REENGENHARIA DE SI...
UMA REVISÃO SISTEMÁTICA SOBRE PADRÕES DE SOFTWAREPARA REENGENHARIA DE SISTEMAS  Fundamentação Teórica  PADRÕES DE SOFTWAR...
UMA REVISÃO SISTEMÁTICA SOBRE PADRÕES DE SOFTWAREPARA REENGENHARIA DE SISTEMAS  Fundamentação Teórica  PADRÕES DE SOFTWAR...
UMA REVISÃO SISTEMÁTICA SOBRE PADRÕES DE SOFTWAREPARA REENGENHARIA DE SISTEMAS Metodologia  Revisão Sistemática: sintetiz...
UMA REVISÃO SISTEMÁTICA SOBRE PADRÕES DE SOFTWAREPARA REENGENHARIA DE SISTEMAS Protocolo de Revisão   Questões de Pesquis...
UMA REVISÃO SISTEMÁTICA SOBRE PADRÕES DE SOFTWAREPARA REENGENHARIA DE SISTEMAS Condução da Revisão   Fontes Primárias Pes...
UMA REVISÃO SISTEMÁTICA SOBRE PADRÕES DE SOFTWAREPARA REENGENHARIA DE SISTEMAS Protocolo de Revisão   Strings de Busca:  ...
UMA REVISÃO SISTEMÁTICA SOBRE PADRÕES DE SOFTWAREPARA REENGENHARIA DE SISTEMAS Protocolo de Revisão   Critérios de Inclus...
UMA REVISÃO SISTEMÁTICA SOBRE PADRÕES DE SOFTWAREPARA REENGENHARIA DE SISTEMAS Protocolo de Revisão   Método da Extração ...
UMA REVISÃO SISTEMÁTICA SOBRE PADRÕES DE SOFTWAREPARA REENGENHARIA DE SISTEMAS Análise e Discussão dos Resultados  Q1 - Qu...
UMA REVISÃO SISTEMÁTICA SOBRE PADRÕES DE SOFTWAREPARA REENGENHARIA DE SISTEMAS Análise e Discussão dos Resultados  Q2 - Co...
UMA REVISÃO SISTEMÁTICA SOBRE PADRÕES DE SOFTWAREPARA REENGENHARIA DE SISTEMAS Análise e Discussão dos Resultados  Q3 - Os...
UMA REVISÃO SISTEMÁTICA SOBRE PADRÕES DE SOFTWAREPARA REENGENHARIA DE SISTEMAS Análise e Discussão dos Resultados  Q4 - Os...
UMA REVISÃO SISTEMÁTICA SOBRE PADRÕES DE SOFTWAREPARA REENGENHARIA DE SISTEMAS Análise e Discussão dos Resultados  Q5 - Qu...
UMA REVISÃO SISTEMÁTICA SOBRE PADRÕES DE SOFTWAREPARA REENGENHARIA DE SISTEMAS Conclusões  - Os levantamentos quanto à lin...
Obrigado!Erivan de Sena Ramos - erivansr@gmail.comMárcia Maria Albuquerque Brasil   - marcia.abrasil@gmail.com            ...
Upcoming SlideShare
Loading in...5
×

Apresentação Pesquisa Um Mapeamento Sistemático sobre Padrões de Software para Reengenharia de Sistemas

771

Published on

Apresentação Pesquisa Um Mapeamento Sistemático sobre Padrões de Software para Reengenharia de Sistemas.

0 Comments
2 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
771
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
16
Comments
0
Likes
2
Embeds 0
No embeds

No notes for slide

Apresentação Pesquisa Um Mapeamento Sistemático sobre Padrões de Software para Reengenharia de Sistemas

  1. 1. UNIVERSIDADE ESTADUAL DO CEARÁ Centro de Ciência e Tecnologia Especialização em Engenharia de Software com Ênfase em Padrões de Software UMA REVISÃO SISTEMÁTICA SOBRE PADRÕES DE SOFTWARE PARA REENGENHARIA DE SISTEMASAluno: Erivan de Sena RamosOrientadora: Márcia Maria Albuquerque Brasil Fortaleza 2011
  2. 2. UMA REVISÃO SISTEMÁTICA SOBRE PADRÕES DE SOFTWAREPARA REENGENHARIA DE SISTEMAS Roteiro  Objetivo Geral e Objetivos Específicos  Justificativa  Fundamentação Teórica  Metodologia  Protocolo da Revisão  Condução da Revisão  Análise de Discussão dos Resultados  Conclusão 2/23
  3. 3. UMA REVISÃO SISTEMÁTICA SOBRE PADRÕES DE SOFTWAREPARA REENGENHARIA DE SISTEMAS Objetivo Geral  Realizar uma revisão sistemática sobre padrões de software para reengenharia de sistemas Objetivos Específicos  Investigar, catalogar e classificar os padrões de software para reengenharia de sistemas, publicados em conferências e workshops PLoP;  Realizar Catalogação bibliográfica;  Classificar padrões segundo as disciplinas do Rational Unified Process (RUP);  Identificar as linhas de pesquisa quanto aos processos de reengenharia e linguagens de programação adotadas nos padrões incluídos. 3/23
  4. 4. UMA REVISÃO SISTEMÁTICA SOBRE PADRÕES DE SOFTWAREPARA REENGENHARIA DE SISTEMAS Justificativa  Quando um importante sistema legado não tem mais capacidade de suportar as mudanças em seus requisitos, comumente, é submetido ao processo de reengenharia (DUCASSE et al., 1999)  A reengenharia de sistemas apresenta-se como um dos maiores desafios para os engenheiros de software, pois seus resultados interferem diretamente na continuidade dos negócios das mesmas (RECHIA et al., 2003).  Os padrões de software aplicados na reengenharia visam registrar o conhecimento sobre como modificar softwares legados, ajudam a diagnosticar problemas, e identificam as soluções mais apropriadas aos novos requisitos (LEMOS, 2002)  Uma catalogação bibliográfica, bem como uma classificação desses padrões pode ajudar o engenheiro de software a localizar e identificar rapidamente o melhor padrão a ser utilizado em seu projeto de reengenharia de software. 4/23
  5. 5. UMA REVISÃO SISTEMÁTICA SOBRE PADRÕES DE SOFTWAREPARA REENGENHARIA DE SISTEMAS Fundamentação Teórica  PROCESSO DE ENGENHARIA DE SOFTWARE Os processos de software mais utilizados atualmente na engenharia de software são (SOMMERVILLE, 2007): Modelo em Cascata: As atividades são separadas em fases; Desenvolvimento Evolucionário: A execução das atividades realizada de forma incremental; Engenharia baseada em componentes: Aplica-se o reuso de componentes. Entrega Incremental e Desenvolvimento Espiral: Priorizam a iteração do processo. Rational Unified Process (RUP): combina todos os elementos dos demais processos de engenharia de software 5/23
  6. 6. UMA REVISÃO SISTEMÁTICA SOBRE PADRÕES DE SOFTWAREPARA REENGENHARIA DE SISTEMAS Fundamentação Teórica  PROCESSO DE ENGENHARIA DE SOFTWARE Devido à importância da utilização de um processo de engenharia de software e ao RUP apresentar-se como um processo maduro, reconhecido e que se destaca perante os demais processos existentes, o mesmo foi utilizado na classificação dos padrões incluídos neste estudo. 6/23
  7. 7. UMA REVISÃO SISTEMÁTICA SOBRE PADRÕES DE SOFTWAREPARA REENGENHARIA DE SISTEMAS Fundamentação Teórica  SISTEMAS LEGADOS Os sistemas legados podem vir a apresentar uma lista bem longa de não- conformidades, tais como: projetos não-extensíveis; código complicado; documentação pobre ou inexistente; casos de teste e resultados que nunca foram arquivados; e um histórico de modificações mal gerido (PRESSMAN, 2006). Mudanças em um sistema legado são importantes, pois é necessário que ele evolua, fique mais dinâmico, e apresente um valor a mais para os negócios (ARAÚJO, 2009) . 7/23
  8. 8. UMA REVISÃO SISTEMÁTICA SOBRE PADRÕES DE SOFTWAREPARA REENGENHARIA DE SISTEMAS Fundamentação Teórica  REENGENHARIA DE SISTEMAS A reengenharia recupera as informações de projeto do sistema existente e ainda possibilita o uso de tais informações para a alteração e reconstituição do mesmo, sempre com o intuito de melhorar a qualidade global do sistema (PRESSMAN, 2006). O processo de reengenharia é indicado para sistemas legados que ainda apresentam grande utilidade para a organização, mas que possuem uma manutenção difícil (LEMOS et al. 2003). 8/23
  9. 9. UMA REVISÃO SISTEMÁTICA SOBRE PADRÕES DE SOFTWAREPARA REENGENHARIA DE SISTEMAS Fundamentação Teórica  PADRÕES DE SOFTWARE Diante dos problemas enfrentados pelos profissionais da indústria de software, surgem soluções comprovadamente boas e possíveis de serem reutilizadas. Os padrões de software tornam essas soluções mais acessíveis para serem utilizadas nos problemas recorrentes dos mais diversos domínios, seja organizacional, de análise, projeto ou implementação (OLIVEIRA, 2007). Um esquema de organização para os padrões existentes é importante para tornar mínimo o esforço dos desenvolvedores na busca dos mais adequados a sua necessidade, pois quanto maior o número de padrões em um sistema de padrões, maior é a dificuldade de localizá-los, entendê-los e utilizá-los (VERONESE, 2002) (BUSCHMANN,1996). 9/23
  10. 10. UMA REVISÃO SISTEMÁTICA SOBRE PADRÕES DE SOFTWAREPARA REENGENHARIA DE SISTEMAS Fundamentação Teórica  PADRÕES DE SOFTWARE A utilização de padrões na reengenharia pode reforçar a qualidade e a economia de tempo em projetos de manutenção de software legado. A identificação e a categorização de padrões possíveis de uso com este fim se apresentam como algo viável e importante, contribuindo para um processo de desenvolvimento de software de qualidade. 10/23
  11. 11. UMA REVISÃO SISTEMÁTICA SOBRE PADRÕES DE SOFTWAREPARA REENGENHARIA DE SISTEMAS Metodologia  Revisão Sistemática: sintetiza os trabalhos existentes em conformidade com uma estratégia de busca pré-definida, garantindo a integridade da revisão. Uma abordagem das três etapas da Revisão Sistemática (BIOLCHINI et al., 2005). RESULTADO CONCEPÇÃO ESTUDO CONCLUSÃO S 1 2 3 Atividades da Revisão Sistemática (KITCHENHAM, 2004). 11/23
  12. 12. UMA REVISÃO SISTEMÁTICA SOBRE PADRÕES DE SOFTWAREPARA REENGENHARIA DE SISTEMAS Protocolo de Revisão  Questões de Pesquisa: Q1 - Quais os padrões de reengenharia publicados nas Conferências e Workshops especializados em padrões de software? Q2 - Como se classificam os padrões de reengenharia, publicados nas Conferências e Workshops especializados em padrões de software, quanto às disciplinas do processo de engenharia de software RUP? Q3 - Os padrões publicados apresentados abordam qual tipo de processo de reengenharia: Engenharia Reversa, Engenharia Avante ou Reestruturação? Q4 - Os usos conhecidos dos padrões publicados abordam quais linguagens de programação? Q5 - Quais Conferências e Workshops têm apresentado em seus anais padrões para reengenharia de sistemas? Em quais anos? Quem se destaca em números de estudos e padrões publicados?  População: Publicações contendo Padrões de Software.  Intervenção: Padrões de Software para Reengenharia. 12/23
  13. 13. UMA REVISÃO SISTEMÁTICA SOBRE PADRÕES DE SOFTWAREPARA REENGENHARIA DE SISTEMAS Condução da Revisão  Fontes Primárias Pesquisadas: • PLoP: 17 edições, entre 1994 e 2004; • Sugarloaf PLoP: 08 edições, entre 2001 e 2010; • EuroPLoP: 16 edições, entre 1996 e 2011; • Meta EuroPLoP: 01 edição em 2011; • Asian PLoP: 01 edição em 2010; • ParaPLoP: 03 edições, entre 2009 e 2011 • Scrum PLoP: 02 edições, entre 2010 e 2011; • Viking PLoP: 07 edições, entre 2002 e 2008; e • PEAM: 02 edições, em 2009 e 2010. 13/23
  14. 14. UMA REVISÃO SISTEMÁTICA SOBRE PADRÕES DE SOFTWAREPARA REENGENHARIA DE SISTEMAS Protocolo de Revisão  Strings de Busca: SOFTWARE LEGADORESTRUCTURING REENGINEERING PATTERN SISTEMA LEGADO REENGENHARIA ENGENHARIA REVERSA REVERSE ENGINEERING FORWARD ENGINEERING ENGENHARIA AVANTE LEGACY SYSTEM REENGINEERING REESTRUTURAÇÃOPADRÃO DE REENGENHARIA APLICAÇÃO LEGADA 14/23
  15. 15. UMA REVISÃO SISTEMÁTICA SOBRE PADRÕES DE SOFTWAREPARA REENGENHARIA DE SISTEMAS Protocolo de Revisão  Critérios de Inclusão: 1 Os estudos devem ter sido publicados nas Conferências e Workshops PLoP 2 Os estudos devem estar escritos em inglês ou português; 3 Os estudos devem estar disponíveis na web; 4 Os estudos que apresentem alguma das strings de busca em seu título, resumo/abstract ou palavras-chaves; 5 Os estudos devem apresentar a proposta de um ou mais padrões de reengenharia em sistemas.  Critérios de Qualidade: 1 Os estudos apresentam padrões de reengenharia documentados em um formato de escrita de padrões, descritos de forma explícita e organizada. 15/23
  16. 16. UMA REVISÃO SISTEMÁTICA SOBRE PADRÕES DE SOFTWAREPARA REENGENHARIA DE SISTEMAS Protocolo de Revisão  Método da Extração dos Dados: Aplicada estratégia de pesquisa para identificar estudos primários realizada por meio da1 leitura do título, resumo/abstract e palavras–chave com as strings de busca. A busca é registrada por meio de um Formulário de Condução da Revisão; O conjunto de estudos é selecionado a partir da verificação dos critérios de inclusão e2 exclusão. A seleção (inclusão/exclusão) dos estudos é feita por meio de uma leitura superficial dos estudos primários, tendo como foco identificar os critérios estabelecidos. A etapa de seleção é documentada em um Formulário de Seleção dos Estudos; Todos os estudos incluídos como resultados da pesquisa inicial são revisados, inteira e 3 minuciosamente, por outro pesquisador. Os resultados são revisados por todos os pesquisadores envolvidos e quaisquer 4 desacordos são discutidos e resolvidos. Os resultados da revisão, que conta com os detalhes das pesquisas realizadas nos 5 estudos primários selecionados, são registrados em um Formulário de Extração dos Dados. 16/23
  17. 17. UMA REVISÃO SISTEMÁTICA SOBRE PADRÕES DE SOFTWAREPARA REENGENHARIA DE SISTEMAS Análise e Discussão dos Resultados Q1 - Quais os padrões de reengenharia publicados nas Conferências e Workshops especializados em padrões de software? Realiza catalogação bibliográfica de 67 padrões, os quais atenderam os critérios de inclusão/exclusão e qualidade. Obs.: A consulta obteve êxito somente nas seguintes fontes: •PLoP: 3 estudos encontrados e pré-selecionados; •Sugar Loaf PLoP : 6 encontrados e pré-selecionados; e •EuroPLoP: 7 encontrados e pré-selecionados. Dos 16 estudos pré-selecionados, 12 estavam de acordo com todos os critérios previstos no protocolo de revisão e tiveram seus dados extraídos e analisados. 17/23
  18. 18. UMA REVISÃO SISTEMÁTICA SOBRE PADRÕES DE SOFTWAREPARA REENGENHARIA DE SISTEMAS Análise e Discussão dos Resultados Q2 - Como se classificam os padrões de reengenharia, publicados nas Conferências e Workshops especializados em padrões de software, quanto às disciplinas do processo de engenharia de software RUP? Porcentagem de Padrões por Disciplina do RUP As disciplinas Testes e Implantação não são apresentadas no gráfico porque não envolvem nenhum padrão de reengenharia selecionado durante a Revisão Sistemática. 18/23
  19. 19. UMA REVISÃO SISTEMÁTICA SOBRE PADRÕES DE SOFTWAREPARA REENGENHARIA DE SISTEMAS Análise e Discussão dos Resultados Q3 - Os padrões publicados apresentados abordam qual tipo de processo de reengenharia (Engenharia Reversa, Engenharia Avante, Reestruturação)? Percentual de Padrões por Processo de Reengenharia 19/23
  20. 20. UMA REVISÃO SISTEMÁTICA SOBRE PADRÕES DE SOFTWAREPARA REENGENHARIA DE SISTEMAS Análise e Discussão dos Resultados Q4 - Os usos conhecidos dos padrões publicados abordam qual tipo de linguagem de programação? Quantidade de Padrões por Linguagem de Programação 20/23
  21. 21. UMA REVISÃO SISTEMÁTICA SOBRE PADRÕES DE SOFTWAREPARA REENGENHARIA DE SISTEMAS Análise e Discussão dos Resultados Q5 - Quais Conferências e Workshops têm apresentado publicações com padrões de reengenharia de sistemas? Em quais anos? Quem se destaca em números de estudos e padrões publicados? Estudos publicados por ano Padrões apresentados por ano 21/23
  22. 22. UMA REVISÃO SISTEMÁTICA SOBRE PADRÕES DE SOFTWAREPARA REENGENHARIA DE SISTEMAS Conclusões - Os levantamentos quanto à linguagem de programação e ao processo de reengenharia apontam quais as áreas necessitam de mais pesquisas: - No que se refere à linguagem de programação verificou-se que há um menor número de padrões que atendem à reengenharia de linguagens de programação orientadas a objetos. -Quanto ao processo de reengenharia, padrões para a Engenharia Avante e para a Reestruturação estão em menor número (necessitando talvez de uma maior atenção por parte dos pesquisadores), enquanto que padrões que tratam de Engenharia Reversa são a maioria. -A catalogação bibliográfica, bem como a classificação realizada beneficiam o engenheiro de software no momento da seleção dos padrões a serem utilizados em um projeto de reengenharia. Deste modo, este trabalho apresenta-se como uma fonte única de consulta a padrões de reengenharia de sistemas, onde é possível eleger os padrões mais adequados e de acordo com a disciplina do processo de engenharia de software. 22/23
  23. 23. Obrigado!Erivan de Sena Ramos - erivansr@gmail.comMárcia Maria Albuquerque Brasil - marcia.abrasil@gmail.com 23/23
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×