Por que eu devo ler este artigo:Neste artigo será apresentado o SDMetrics, responsável por automatizar o processamento de métricas de software em modelos UML. As métricas apresentadas são referentes ao gerenciamento de variabilidades em Linha de Produto de Software (LPS).

Sendo assim, esse artigo é útil principalmente para os arquitetos de LPS e gerentes, responsáveis pelas análises de trade-off dos possíveis produtos gerados de uma LPS.
Autores: Edson A. Oliveira Junior e André Felipe Ribeiro Cordeiro

Linha de produto de software pode ser entendida como uma prática de reuso sistemático e organizado de software que se destina à atender um segmento de mercado ou uma missão particular.

Para um dado segmento, ou domínio, realiza-se a análise das características presentes nos sistemas que atendem esses segmentos.

Essas características são classificadas em características comuns e variáveis. As características comuns correspondem às funcionalidades que estarão presentes em todos os produtos da linha. As características variáveis correspondem às diferenças existentes entre os produtos de uma mesma linha.

Uma atividade essencial na construção e manutenção de uma LPS é a avaliação.

A avaliação de LPS permite ao arquiteto de LPS e gerente avaliarem os potenciais riscos no desenvolvimento, bem como o potencial de retorno de investimento (ROI - Return on Investiment) respectivamente, além de realizar o gerenciamento das variabilidades.

A avaliação de linhas de produto de software utilizando métricas garante a possibilidade de se mensurar os resultados e compará-los com parâmetros estabelecidos pela organização.

O SDMetrics possibilita automatizar esta avaliação e exportar os resultados em formatos de arquivo conhecidos, como HTML (HyperText Markup Language) e PDF (Portable Document Format).

Neste artigo, apresentaremos em detalhes o SDMetrics para o processamento de métricas referentes às variabilidades em Linhas de Produto de Software, considerando a linha de produto Arcade Game Maker (AGM).

O SEI (Software Engineering Institute) apresenta a AGM com o objetivo de explicar os conceitos de linha de produto.

Linhas de Produto de Software e abordagem SMarty

As características presentes em sistemas de um dado segmento, ou domínio, são classificadas em características comuns e variáveis. Um produto derivado da linha é a combinação das características comuns, presentes em todos os produtos, com as características variáveis.

No estudo de linhas de produto de software, outros conceitos também são importantes para uma melhor compreensão do assunto. Na Tabela 1 esses conceitos são descritos.

Conceito

Descrição

Variabilidade

Corresponde às características diferentes (características variáveis) existentes entre produtos de uma mesma linha, sendo a atividade mais complexa no desenvolvimento e manutenção de uma LPS.

Ponto de Variação

Corresponde ao local onde a variabilidade se manifesta. Pode ser entendida como uma situação que permite mais de uma solução para a resolução de uma variabilidade.

Variante

Variante pode ser entendida como uma solução de um dado ponto de variação. A utilização de variantes diferentes leva à uma diferença entre os produtos da linha.

Tabela 1. Conceitos Linhas de Produto de Software.

Os conceitos explicados são essenciais para compreender outra atividade importante dentro do contexto de linhas de produto de software, que é a avaliação. O processo de avaliação permite entender os riscos no projeto de desenvolvimento, além projetar possíveis combinações de produtos.

O processo de avaliação adotado neste artigo foi a avaliação de LPS modeladas em UML (Unified Modeling Language) seguindo a abordagem SMarty(Stereotype-based Management of Variability), pertencente ao método SystEM-PLA (Systematic Evaluation Method for UML-based Software Product Line Architectures) para avaliação da arquitetura de Linhas de ...

Quer ler esse conteúdo completo? Tenha acesso completo