um processo Ágil de reengenharia baseado em framework ii workshop de engenharia de software unesp...
TRANSCRIPT
Um Processo Ágil de Um Processo Ágil de Reengenharia baseado Reengenharia baseado
em Frameworkem Framework
II Workshop de Engenharia de SoftwareUNESP – 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
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
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ção
Sistemas Legados
Migração de dados Década 90
Surgimento dos termos (Chikofsky, 1990): Engenharia Reversa e Reengenharia Incremental
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).
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
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
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)
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
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)
Fonte: Braga, 2003
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.
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.
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
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
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
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).
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 do
framework
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
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.
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
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 variabilidade
Atividades 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
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
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
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
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
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
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%
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
Ferramenta de Apoio ao Controle de Versões
Framework
Aplicação v1Aplicação v2
xxxxxxxxx
código fonte inserido
manualmente
...
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 dados
da Ferramenta GREN-WizardVersionControl
Tabela ClassMethodVersionControl
Resulting Method
Continua a instanciação
Ferramenta de Apoio ao Controle de Versões
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
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
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
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
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.
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.
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.
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.
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