Carregar apresentação
A apresentação está carregando. Por favor, espere
PublicouValentina Bernardes Gentil Alterado mais de 9 anos atrás
1
Ferramentas para Linhas de Produtos de Aplicações Móveis - FLIP Carlos Eduardo Pontual Fernanda d’Amorim Leopoldo Teixeira
2
Objetivo: automatizar linhas de produtos reuso estratégico de artefatos comuns e variações
3
Produto 1 Base Produto 1Produto 2 FLIPex FLIPc FLIPg FLiP
4
Módulos Extração de variações (FLIPex) – Refactoring, análise estática de código Composição de variações e base (FLIPc) – Orientação a aspectos, transformação de programas, prog. generativa, frameworks Gerenciamento de variações (FLIPg) – Visualização, análise de interferências, meta- linguagem de configuração
5
Métricas 45 projetos compõem o FLiP – Unidos em um único para cálculo de métricas Total de Linhas de Código – 15.664 Total de Classes – 186
6
Concerns 37 concerns identificados (7564 LOC) – FLiPEx – 26 concerns (4234 LOC) – FLiPC – 2 concerns (215 LOC) – FLiPG– 8 concerns (3448 LOC) – Iniciar FLiP – 1 concern (260 LOC) Documentação de requisitos – Requisitos não funcionais não mapeados – Concerns cogitados Suportar extrair tag pré-processada Tratamento de Exceções Persistência Entendimento e marcação – 5 dias 4h/dia – 3 pessoas
7
FLiPEx
8
FLiPC e FLiPG
9
Exemplo FLiPEx
11
Exemplo FLiPC
13
Exemplo FLiPG
15
Tabela Métricas
17
Croscutting concerns Concerns de extração de códigos são croscutting entre si – Extração para Aspectos e para código Pré- processado também se entrelaçam Inicialização de FLiPEx, FLiPC, FLiPG e FLiP são croscutting Como esperado, encontramos na Facade muitos concerns entrelaçados.
18
Crosscutting concerns: Extração de código para aspectos
19
Dificuldades Projeto desenvolvido por terceiros – Entendimento do código Adaptação dos requisitos – Interpretação dos documentos de requisitos – Criar hierarquia de concerns ConcernTagger – Incompatibilidade com VMs – Não calcula métrica em projetos diferentes Unir todos os projetos em um só
20
Conclusão Números não dizem tudo – Baixa granularidade (classes) – Espalhamento ≠ Acoplamento – Código espalhado devido ao alto grau de modularidade Análise a nível de pacotes – Projetos diferentes
Apresentações semelhantes
© 2024 SlidePlayer.com.br Inc.
All rights reserved.