Um Processo Ágil de Reengenharia baseado em Framework

39
Um Processo Ágil Um Processo Ágil de Reengenharia de Reengenharia baseado em baseado em Framework Framework II Workshop de Engenharia de Software UNESP – FGP - UNIP Maria Istela Cagnin Orientador: Prof. José Carlos Maldonado Maio/2005 Universidade de São Paulo Instituto de Ciências Matemáticas e de Computação Departamento de Ciências de Computação e Estatística

description

Universidade de São Paulo Instituto de Ciências Matemáticas e de Computação Departamento de Ciências de Computação e Estatística. Um Processo Ágil de Reengenharia baseado em Framework. II Workshop de Engenharia de Software UNESP – FGP - UNIP Maria Istela Cagnin - PowerPoint PPT Presentation

Transcript of Um Processo Ágil de Reengenharia baseado em Framework

Page 1: Um Processo Ágil de Reengenharia baseado em Framework

Um Processo Ágil de Um Processo Ágil de Reengenharia baseado Reengenharia baseado

em Frameworkem FrameworkII Workshop de Engenharia de Software

UNESP – FGP - UNIP

Maria Istela CagninOrientador: Prof. José Carlos Maldonado

Maio/2005

Universidade de São Paulo Instituto de Ciências Matemáticas e de Computação Departamento de Ciências de Computação e Estatística

Page 2: Um Processo Ágil de Reengenharia baseado em Framework

Roteiro Introdução

Motivação e Objetivos Contexto

Linguagens de Padrões Frameworks Métodos Ágeis

Contribuições Definição de um Processo Ágil de Reengenharia baseado em

Linguagem de Padrões e Framework Definição de um Processo de Evolução de Frameworks de

Aplicação Definição de uma Abordagem de Reúso de Teste Automatização de uma Ferramenta de apoio ao Controle de

Versões Definição de um Pacote de Experimentação

Limitações e Trabalhos Futuros

Page 3: Um Processo Ágil de Reengenharia baseado em Framework

Introdução Evolução constante do software

Constantes atividades de manutenção consome 70% do esforço no ciclo de vida (Pressman, 2004)

Degradação do código fonte Documentação desatualizada

código fonte: única documentaçãoSistemas Legados

Migração de dados Década 90

Surgimento dos termos (Chikofsky, 1990): Engenharia Reversa e Reengenharia Incremental

Page 4: Um Processo Ágil de Reengenharia baseado em Framework

Introdução

Algumas vantagens da reengenharia: preserva a solução existente do negócio em uma

nova arquitetura técnica (Sneed, 1995). em geral, promove custo efetivo e menos riscos do

que desenvolver um novo sistema (Warren, 2002).

Page 5: Um Processo Ágil de Reengenharia baseado em Framework

Motivação

Uso de padrões de software e framework na reengenharia

Uso de VV&T na reengenharia

Necessidade de apoio computacional na reengenharia

Preocupação de entregar o software sem atraso e com custo não superior ao estimado na reengenharia

Importância da engenharia de software experimental na reengenharia

Page 6: Um Processo Ágil de Reengenharia baseado em Framework

Objetivos Definir um processo ágil de reengenharia baseado

em framework no domínio de sistemas de informação

Definir um processo de evolução de frameworks de aplicação

Definir uma abordagem de reúso de teste que agrega recursos de teste funcional aos padrões de linguagens de padrões

Fornecer suporte automatizado para apoiar a iteratividade do processo ágil de reengenharia baseado em framework

Definir um pacote de experimentação

Page 7: Um Processo Ágil de Reengenharia baseado em Framework

Linguagem de Padrões GRN Contém 15 padrões de análise Pertence a um domínio específico

GGestão de RRecursos de NNegócio concentrado na locação, comercialização e manutenção de

recursos. utiliza alguns padrões de análise existentes é flexível

Adição de atributos específicos da aplicação notação UML (Unified Modeling Language)

Page 8: Um Processo Ágil de Reengenharia baseado em Framework

Quantificar o Recurso (2)

Armazenar o Recurso (3)

Locar o Recurso (4)

Reservar o Recurso (5)

Comercializar o Recurso (6)

Cotar o Recurso (7)

Conferir a Entrega do Recurso (8)

Manter o Recurso (9)

Cotar a Manutenção (10)

Identificar as Tarefas da Manutenção (14)

Identificar as Peças da Manutenção (15)

Itemizar a Transação do Recurso (11)

Pagar pela Transação do Recurso (12)

Identificar o Executor da Transação (13)

Identificar o Recurso (1)

Grupo 2:Transações feitas

com o recurso

Grupo 1:Identificação,

quantificação e armazenamento

do recurso

Grupo 3:Detalhes da Transação

Page 9: Um Processo Ágil de Reengenharia baseado em Framework

Framework GREN

construção: baseada na linguagem de padrões GRN

armazenamento: banco de dados MySQL linguagem de programação: Smalltalk (VisualWorks

4.i.5) arquitetura: três camadas

negócio, persistência e interface alternativas de instanciação

manual (cookbook) ferramenta de instanciação (GREN-Wizard)

Page 10: Um Processo Ágil de Reengenharia baseado em Framework

Fonte: Braga, 2003

Page 11: Um Processo Ágil de Reengenharia baseado em Framework

Métodos Ágeis

Década 90: reunião para estabelecer melhores práticas de desenvolvimento de software “Aliança Ágil” - Manifesto Ágil (Fevereiro/2001)

4 valores e 12 princípios Valores:

Pessoas e interações são mais importantes do que processos e ferramentas;

Software funcionando é mais importante do que documentação compreensiva;

Participação dos clientes é mais importante do que negociação;

Resposta a mudanças é mais importante do que seguir um plano.

Page 12: Um Processo Ágil de Reengenharia baseado em Framework

Métodos Ágeis Elaboram pouca documentação; Facilitam a incorporação de mudanças nos requisitos; Exigem que a equipe de desenvolvimento seja pequena; Preocupam-se com soluções simples; Fornecem versões do software em intervalos freqüentes (a cada

hora, a cada dia, ou, mais usualmente, a cada mês ou a cada bimestre);

Proporcionam constante interação e cooperação dos usuários; Exigem que desenvolvedores e representantes dos usuários sejam

bem informados, competentes e autorizados para tomar decisões; Realizam testes no software constantemente.

Page 13: Um Processo Ágil de Reengenharia baseado em Framework

Método eXXtreme PProgramming As idéias de XP não são novas e a maioria

delas são tão velhas como programar (Beck, 2000). técnicas foram provadas durante décadas

Utilizado por equipes de desenvolvimento de software de tamanho

pequeno e médio Novidade!

reconhecimento de que as pessoas são responsáveis para o sucesso dos projetos

aumentar os níveis de competência individual e de colaboração

Page 14: Um Processo Ágil de Reengenharia baseado em Framework

Método eXXtreme PProgramming

Conjunto de 4 valores e 12 práticas Valores: 1) comunicação, 2) simplicidade, 3)

feedback e 4) coragem. Práticas:

1) jogo do planejamento 2) versões pequenas 3) metáfora 4) projeto simples 5) testes constantes 6) refatoração constante

7) programação em pares 8) propriedade coletiva do código 9) integração contínua 10 semana de 40 horas 11) cliente presente 12) padrões de codificação

Page 15: Um Processo Ágil de Reengenharia baseado em Framework

Contribuições

Definição de um Processo Ágil de Reengenharia baseado em Linguagem de Padrões e Framework

Definição de um Processo de Evolução de Frameworks de Aplicação

Definição de uma Abordagem de Reúso de Teste Automatização de uma Ferramenta de apoio ao

Controle de Versões Definição de um Pacote de Experimentação no

contexto de reengenharia

Page 16: Um Processo Ágil de Reengenharia baseado em Framework

Processo Ágil de Reengenharia baseado em Linguagem de Padrões e Framework Objetivo: Migrar sistemas legados procedimentais para o

paradigma OO

Principais características: é incremental, iterativo e baseado em framework; considera diversas práticas ágeis (versões pequenas, cliente

presente, testes constantes, jogo do planejamento, programação em pares, propriedade coletiva do código e integração contínua, metáfora e semana de 40 horas);

é dirigido ao cliente e dirigido ao risco; utiliza “reengenharia guiada por teste”; executa o sistema alvo concomitantemente com o legado; não se limita a reproduzir a funcionalidade do sistema legado. o formato da documentação: elementos fundamentais do

arcabouço do RUP (Rational Unified Process).

Page 17: Um Processo Ágil de Reengenharia baseado em Framework

Processo Ágil de Reengenharia baseado em Linguagem de Padrões e Framework

TRANSIÇÃO

Converter a base dedados do sistema

legado

Treinar os usuáriosfinais

Familiarizar-se como domínio doframework

Confrontar as carac-terísticas não funcio-nais do framework x

sistema legado

Observar o domíniodo sistema legadoem relação ao do

framework

CONCEPÇÃO

Elaborar o plane-jamento do projeto de

reengenharia

Desenvolver odiagrama de casos

de uso e elaborar oscasos de teste

Desenvolver odiagrama de classes

do sistema

Documentar asregras do negócio

do sistema

ELABORAÇÃO

Documentar asmodificações reali-zadas no diagrama

de classes

Elaborar o Manualdo Usuário do

Sistema

CONSTRUÇÃO

Adaptar o sistemaalvo

Executar os casosde teste no sistema

alvo

Testar o sistemaalvo no paradigmaorientado a objetos

Legend:

Marco de referência no final de cadafase

Atividade iterativa e incremental

Atividade anterior provém de outrafase

Atividade não obrigatória

Desenvolver osistema alvo no

paradigma orien-tado a objetos

Page 18: Um Processo Ágil de Reengenharia baseado em Framework

Processo Ágil de Reengenharia baseado em Linguagem de Padrões e Framework Dois estudos de caso de reengenharia prospectivos

permitiram: refinar a documentação do PARFAIT observar a necessidade de evoluir framework GREN motivar a criação de um PRocesso de Evolução de Framework

(PREF)

Um estudo de caso observacional permitiu: coleta de dados: 84% do tempo gasto com VV&T observar a necessidade de associar recursos de teste aos

padrões da linguagem de padrões motivar a criação uma Abordagem Reúso de Teste (ARTe) observar que a ferramenta GREN-Wizard não apoiava a

iteratividade do PARFAIT.

Page 19: Um Processo Ágil de Reengenharia baseado em Framework

Contribuições

Definição de um Processo Ágil de Reengenharia baseado em Linguagem de Padrões e Framework

Definição de um Processo de Evolução de Frameworks de Aplicação

Definição de uma Abordagem de Reúso de Teste Automatização de uma Ferramenta de apoio ao

Controle de Versões Definição de um Pacote de Experimentação no

contexto de reengenharia

Page 20: Um Processo Ágil de Reengenharia baseado em Framework

Processo de Evolução de Frameworks de Aplicação

2) Projetar, modifi-car e testar o sistema para satis-fazer o requisito

3) Atualizar o his-tórico de requisitos

4) Projetar, modifi-car e testar o fra-mework para satis-fazer o requisito

7) Validar o frame-work

8) Tratar do geren-ciamento de con-trole de configu-ração

Legenda:Atividade de controle de variabilidadeAtividades quando o requisitonão é essencial ao framework

6) Atualizar ferra-mentas associadas ao framework

Atividades quando o requisitoé essencial ao framework

1) Controlar a vari-abilidade do frame-work.

Início

5) Atualizar a do-cumentação do fra-mewok

Page 21: Um Processo Ágil de Reengenharia baseado em Framework

Processo de Evolução de Frameworks de Aplicação

ID. Requisito Tipo Solução de projeto implementada na aplicação

Aplica-ção

Tipo de manut.

Situa-ção

Ver-são

01 Livros podem ter diversos autores.

Func. Implementar os autores de um livro como

atributo multivalorado da classe Livro.

Biblioteca (REENG)

Perfectiva Atendi-do

1.1

02 Livro pertence a uma determinada área (Exatas, Biológicas, Humanas)

Func. Implementar a área que um livro pertence como

tipo enumerado.

Biblioteca (REENG)

Perfectiva Atendi-do

1.1

03 Aparelho eletrônico possui proprietário

Func. Implementar o proprietário de um aparelho eletrônico na classe Aparelho como uma referência da classe Proprietário por meio de um

tipo enumerado.

Oficina Eletrônica (REENG)

Perfectiva Sendo atendi-do

-

04 Emissão de etiquetas de mala direta

Func. Implementar as etiquetas de mala direta a partir da

criação da classe Etiqueta, contendo dois tamanhos de etiquetas pré-estabelecidos.

Oficina Eletrônica (REENG)

Perfectiva Penden-te

-

06 É necessário autenticar os usuários do sistema, registrar os acessos efetuados e bloquear o acesso a determinadas operações do usuário, conforme o seu papel.

Func. Um sub-sistema de segurança foi implementado em linguagem orientada a aspectos.

- perfectiva Penden-te

-

Histórico de Requisitos

Page 22: Um Processo Ágil de Reengenharia baseado em Framework

Contribuições Definição de um Processo Ágil de Reengenharia

baseado em Linguagem de Padrões e Framework Definição de um Processo de Evolução de

Frameworks de Aplicação Definição de uma Abordagem de Reúso de Teste Automatização de uma Ferramenta de apoio ao

Controle de Versões Definição de um Pacote de Experimentação no

contexto de reengenharia

Page 23: Um Processo Ágil de Reengenharia baseado em Framework

Abordagem de Reúso de Teste - ARTe

Linguagem de Padrões de AnálisePassos da estratégia para definir recursos de teste

Definir tipos de requisitos (PASSO 1)Selecionar critérios de teste (PASSO 2)Elaborar requisitos de teste gerais (PASSO 3)

Para cada padrão da linguagem de padrões façaPara cada classe do padrão faça

Elaborar requisitos de teste específicos (PASSO 4) fimParafimParaDocumentar cada requisito de teste criado (PASSO 5)Derivar e documentar casos de teste (PASSO 6)Mapear requisitos de teste de gerais (PASSO 7)Disponibilizar os recursos de teste (PASSO 8)

Linguagem de Padrões de Análisecom Requisitos de Teste (RT) e Casos de Teste (CT) agregados

RT RTRT

CT

RT

ETAPA 1

XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

Requisitos do Sistema (Desenv.)

Sistema Legado (Reeng.)

Para cada requisito funcional do sistema (sendo desenvolvido ou submetido à reengenharia) faça Identificar os padrões da linguagem de padrões que modelam tal requi-

sito funcional Para cada padrão identificado faça

Estabelecer correspondência das classes do padrão identificado com o requisito funcional

Reutilizar casos de teste mapeados que possuem correspondência direta com os dados do requisito funcionalReutilizar casos de teste do negócio do padrão que posuem correspon-dência direta com o tratamento do negócio envolvido no requisito

funcional do sistema fimPara

Reutilizar requisitos de teste de integridade e de consistência, que podem ser adaptados para o requisito funcional Derivar e documentar os casos de teste baseados nos requisitos de teste reusados Reutilizar classes de equivalência de consistência e de integridade que podem ser adaptadas para o requisito funcional Derivar e documentar os casos de teste baseados nas classes de equivalência reusadas Criar casos de teste adicionais baseados nos critérios de teste funcionais

(Particionamento de Equivalência e Análise do Valor Limite)fimParaVerificar o uso correto dos padrões da linguagem de padrões

Passos das diretrizes para reúso dos recursos de teste

CT

CT CT

CT

CT

CT

CT

CT

CT

CT CT

CT

CT

CT

CT

CT

Massa dos Casos de Teste (CT) do Sistema

ETAPA 2

CTCT

CT

Page 24: Um Processo Ágil de Reengenharia baseado em Framework

Passos da ARTe instanciados para a GRN

Definir tipos de requisitos (PASSO 1)Selecionar critérios de teste (PASSO 2)Elaborar requisitos de teste gerais (PASSO 3)

Para cada padrão da linguagem de padrões façaPara cada classe do padrão faça

Elaborar requisitos de teste específicos (PASSO 4) fimParafimParaDocumentar cada requisito de teste criado (PASSO 5)Derivar e documentar casos de teste (PASSO 6)Mapear requisitos de teste de gerais (PASSO 7)Disponibilizar os recursos de teste (PASSO 8)

Elaborar requisitos de teste de consistência (PASSO 3.1)Elaborar requisitos de teste de integridade (PASSO 3.2)

Elaborar requisitos de teste do Negócio (PASSO 4)

Abordagem de Reúso de Teste - ARTe

Page 25: Um Processo Ágil de Reengenharia baseado em Framework

Abordagem de Reúso de Teste Para cada requisito funcional do sistema

Identificar os padrões que modelam o requisito funcional Para cada padrão identificado

Estabelecer correspondência das classes do padrão com o requisito funcional do sistema

Reutilizar casos de teste do padrão fimPara

Reutilizar requisitos de teste que podem ser adaptados Derivar e documentar casos de teste baseado nos requisitos

reusados; Reutilizar classes de equivalência que podem ser adaptadas; Derivar e documentar casos de teste baseados nas classes de

equivalência reusadas; Criar casos de teste adicionais, se necessário.

FimPara Verificar o uso correto dos padrões

Page 26: Um Processo Ágil de Reengenharia baseado em Framework

Um estudo de caso observacional - Uso das diretrizes de reúso

Abordagem de Reúso de Teste

Informações Sem Reúso VV&T Com Reúso VV&T

Tempo reengenharia 675:29 h 320:40 h

Tempo VV&T571:40 h 240:30 h

Total casos de teste 354 695

84% 75%

47%

42%

50%

Page 27: Um Processo Ágil de Reengenharia baseado em Framework

Contribuições

Definição de um Processo Ágil de Reengenharia baseado em Linguagem de Padrões e Framework

Definição de um Processo de Evolução de Frameworks de Aplicação

Definição de uma Abordagem de Reúso de Teste Automatização de uma Ferramenta de apoio ao

Controle de Versões Definição de um Pacote de Experimentação no

contexto de reengenharia

Page 28: Um Processo Ágil de Reengenharia baseado em Framework

Ferramenta de Apoio ao Controle de Versões

Framework

Aplicação v1 Aplicação v2xxxxxxxxx

código fonte inserido

manualmente

...

Page 29: Um Processo Ágil de Reengenharia baseado em Framework

seq appIdCode className methodName methodType protocolName methodBody action appVersion version---------------------------------------------------------------------------------------------------------------------------------------...122 38 EmprestimoForm windowLabel c interface specs windowLabel u 1 2 ^'Empréstimo de Livro'......

Meta-base de dadosda Ferramenta GREN-WizardVersionControl

Tabela ClassMethodVersionControl

Page 30: Um Processo Ágil de Reengenharia baseado em Framework

Resulting Method

Continua a instanciação

Ferramenta de Apoio ao Controle de Versões

Page 31: Um Processo Ágil de Reengenharia baseado em Framework

Contribuições

Definição de um Processo Ágil de Reengenharia baseado em Linguagem de Padrões e Framework

Definição de um Processo de Evolução de Frameworks de Aplicação

Definição de uma Abordagem de Reúso de Teste Automatização de uma Ferramenta de apoio ao

Controle de Versões Definição de um Pacote de Experimentação no

contexto de reengenharia

Page 32: Um Processo Ágil de Reengenharia baseado em Framework

Pacote de Experimentação Contém o planejamento parcial do experimento para

avaliar a aplicabilidade do PARFAIT (meio acadêmico e industrial): completa: fases de definição, planejamento e

operação não possui: fases análise e interpretação incompleta: fases de apresentação e enpacotamento

Contém instrumentação necessária para apoiar os interessados na condução do experimento.

URL: http://labes.icmc.usp.br/~istela/experimentos/index.htm

Page 33: Um Processo Ágil de Reengenharia baseado em Framework

Limitações Uso dos produtos da tese apenas com o GREN e

GRN PARFAIT, PREF, ARTe, Pacote Experimentação

Processos PARFAIT e PREF são genéricos? Abordagem ARTe é flexível? Escalabilidade do PARFAIT

aplicado apenas em sistemas de pequeno porte Ferramenta GREN-WizardVersionControl

específica ao framework GREN impossibilita as práticas ágeis “propriedade coletiva do código” e

“integração contínua” Não há validação completa do pacote de

experimentação

Page 34: Um Processo Ágil de Reengenharia baseado em Framework

Trabalhos Futuros

Para eliminar as limitações do trabalho: Conduzir estudos de caso de reengenharia com o PARFAIT com

outros frameworks Conduzir estudos de caso com sistemas de médio e grande

porte para observar a escalabilidade do PARFAIT Refinar a abordagem ARTe utilizando-a em outras linguagens

de padrões Refinar o processo PREF utilizando-o em outros frameworks Conduzir estudos de caso para completar a definição do pacote

de experimentação Replicar o pacote de experimentação para validá-lo e evoluí-lo Evoluir a ferramenta GREN-WizardVersionControl

Page 35: Um Processo Ágil de Reengenharia baseado em Framework

Trabalhos Futuros Para evoluir o trabalho realizado:

Definir estratégias de teste para testar frameworks baseados em linguagens de padrões (GREN)

Documentar os recursos de teste criados com a aplicação da abordagem ARTe em um formato específico (XML)

Desenvolver uma ferramenta para gerenciar os hot spots das versões dos frameworks, apoiando o processo PREF.

Desenvolver uma ferramenta para apoiar a aplicação do PARFAIT.

Formalizar a equivalência funcional do sistema legado com o sistema alvo.

Conduzir estudos de caso de reengenharia para avaliar o desempenho de cada prática ágil do PARFAIT.

Conduzir estudos de caso para observar a aplicabilidade do PARFAIT no desenvolvimento de software e na engenharia reversa.

Page 36: Um Processo Ágil de Reengenharia baseado em Framework

PublicaçõesARTIGOS COMPLETOS EM EVENTOS

CAGNIN, Maria Istela; MALDONADO, José Carlos; MASIERO, Paulo Cesar; BRAGA, Rosana Terezinha Vaccare; PENTEADO, Rosangela Dellosso. An Evolution Process for Application Frameworks. In: I WORKSHOP DE MANUTENÇÃO DE SOFTWARE MODERNA EM CONJUNTO COM XVIII SIMPÓSIO BRASILEIRO DE ENGENHARIA DE SOFTWARE, 2004, Brasília-DF. Primeiro Workshop de Manutenção de SoftWare Moderna. Brasília-DF: 2004. p. 1-8.

CAGNIN, Maria Istela; PENTEADO, Rosangela Dellosso; GERMANO, Fernao Stella; MALDONADO, José Carlos. Evolução do PARFAIT: Um Processo de Reengenharia de Software Baseado em Framework. In: SIMPÓSIO DE DESENVOLVIMENTO E MANUTENÇÃO DE SOFTWARE DA MARINHA, 2004, Rio de Janeiro. IV Simpósio de Desenvolvimento e Manutenção de Software da Marinha. 2004. p. 1-12.

CAGNIN, Maria Istela; PAIVA, Débora Maria Barroso; MALDONADO, José Carlos; PENTEADO, Rosangela Dellosso; FORTES, Renata Pontin de Mattos; GERMANO, Fernão Stella. From DesignRationale to Reengineering Rationale: Lessons Learned in a Maintenance Pilot Case Study. In: JORNADAS IBEROAMERICANAS DE INGENIERÍA DEL SOFTWARE E INGENIERÍA DEL CONOCIMIENTO, 2004, Madrid, Espanha. 4ª Jornadas Iberoamericanas de Ingeniería del Software e Ingeniería del Conocimiento. Madrid-Espanha: 2004. v. I, p. 231-243.

CAGNIN, Maria Istela; MALDONADO, José Carlos; PENTEADO, Rosangela Dellosso; BRAGA, Rosana Terezinha Vaccare; GERMANO, Fernão Stella. GREN-WizardVersionControl: Uma Ferramenta de Apoio ao Controle de Versão das Aplicações Criadas pelo Framework GREN. In: SESSÃO DE FERRAMENTAS EM CONJUNTO COM XVIII SIMPÓSIO BRASILEIRO DE ENGENHARIA DE SOFTWARE, 2004, Brasília-DF. XI Sessão de Ferramentas - SBES 2004. 2004. p. 73-78.

CAGNIN, Maria Istela; MALDONADO, José Carlos; CHAN, Alessandra; PENTEADO, Rosangela Dellosso; GERMANO, Fernão Stella. Reuso na Atividade de Teste para Reduzir Custo e Esforço de VV\&T no Desenvolvimento e na Reengenharia de Software. In: SIMPÓSIO BRASILEIRO DE ENGENHARIA DE SOFTWARE, 2004, Brasília-DF. XVIII Simpósio Brasileiro de Engenharia de Software. Brasília-DF: 2004. p. 71-85.

Page 37: Um Processo Ágil de Reengenharia baseado em Framework

PublicaçõesARTIGOS COMPLETOS EM EVENTOS (CONT.)

CAGNIN, Maria Istela; MALDONADO, José Carlos; BRAGA, Rosana Terezinha Vaccare; GERMANO, Fernão Stella; PENTEADO, Rosangela Dellosso. Uma Ferramenta de Apoio ao Controle de Versão das Aplicações Criadas por um Framework. In: CONFERÊNCIA LATINO-AMERICANA DE INFORMÁTICA, 2004, Arequipa-Peru. XXX Conferência Latino-Americana de Informática. Arequipa-Peru: 2004. p. 414-425.

CAGNIN, Maria Istela; MALDONADO, José Carlos; GERMANO, Fernão Stella; MASIERO, Paulo Cesar; CHAN, Alessandra; PENTEADO, Rosangela Dellosso. An Agile Reverse Engineering Process based on a Framework. In: WORKSHOP EM ENGENHARIA DE REQUISITOS, 2003, Piracicaba. 6th International Workshop on Requirements Engineering. 2003. v. 1, p. 240-254.

CAGNIN, Maria Istela; MALDONADO, José Carlos; GERMANO, Fernão Stella; PENTEADO, Rosangela Dellosso. Investigation and Definition of a Computer-Aided Framework-based Agile Reengineering Process. In: WORKSHOP DE TESES EM ENGENHARIA DE SOFTWARE, 2003, Manaus, AM. VIII Workshop de Teses em Engenharia de Software e II Workshop de Teses e Dissertações em Banco de Dados. Manaus, AM: EDUA - Editora da Universidade Federal do Amazonas, 2003. p. 9-16.

CAGNIN, Maria Istela; MALDONADO, José Carlos; GERMANO, Fernão Stella; PENTEADO, Rosangela Dellosso. PARFAIT: Towards a Framework-based Agile Reengineering Process. In: AGILE DEVELOPMENT CONFERENCE, 2003, Salt Lake City, UTHA. IEEE. 2003. p. 22-31.

CAGNIN, Maria Istela; MALDONADO, José Carlos; GERMANO, Fernão Stella; CHAN, Alessandra; PENTEADO, Rosangela Dellosso. Um Estudo de Caso de Reengenharia Utilizando o Processo PARFAIT.In: SIMPÓSIO DE DESENVOLVIMENTO E MANUTENÇÃO DE SOFTWARE DA MARINHA, 2003, Niterói, RJ. III Simpósio de Desenvolvimento e Manutenção de Software da Marinha. 2003. p. 1-10.

Page 38: Um Processo Ágil de Reengenharia baseado em Framework

PublicaçõesARTIGOS SUBMETIDOS EM EVENTOS

CAGNIN, Maria Istela; BRAGA, Rosana Terezinha Vaccare; GERMANO, Fernão Stella; CHAN, Alessandra; MALDONADO, José Carlos. Extending Patterns with Testing Implementation. In: SugarLoafPlop'2005, V Conferência Latino-Americana em Linguagens de Padrões para Programação, Campos do Jordão-SP, Agosto, 2005.

CAGNIN, Maria Istela; PENTEADO, Rosângela; MASIERO, Paulo César; BRAGA, Rosana Terezinha Vaccare; MALDONADO, José Carlos. Process for Variability Control and Application Frameworks Evolution. In: IWPSE'2005, International Workshop on Principles of Software Evolution em conjunto com FSE/ESEC'2005. Lisboa, Portugal, Setembro, 2005.

ARTIGO A SER SUBMETIDO EM PERIÓDICO CAGNIN, Maria Istela; PENTEADO, Rosângela; GERMANO, Fernão Stella; MALDONADO, José

Carlos. Agile Reengineering with Reuse. In: JOURNAL OF SOFTWARE MAINTENANCE AND EVOLUTION: RESEARCH AND PRACTICE.

Page 39: Um Processo Ágil de Reengenharia baseado em Framework

Um Processo Ágil de Um Processo Ágil de Reengenharia baseado Reengenharia baseado

em Frameworkem Framework

Universidade de São Paulo Instituto de Ciências Matemáticas e de Computação Departamento de Ciências de Computação e Estatística

II Workshop de Engenharia de SoftwareUNESP – FGP - UNIP

Maria Istela Cagnin ([email protected])Orientador: Prof. José Carlos Maldonado

Maio/2005