Um Protótipo Web do Módulo de Planejamento de Avaliações de Linha de Produto de Software Segundo...

17
UM PROTÓTIPO WEB DO MÓDULO DE PLANEJAMENTO DE AVALIAÇÕES DE LINHA DE PRODUTO DE SOFTWARE SEGUNDO O MÉTODO SystEM-PLA ORIENTADOR: PROF. DR. EDSON A. OLIVEIRA JUNIOR ACADÊMICO: ALINE CRISTINA GONÇALVES DUMALAK

Transcript of Um Protótipo Web do Módulo de Planejamento de Avaliações de Linha de Produto de Software Segundo...

Page 1: Um Protótipo Web do Módulo de Planejamento de Avaliações de Linha de Produto de Software Segundo o Método SystEM-PLA

UM PROTÓTIPO WEB DO MÓDULO DE PLANEJAMENTO DE AVALIAÇÕES DE LINHA DE PRODUTO DE SOFTWARE SEGUNDO O

MÉTODO SystEM-PLA

ORIENTADOR: PROF. DR. EDSON A. OLIVEIRA JUNIOR

ACADÊMICO: ALINE CRISTINA GONÇALVES DUMALAK

Page 2: Um Protótipo Web do Módulo de Planejamento de Avaliações de Linha de Produto de Software Segundo o Método SystEM-PLA

Linha de produto de software (LPS)

• É um grupo de sistemas de software que compartilham características comuns.

• Produzir um conjunto de sistemas como uma linha de produtos tem permitido as organizações a alcançar uma maior qualidade e reduções significativas de custo e tempo de mercado (SEI, 2010).

Page 3: Um Protótipo Web do Módulo de Planejamento de Avaliações de Linha de Produto de Software Segundo o Método SystEM-PLA

Atividades Essenciais de LPS

• Desenvolvimento do núcleo de Artefatos que corresponde à Engenharia de Domínio;

• Desenvolvimento do Produto que corresponde à Engenharia de Aplicação;

• Gerenciamento de Linha de Produto.

A figura foi adaptada de (SEI, 2010)

Page 4: Um Protótipo Web do Módulo de Planejamento de Avaliações de Linha de Produto de Software Segundo o Método SystEM-PLA

Variabilidade

O gerenciamento de variabilidades está relacionado a todas as atividades de desenvolvimento de LPS e deve conter, pelo menos, as seguintes atividades (POHLl, 2007):

• Variabilidade Funcionalidades (features) que distinguem as diferentes aplicações de uma LPS.

• Ponto de variação (variation point) Representação do sujeito da variabilidade em artefatos do domínio enriquecidos com informação do contexto.

• Variante (variant) Representação de um objeto da variabilidade em artefatos de domínio. Uma opção do ponto de variação.

Page 5: Um Protótipo Web do Módulo de Planejamento de Avaliações de Linha de Produto de Software Segundo o Método SystEM-PLA

SystEM-PLA

• O SystEM-PLA (Systematic Evaluation Method for UML-based Software Product Line Architectures) é um Método de Avaliação de Arquitetura de LP baseada em UML. Tal avaliação considera as variabilidades, identificadas e representadas, segundo a abordagem SMarty. (OLIVEIRA JUNIOR, 2010).

Figura acima mostras as fases do Método SystEM-PLA

Page 6: Um Protótipo Web do Módulo de Planejamento de Avaliações de Linha de Produto de Software Segundo o Método SystEM-PLA

SystEM-PLA

• A fase a qual o protótipo faz parte é a de planejamento.

• O objetivo da fase de planejamento é instanciar o MPA (Atividades do Metaprocesso de Avaliação) que possui como entrada os Modelos UML de LP, o Modelo de Características de uma LP e realizar as suas atividades para estabelecer os artefatos utilizados durante uma avaliação de ALP.

Page 7: Um Protótipo Web do Módulo de Planejamento de Avaliações de Linha de Produto de Software Segundo o Método SystEM-PLA

Exemplo SMarty

Diagrama de classes da LP AGM segundo a Abordagem SMarty (OLIVEIRA JUNIOR, 2010)

Page 8: Um Protótipo Web do Módulo de Planejamento de Avaliações de Linha de Produto de Software Segundo o Método SystEM-PLA

Exemplo SMarty

Diagrama de caso de uso da LP AGM segundo a Abordagem SMarty (OLIVEIRA JUNIOR, 2010)

Page 9: Um Protótipo Web do Módulo de Planejamento de Avaliações de Linha de Produto de Software Segundo o Método SystEM-PLA

SMartyParser

O SMartyParser foi construído baseado no framework Open Core (SDMETRICS, 2011) a linguagem utilizada foi Java, o acadêmico responsável é o Leandro Lancelotti.

O parser possui um núcleo de artefatos para analisar arquivos XMI e extrair os elementos de modelos UML.

O XMI é um padrão baseado em XML (Extensible Markup Language) criado pela OMG (Object Management Group ) para facilitar o intercâmbio de metadados posicionamento, ordem.

Page 10: Um Protótipo Web do Módulo de Planejamento de Avaliações de Linha de Produto de Software Segundo o Método SystEM-PLA

SMartyParser

O processamento do arquivo XMI é controlado através dos arquivos:

• Metamodel Definition File (MDF)

Responsável por definir o metamodelo dos elementos conhecidos da UML. Cada elemento tem seus atributos, relacionamentos, tipo, meta – classe.

• XMI Transformation File (XTF)

É um padrão baseado em XML (Extensible Markup Language) criado pela OMG (Object Management Group ) para facilitar o intercâmbio de metadados.

Page 11: Um Protótipo Web do Módulo de Planejamento de Avaliações de Linha de Produto de Software Segundo o Método SystEM-PLA

SMartyParser

Figura acima mostra partes do arquivo XMI extraído da LP AGM a partir da ferramenta Poseidon (GENTLEWARE, 2012)

Page 12: Um Protótipo Web do Módulo de Planejamento de Avaliações de Linha de Produto de Software Segundo o Método SystEM-PLA

SMartyParser

Figura acima mostrada é um exemplo de uso do SMartyParser aplicado à LP AGM para mostrar as variabilidades

Page 13: Um Protótipo Web do Módulo de Planejamento de Avaliações de Linha de Produto de Software Segundo o Método SystEM-PLA

SMartyParser

Figura acima mostrada é um exemplo de execução do Parser.

Page 14: Um Protótipo Web do Módulo de Planejamento de Avaliações de Linha de Produto de Software Segundo o Método SystEM-PLA

Protótipo Web

O protótipo deverá exibir os dados em XMI de forma visual, por meio do SMartyParser (LANCELOTI, 2012).

Permitindo que o usuário possa visualizar o modelo de características de uma LPS, suas variabilidades, assim como o relacionamento entre todos os artefatos envolvidos em uma avaliação de LPS.

Page 15: Um Protótipo Web do Módulo de Planejamento de Avaliações de Linha de Produto de Software Segundo o Método SystEM-PLA

Protótipo Web

• Framework GWT

O GWT (Google Web Toolkit) é um framework para desenvolvimento web que tem como objetivo facilitar a vida dos desenvolvedores, pois a criação do código para geração da interface é escrita usando Java e não JavaScript, os erros podem ser descobertos em tempo de compilação.

• RPC

Programas (ou processos) podem chamar procedimentos localizados em outras máquinas, sem declarar explicitamente as funções send e receive.

Ideia simples e elegante, fazendo a chamada remota se parecer o máximo possível com a chamada local

Page 16: Um Protótipo Web do Módulo de Planejamento de Avaliações de Linha de Produto de Software Segundo o Método SystEM-PLA

Próximos passos

• Ajuste no método do retorno dos relacionamentos entre as variabilidades no SMartyParser.

• Exibição dos dados em formato de árvore, possibilitando a marcação de uma ou mais variantes do ponto de variação.

Page 17: Um Protótipo Web do Módulo de Planejamento de Avaliações de Linha de Produto de Software Segundo o Método SystEM-PLA

Dúvidas

ou

Sugestões