A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Introduzindo Refatoramento a Metodologias Tradicionais Tiago Massoni Workshop de Artigos TAES3 19/08/2003.

Apresentações semelhantes


Apresentação em tema: "Introduzindo Refatoramento a Metodologias Tradicionais Tiago Massoni Workshop de Artigos TAES3 19/08/2003."— Transcrição da apresentação:

1 Introduzindo Refatoramento a Metodologias Tradicionais Tiago Massoni Workshop de Artigos TAES3 19/08/2003

2 19/08/2003Tiago Massoni2 / 14 Temos Muitos Problemas com Estrutura do Código! Código-fonte mal estruturado Código-fonte mal estruturado –Spaguetti code Dificuldades de manutenção Dificuldades de manutenção –Correção de erros –Adicionar novos requisitos

3 19/08/2003Tiago Massoni3 / 14 Refatoramento em uma Casca de Noz Refatoramento altera código-fonte... Refatoramento altera código-fonte... –Motivado por “bad smells” –Melhora estrutura interna em algum fator de qualidade...e preserva comportamento externo...e preserva comportamento externo –Usuário do sistema não percebe –Test-First

4 19/08/2003Tiago Massoni4 / 14 Exemplos de Refatoramento public void imprimeRelatorio () { //codigo preparar relatorio //codigo enviar relatorio para impressora } public void imprimeRelatorio () { preparaRelatorio(); enviaRelatorioImpressora(); } private void preparaRelatorio { //codigo preparar relatorio } private void enviaRelatorioImpressora() { // codigo enviar relatorio para impressora }

5 19/08/2003Tiago Massoni5 / 14 Exemplos de Refatoramento Cliente nome : String idade : Integer retornaNome() retornaIdade() Funcionario nome : String idade : Integer retornaNome() retornaIdade() Cliente Funcionario Pessoa nome : String idade : Integer retornaNome() retornaIdade()

6 19/08/2003Tiago Massoni6 / 14 Que tal Refatoramentos em Modelos? Podemos estender refatoramento para níveis mais abstratos Podemos estender refatoramento para níveis mais abstratos –Refatoramentos em análise e projeto –Melhora qualidade, preserva semântica Algumas vantagens Algumas vantagens –Mais fácil visualizar mudanças –Exploração de decisões de projeto –Automatização pode ser poderosa

7 19/08/2003Tiago Massoni7 / 14 Extreme Programming fez a Fama de Refatoramento! Uma das práticas principais de XP Uma das práticas principais de XP Intrínseco ao ciclo de vida Intrínseco ao ciclo de vida –Refatoramentos sucessivos Código fonte como único artefato relevante Código fonte como único artefato relevante –Refatoramentos de código Mas e para metodologias como RUP e OPEN? Mas e para metodologias como RUP e OPEN? –Sincronização entre modelo e código –Atividades e guias adicionais a metodologias

8 19/08/2003Tiago Massoni8 / 14 Contribuições Estudo sobre manutenção de consistência modelo-código Estudo sobre manutenção de consistência modelo-código –Automatização Sugestões para extensão do RUP Sugestões para extensão do RUP –Atividades, guias, artefatos

9 19/08/2003Tiago Massoni9 / 14 Estudo dos Refatoramentos pelos Níveis de Abstração

10 19/08/2003Tiago Massoni10 / 14 Resultados... Alguns problemas claros Alguns problemas claros –Geração de código –Mapear abstrato para concreto Alternativas para automatização Alternativas para automatização –Modelo contendo código –Registro de refatoramentos

11 19/08/2003Tiago Massoni11 / 14 Refatoramento no RUP Aspectos Estáticos Planejamento (iteração) Planejamento (iteração) –Atividades: planejar e avaliar (métricas) –Artefato: Plano de refatoramento Análise & Projeto Análise & Projeto –Passo: Decisões técnicas –Passo: Refatoramentos de modelos Implementação Implementação –Passo: Transferir mudanças de modelo –Passo: Decisões técnicas –Passo: Mudanças no código

12 19/08/2003Tiago Massoni12 / 14 Elaboração Elaboração –Refatoramentos consideráveis –Foco em modelos Construção Construção –Refatoramentos adaptativos e corretivos –Mudanças rápidas no código Transição Transição –Defeitos e problemas não previstos Refatoramento no RUP Aspectos Dinâmicos

13 19/08/2003Tiago Massoni13 / 14 Conclusão Refatoramento é técnica relevante Refatoramento é técnica relevante –Pode aumentar produtividade –Tratamento em metodologias de software Trabalhos futuros Trabalhos futuros –Formalização do relacionamento modelo e código em refatoramentos –Ferramentas CASE com suporte a refatoramento

14 19/08/2003Tiago Massoni14 / 14 Obrigado! Feedback é bem-vindo...


Carregar ppt "Introduzindo Refatoramento a Metodologias Tradicionais Tiago Massoni Workshop de Artigos TAES3 19/08/2003."

Apresentações semelhantes


Anúncios Google