Upload
edson-oliveira-junior
View
268
Download
0
Embed Size (px)
Citation preview
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
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).
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)
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.
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
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.
Exemplo SMarty
Diagrama de classes da LP AGM segundo a Abordagem SMarty (OLIVEIRA JUNIOR, 2010)
Exemplo SMarty
Diagrama de caso de uso da LP AGM segundo a Abordagem SMarty (OLIVEIRA JUNIOR, 2010)
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.
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.
SMartyParser
Figura acima mostra partes do arquivo XMI extraído da LP AGM a partir da ferramenta Poseidon (GENTLEWARE, 2012)
SMartyParser
Figura acima mostrada é um exemplo de uso do SMartyParser aplicado à LP AGM para mostrar as variabilidades
SMartyParser
Figura acima mostrada é um exemplo de execução do Parser.
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.
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
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.
Dúvidas
ou
Sugestões