carlos eduardo pontual fernanda d’amorim leopoldo teixeira flip - ferramenta para linhas de...

15
Carlos Eduardo Pontual Fernanda d’Amorim Leopoldo Teixeira FLiP - Ferramenta para Linhas de Produtos de Aplicações Móveis Reuso Estratégico em LPS Parte 3

Upload: raissa-gil

Post on 07-Apr-2016

216 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Carlos Eduardo Pontual Fernanda d’Amorim Leopoldo Teixeira FLiP - Ferramenta para Linhas de Produtos de Aplicações Móveis Reuso Estratégico em LPS Parte

Carlos Eduardo PontualFernanda d’Amorim

Leopoldo Teixeira

FLiP - Ferramenta para Linhas de Produtos de Aplicações Móveis

Reuso Estratégico em LPSParte 3

Page 2: Carlos Eduardo Pontual Fernanda d’Amorim Leopoldo Teixeira FLiP - Ferramenta para Linhas de Produtos de Aplicações Móveis Reuso Estratégico em LPS Parte

Feature model

- escopo da linha extraída

Page 3: Carlos Eduardo Pontual Fernanda d’Amorim Leopoldo Teixeira FLiP - Ferramenta para Linhas de Produtos de Aplicações Móveis Reuso Estratégico em LPS Parte

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.

Page 4: Carlos Eduardo Pontual Fernanda d’Amorim Leopoldo Teixeira FLiP - Ferramenta para Linhas de Produtos de Aplicações Móveis Reuso Estratégico em LPS Parte

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

Page 5: Carlos Eduardo Pontual Fernanda d’Amorim Leopoldo Teixeira FLiP - Ferramenta para Linhas de Produtos de Aplicações Móveis Reuso Estratégico em LPS Parte

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

Page 6: Carlos Eduardo Pontual Fernanda d’Amorim Leopoldo Teixeira FLiP - Ferramenta para Linhas de Produtos de Aplicações Móveis Reuso Estratégico em LPS Parte

FM + PLUSS

UC014

UC001

UC018UC016

UC002-008

UC020-028

Page 7: Carlos Eduardo Pontual Fernanda d’Amorim Leopoldo Teixeira FLiP - Ferramenta para Linhas de Produtos de Aplicações Móveis Reuso Estratégico em LPS Parte

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

Page 8: Carlos Eduardo Pontual Fernanda d’Amorim Leopoldo Teixeira FLiP - Ferramenta para Linhas de Produtos de Aplicações Móveis Reuso Estratégico em LPS Parte

Interação entre features• Extração para AspectJ x Extração para Java pré-processado

Page 9: Carlos Eduardo Pontual Fernanda d’Amorim Leopoldo Teixeira FLiP - Ferramenta para Linhas de Produtos de Aplicações Móveis Reuso Estratégico em LPS Parte

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

Page 10: Carlos Eduardo Pontual Fernanda d’Amorim Leopoldo Teixeira FLiP - Ferramenta para Linhas de Produtos de Aplicações Móveis Reuso Estratégico em LPS Parte

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

Page 11: Carlos Eduardo Pontual Fernanda d’Amorim Leopoldo Teixeira FLiP - Ferramenta para Linhas de Produtos de Aplicações Móveis Reuso Estratégico em LPS Parte

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

Page 12: Carlos Eduardo Pontual Fernanda d’Amorim Leopoldo Teixeira FLiP - Ferramenta para Linhas de Produtos de Aplicações Móveis Reuso Estratégico em LPS Parte

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

Page 13: Carlos Eduardo Pontual Fernanda d’Amorim Leopoldo Teixeira FLiP - Ferramenta para Linhas de Produtos de Aplicações Móveis Reuso Estratégico em LPS Parte

Instance models

Page 14: Carlos Eduardo Pontual Fernanda d’Amorim Leopoldo Teixeira FLiP - Ferramenta para Linhas de Produtos de Aplicações Móveis Reuso Estratégico em LPS Parte

Instance models

Page 15: Carlos Eduardo Pontual Fernanda d’Amorim Leopoldo Teixeira FLiP - Ferramenta para Linhas de Produtos de Aplicações Móveis Reuso Estratégico em LPS Parte

Instance models