1 / 20

Ferramentas para Linhas de Produtos de Aplicações Móveis - FLIP

Ferramentas para Linhas de Produtos de Aplicações Móveis - FLIP. Carlos Eduardo Pontual Fernanda d’Amorim Leopoldo Teixeira. Objetivo: automatizar linhas de produtos. reuso estratégico de artefatos comuns e variações. FLiP. Base. FLIPg. Produto 1. FLIPex. FLIPc. Produto 1. Produto 2.

ina-burks
Download Presentation

Ferramentas para Linhas de Produtos de Aplicações Móveis - FLIP

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  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. FLiP Base FLIPg Produto 1 FLIPex FLIPc Produto 1 Produto 2

  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

  10. Exemplo FLiPC

  11. Exemplo FLiPG

  12. Tabela Métricas

  13. Tabela Métricas

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

  15. Crosscutting concerns: Extração de código para aspectos

  16. 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ó

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

More Related