Upload
raissa-gil
View
216
Download
0
Embed Size (px)
Citation preview
Carlos Eduardo PontualFernanda d’Amorim
Leopoldo Teixeira
FLiP - Ferramenta para Linhas de Produtos de Aplicações Móveis
Reuso Estratégico em LPSParte 3
Feature model
- escopo da linha extraída
Extração de Requisitos
• Documento de casos de uso reestruturado utilizando a técnica PLUSS.
• Mapeamento das Features à casos de uso (cenários e passos).
• Dificuldades– Documentação incompleta– Casos de uso simulados para as novas features
propostas.
Ex. PLUSS [UC001] Extrair variação
O sistema extrai a variação para a classe original do código.
O usuário realiza as alterações desejadas no código pré-processado e clica em finish. para finalizar a extração.
4b
O sistema extrai a variação para o aspecto especificado.
O usuário cria um novo aspecto para o qual o código selecionado é extraído e clica em finish para finalizar a extração
4a
O sistema apresenta o texto pré-processado para que o usuário possa editá-lo.
O usuário cria nova feature a ser associada ao código extraído e clica o botão next.
3b
O sistema apresenta ao usuário uma tela para a criação de um aspecto.
O usuário cria nova feature a ser associada ao código extraído e clica o botão “next”.
3a
O sistema apresenta ao usuário uma tela para a criação de uma feature.
O usuário seleciona a opção de extração desejada e clica o botão “next”.
2
O sistema valida o código a ser extraído, e retorna uma lista de extrações aplicáveis.
O usuário seleciona o código a ser extraído e requisita a operação de extração de código ao sistema
1
System ResponseActor ActionId
Ex. PLUSS (2)Ajuda
UC016Id Actor Action System Response
1O usuário pressiona o botão help no wizard. o sistema exibe a tela de ajuda.
Id Actor Action System Response1 Usuário seleciona a opção Help -> Help contents
no menu do eclipse.O sistema exibirá a tela de ajuda doeclipse.
2 O Usuário deverá selecionar a opção FLiP nomenu.
O sistema exibe a tela de ajuda do FLiP.
UC018
FM + PLUSS
UC014
UC001
UC018UC016
UC002-008
UC020-028
Extração de Java pré-processado
• Refactoring OO (extract method)• Around Execution• Member Extraction• Alteração no build.xml de org.cesar.flip.ui• Tempo: 1 hora
• Batch Extraction– Alteração do plugin.xml de org.cesar.flip.ui– Tempo: 30 minutos
Interação entre features• Extração para AspectJ x Extração para Java pré-processado
Extração para Java pré-processado
• Plugins:– org.cesar.flip.flipex.refactorings.preprocessed– org.cesar.flip.flipex.refactorings.preprocessed.preprocessedextractor
• Tempo: 30 minutos• Alteração no build.xml do FLiP– org.cesar.flip.feature
Gerenciador de Modelos
• Plugins:– org.cesar.flip.flipg.pv– org.cesar.flip.flipg.genarch
• Tempo: 20 minutos• Alteração no build.xml do FLiP– org.cesar.flip.feature
Tempo – AtividadesAtividade Técnica Tempo
Entendimento PDE, pure::variants, etc… - 20 horas
Extração de Java pré-processado FLiP 1 hora
Extração em batch Manual 30 minutos
Extração para Java pré-processado Manual 30 minutos
Gerenciador de modelos Manual 20 minutos
Configuration Knowledge - 6 horas
Dificuldades/Problemas
• Entendimento da estrutura PDE– Composição da UI
• Pouca documentação sobre PDE+AJDT– Sistema de build
• Problemas com utilização do FLiP– Extração around execution não funciona– Estrutura “amarrada” do Configuration Knowledge
Instance models
Instance models
Instance models