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

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

Embed Size (px)

Citation preview

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