Um Processo - PowerPoint PPT Presentation

1 / 39
About This Presentation
Title:

Um Processo

Description:

Title: Slide 1 Author: istela Last modified by: Guest Created Date: 5/1/2005 12:38:13 PM Document presentation format: Apresenta o na tela Company – PowerPoint PPT presentation

Number of Views:50
Avg rating:3.0/5.0
Slides: 40
Provided by: ist140
Category:
Tags: metodo | processo

less

Transcript and Presenter's Notes

Title: Um Processo


1
Um Processo Ágil de Reengenharia baseado em
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 Software
  • UNESP FGP - UNIP
  • Maria Istela Cagnin
  • Orientador Prof. José Carlos Maldonado
  • Maio/2005

2
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

3
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
4
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).

5
Motivação
  • Uso de padrões de software e framework na
    reengenharia
  • Uso de VVT 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

6
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

7
Linguagem de Padrões GRN
  • Contém 15 padrões de análise
  • Pertence a um domínio específico
  • Gestão de Recursos de Negó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)

8
(No Transcript)
9
Exemplo de um Padrão da GRN
  • Padrão 4 Locar o Recurso
  • Contexto
  • Sua aplicação lida com aluguel de recursos, que
    podem ser bens emprestados a um cliente por um
    certo período ou serviços efetuados por um
    especialista por determinado tempo. Você já
    identificou e quantificou tais recursos.
  • Problema
  • Como gerenciar aluguéis de recursos realizados
    por sua aplicação?

10
Exemplo de um Padrão da GRN
  • Estrutura

11
Uso de um Padrão da GRN
  • Exemplo

12
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)

13
Fonte Braga, 2003
14
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.

15
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.

16
Método eXtreme Programming
  • 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

17
Método eXtreme Programming
  • 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

18
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

19
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).

20
Processo Ágil de Reengenharia baseado em
Linguagem de Padrões e Framework
21
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 VVT
  • 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.

22
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

23
Processo de Evolução de Frameworks de Aplicação
24
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
25
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

26
Abordagem de Reúso de Teste - ARTe
27
Abordagem de Reúso de Teste - ARTe
Elaborar requisitos de teste de consistência
(PASSO 3.1) Elaborar requisitos de teste de
integridade (PASSO 3.2)
  • Passos da ARTe instanciados
  • para a GRN

Elaborar requisitos de teste do Negócio (PASSO 4)
28
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

29
Abordagem de Reúso de Teste
  • Um estudo de caso observacional - Uso das
    diretrizes de reúso

Informações Sem Reúso VVT Com Reúso VVT
Tempo reengenharia 67529 h 32040 h
Tempo VVT 57140 h 24030 h
Total casos de teste 354 695
47
84
75
42
50
30
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

31
Ferramenta de Apoio ao Controle de Versões
Framework
código fonte inserido manualmente
Aplicação v1
Aplicação v2
...
xxxxxxxxx
32
(No Transcript)
33
Ferramenta de Apoio ao Controle de Versões
Continua a instanciação
34
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

35
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

36
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

37
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

38
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.

39
Publicações
  • ARTIGOS 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.

40
Publicações
  • ARTIGOS 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.

41
Publicações
  • ARTIGOS 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.

42
Um Processo Ágil de Reengenharia baseado em
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 Software
  • UNESP FGP - UNIP
  • Maria Istela Cagnin (istela_at_icmc.usp.br)
  • Orientador Prof. José Carlos Maldonado
  • Maio/2005
Write a Comment
User Comments (0)
About PowerShow.com