Download - Engenharia de Linha de Produtos de Software e o Processo ... · partir de um conjunto comum de ativos base previamente pensados" ... Redução do esforço de manutenção ... P11

Transcript

Engenharia de Linha de Engenharia de Linha de Produtos de SoftwareProdutos de Software e oe o Processo de Análise Processo de Análise AutomáticaAutomática:: uma visão geraluma visão geral

Cristiano Politowski - pesquisadorDr. Fabrícia Roos Frantz - orientadora

' GCA – Applied Computing Research Group

Agenda

● SPLE – Engenharia de Linha de Produtos de Software

● VM - Modelos de Variabilidade● AAMV – Análise Automática de Modelos

de Variabilidade● Objetivos da pesquisa

SPLE – Software Product Line Engineering

' GCA – Applied Computing Research Group

SPLE – O que é?

' GCA – Applied Computing Research Group

SPLE – O que é?

● Baseado em plataforma comum + customização em massa.

● Define um processo / sistematização para SPL:● "é um conjunto de softwares que compartilham

um conjunto comum de funcionalidades satisfazendo a necessidade particular de um segmento de mercado e que são desenvolvidos a partir de um conjunto comum de ativos base previamente pensados"

' GCA – Applied Computing Research Group

SPLE - Objetivo

● Prover meios para produção de softwares customizáveis a custos razoáveis.

' GCA – Applied Computing Research Group

SPLE - Vantagens em relação a Eng. de Software Tradicional● Baixo custo por sistema● Baixo Time-to-Market● Ganho em qualidade (artefatos testados)● Redução do esforço de manutenção (artefatos comuns)● Lidar com a evolução (adicionar tendências)● Lidar com a complexidade (restrições de variabilidade)● Melhorar a estimativa de custos (rapidez)● Benefícios para os clientes (UI padronizada)

' GCA – Applied Computing Research Group

SPLE - Vantagens

' GCA – Applied Computing Research Group

SPLE - Exemplo de Linha de Produto

● Telefone celular

– Fazer Chamadas

– Tela (apenas uma)

● Básica● Colorida● Alta resolução

– GPS (não pode ser na tela básica)

– Mídia (pode ter ambos)

● Mp3● Câmera (deve ter alta resolução)

' GCA – Applied Computing Research Group

SPLE - Exemplo - variabilidadeP1 = {MobilePhone,Calls,Screen,Basic}

P2 = {MobilePhone,Calls,Screen,Basic,Media,MP3}

P3 = {MobilePhone,Calls,Screen,Colour}

P4 = {MobilePhone,Calls,Screen,Colour,GPS}

P5 = {MobilePhone,Calls,Screen,Colour,Media,MP3}

P6 = {MobilePhone,Calls,Screen,Colour,Media,MP3,GPS}

P7 = {MobilePhone,Calls,Screen,High resolution}

P8 = {MobilePhone,Calls,Screen,High resolution,Media,MP3}

P9 = {MobilePhone,Calls,Screen,High resolution,Media,MP3,Camera}

P10 = {MobilePhone,Calls,Screen,High resolution,Media,Camera}

P11 = {MobilePhone,Calls,Screen,High resolution,GPS}

P12 = {MobilePhone,Calls,Screen,High resolution,Media,MP3,GPS}

P13 = {MobilePhone,Calls,Screen,High resolution,Media,Camera,GPS}

P14 = {MobilePhone,Calls,Screen,High resolution,Media,Camera,MP3,GPS}

' GCA – Applied Computing Research Group

SPLE - Engenharia de Domínio e Aplicação - Framework

VM – Variability Models

' GCA – Applied Computing Research Group

VM - Modelos de Variabilidade

● A complexidade da variabilidade somente pode ser manuseada por meio de uma gestão da variabilidade– E o primeiro passo é uma notação comum:

FM, OVM, Decision Model...

' GCA – Applied Computing Research Group

VM – Feature Model

' GCA – Applied Computing Research Group

VM - OVM

' GCA – Applied Computing Research Group

VM – Notação OVM

' GCA – Applied Computing Research Group

VM – Metamodelo OVM

AAVM – Automated Analysis of Variability Models

' GCA – Applied Computing Research Group

AAVM - Análise Automática de Modelos de Variabilidade● Analisar Modelos de Variabilidade é uma

tarefa suscetível a erros e tediosa além de inviável de ser feita manualmente quando em modelos de larga escala.

' GCA – Applied Computing Research Group

AAVM – Exemplo de operação de análise: dead feature● Uma feature está morta se não aparece

em nenhum produto da linha.

' GCA – Applied Computing Research Group

AAVM - Framework

FM, OVM, …

CSP, BDD,...

Ferramenta pra fazer isso :D

' GCA – Applied Computing Research Group

Objetivos

● Geral– Utilização de técnicas da Engenharia de Linhas

de Produtos de Software para dar suporte à modelagem de planos de serviços e à otimização da escolha de provedores de Computação em Nuvem.

● Parcial– Criação de uma ferramenta para modelagem da

variabilidade dos provedores e planos de serviço.

Obrigado pela atenção!

[email protected]