Este documento apresenta um estudo sobre gerenciamento de variabilidade de requisitos em linhas de produtos de software. Ele discute a problemática, objetivos, justificativa, escopo, contribuições e fundamentação teórica sobre o tema. A metodologia inclui pesquisa bibliográfica e análise de ferramentas. Uma proposta de funcionalidades para apoiar o gerenciamento de variabilidade é apresentada.
Um estudo sobre o gerenciamento de variabilidade em LInha de produto de software
Um estudo sobre gerenciamento de variabilidade de requisitos em linha de produtos de software
1. UM ESTUDO SOBRE GERENCIAMENTO DE
VARIABILIDADE DE REQUISITOS EM LINHA
DE PRODUTOS DE SOFTWARE
Acadêmico: Diógenes Ricardo Freitas de Oliveira
Orientador: M.Sc. Humberto Rocha de Almeida Neto
Co-Orientador: D. Sc. Vinicius Cardoso Garcia
2. SEQUENCIA DA APRESENTAÇÃO
Introdução
Problemática
Objetivos
Justificativa
Escopo Negativo
Contribuições
Fundamentação Teórica;
Metodologia
Desenvolvimento do Trabalho
Proposta
Considerações Finais
4. PROBLEMÁTICA
22/11/2012
Quais são as principais características e
funcionalidades que devem compor uma
Universidade de Pernambuco
ferramenta que apóie efetivamente o
Gerenciamento de Variabilidade de Requisitos do
Domínio em Linha de Produtos de Software (LPS)?
4
5. OBJETIVOS
22/11/2012
Objetivo Geral
Propor um conjunto de funcionalidades que apóie o
Universidade de Pernambuco
gerenciamento de variabilidade em LPS no contexto da
Engenharia de Requisitos do Domínio
5
6. OBJETIVOS
22/11/2012
Objetivos Específicos
Investigar os processos de gerenciamento de
Universidade de Pernambuco
variabilidade de requisitos para Linha de Produtos de
Software.
Pesquisar ferramentas acadêmicas e industriais que
dêem suporte ao gerenciamento de variabilidade em
Linhas de Produtos de Software no contexto da
Engenharia de Requisitos do Domínio.
Identificar e documentar funcionalidades básicas e
complementares de cada ferramenta.
Realizar uma análise das ferramentas, de acordo com
suas funcionalidades.
6
7. JUSTIFICATIVA
22/11/2012
O gerenciamento de variabilidade é uma das
principais atividades na LPS
Universidade de Pernambuco
Identificação das principais funcionalidades que
devem compor uma ferramenta
Identificação das principais ferramentas
Análise das principais ferramentas
Auxílio às fábricas de software
7
8. ESCOPO NEGATIVO
22/11/2012
Outras fases do Gerenciamento de Variabilidade
Universidade de Pernambuco
Framework para desenvolvimento de LPS
Implementação da ferramentas
8
9. CONTRIBUIÇÕES
22/11/2012
A compreensão dos pontos principais que estão evolvidos
nos processos de gerenciamento de variabilidade de
requisitos para Linha de Produtos de Software.
Universidade de Pernambuco
A pesquisa das ferramentas acadêmicas e industriais que dão
suporte às atividades necessárias no gerenciamento de
variabilidade em Linhas de Produtos de Software no contexto
da Engenharia de Requisitos do Domínio.
Uma análise comparativa da presença das principais
funcionalidades nas ferramentas
9
10. FUNDAMENTAÇÃO TEÓRICA
22/11/2012
o Linha de Produtos de Software
Feature
Universidade de Pernambuco
Core Assets
Plataforma
Uma linha de produtos de software é um conjunto de
sistemas com uso intensivo de reúso software que
compartilham um conjunto de features comuns e
gerenciáveis, que satisfazem às necessidades
específicas de um segmento de mercado particular
ou missão, e que são desenvolvidos a partir de um
conjunto de core assets comuns, de modo planejado.
(CLEMENTS E NORTHROP, 2001, p. 05).
10
16. METODOLOGIA
22/11/2012
Natureza da pesquisa
o Quanto aos fins
Universidade de Pernambuco
o Exploratória e Descritiva.
o Quanto aos meios
o Pesquisa bibliográfica
o Formas de abordagem
qualitativa
16
17. METODOLOGIA
22/11/2012
Análise de dados
o Seleção das ferramentas a partir do trabalho de Lisboa
Universidade de Pernambuco
(2008)
o Pesquisar ferramentas para Engenharia de Requisitos
em LPS
o Relacionar ferramentas
o Analisar documentação das ferramentas e catalogar
funcionalidades
17
o Propor funcionalidades
19. RESULTADO DAS PESQUISAS
22/11/2012
244 • Trabalhos retornados após as buscas nas bases científicas
65 • Trabalhos selecionados após a leitura do título
62 • Trabalhos selecionados após a exclusão dos repetidos
Universidade de Pernambuco
59 • Trabalhos selecionados após a leitura dos resumos
59 • Trabalhos selecionados para leitura completa
Trabalhos selecionados para leitura
60
50 46
40
30 24
20
10
10 1 2
0
ACM IEEE Science Direct Scopus Google
19
20. INFORMAÇÕES SOBRE AS FERRAMENTAS
22/11/2012
Nome Tipo de licença Background Código Fonte Ano Tipo Abordagem Baseada
ArborCraft Gratuito Plugin Não disponível 2008 Acadêmico Processo orientado a
features
Domain Não disponível Stand-alone Não disponível 1995 Industrial Processo próprio
Universidade de Pernambuco
Doors Comercial Stand-alone Não disponível 2005 Acadêmico e Pohl et al. (2005)
Industrial
Doppler Comercial Plugin Não disponível 2008 Industrial Processo genérico
Dream Comercial Stand-alone Não disponível 2005 Acadêmico Processo próprio
EA-Miner Gratuito Plugin Não disponível 2007 Acadêmico Processo orientado a
features
FAMILIAR Não disponível Plugin Não disponível 2011 Acadêmico Processo orientado a
features
FeatureIDE Gratuito Plugin Open-Source 2007 Acadêmico e Processo orientado a
Industrial features
Feature Modeling Plug- Gratuito Plugin Open-Source 2004 Acadêmico FODA
in
Odyssey Gratuito Stand-alone Não disponível 2002 Acadêmico Processo próprio
OpenOME Gratuito Plugin Open-Source 2005 Acadêmico FODA
Pluss Comercial Não disponível Não disponível 2006 Acadêmico e PLUS
Industrial
Pure:variants Comercial e Plugin Não disponível 2008 Acadêmico e Extensão do FODA
Gratuito Industrial
ReqSys Não disponível Plugin Não disponível 2011 Acadêmico Processo orientado a
features
Requiline Gratuito Stand-alone Não disponível 2005 Acadêmico FODA
SPLOT Gratuito Online Open-Source 2011 Acadêmico Processo orientado a
features
ToolDAy Comercial Stand-alone Não disponível 2008 Acadêmico e Processo orientado a 20
Industrial features
XVCL Gratuito Plugin Open-Source 2009 Acadêmico Processo genérico
21. CARACTERÍSTICAS DAS FERRAMENTAS
22/11/2012
Ferramentas
Feature Modeling Plug-in
Pure:variants
FeatureIDE
OpenOME
ArborCraft
FAMILIAR
EA-Miner
Requiline
Universidade de Pernambuco
Odyssey
MD-SPL
ToolDAy
Doppler
ReqSys
Domain
SPLOT
Dream
Gears
Doors
Pluss
XVCL
Caracteríticas
Notação por XML ● ● ● ● ● ●
Notação por UML ● ● ● ●
Notação por features ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ●
models
Notação de Aspectos ● ● ●
Notação de Serviços ●
Suporte a outros ● ● ● ● ● ● ● ● ● ●
processos
21
24. FUNCIONALIDADES PROPOSTAS
Funcionalidade Descrição
Aprimoramentos da No monitoramento das variantes, podem ocorrer repetições e/ou clones de
22/11/2012
checagem de consistências requisitos, estando descritos diferentes, mas realizando a mesma tarefa.
Especialmente em SPL, com processo orientado a features, isto causa problemas
em features alternativas. Uma das soluções para isto está no refatoramento das
variantes que estão com esse comportamento.
Dinamicidade dos requisitos Possibilidade de alteração nas formas (mandatória, opcional, etc.) das variantes.
Universidade de Pernambuco
Representação de todos os Um modelo representativo sob diferentes perspectivas (clientes, arquitetos,
requisitos da plataforma programadores) a fim de facilitar a compreensão do que está disponível, ou do que
se deseja ou precisa.
Controle de mudanças dos Algumas modificações que podem surgir ao longo da evolução da plataforma,
requisitos alterando assim o estado dos requisitos existentes e inclusão de novos requisitos,
operações do tipo: Novo requisito, alterar requisito, apagar requisito, definir como
oculto, definir com específico, definir como em desuso.
Evolução Suporte à evolução da plataforma, representando as alterações das variantes ao
longo dos anos, bem como os novos requisitos que foram incluídos na plataforma.
Composição das variantes dos Dependendo da abordagem adotada, um componente, um aspecto ou serviço,
requisitos podem compor um conjunto de componentes, aspectos ou serviços.
SPL orientada a serviços Neste caso, trataremos alguns pontos específicos deste contexto:
Operações de parametrização para controle de quais variantes estarão ativas
na aplicação dos serviços em cada produto.
Descrição da composição dos requisitos que estão presentes em cada
serviço.
A forma de modelagem específica dos tipos de variáveis nesse ambiente e
seus relacionamentos. 24
25. FUNCIONALIDADES COMPLEMENTARES
PROPOSTAS
22/11/2012
Funcionalidade Descrição
Automatização Identificação automática das características das
variantes, a partir da análise léxica e semântica.
Geração de código a partir da interpretação dos atributos
dos requisitos.
Universidade de Pernambuco
Medição de esforço A análise da complexidade na qual o requisito está inserido: a
partir da análise da quantidade de atributos, relacionamentos,
tempo de vida, entre outros.
Estimativa de tempo Na derivação de produtos, calcular a estimativa de tempo,
levando em consideração a quantidade dos novos requisitos
específicos da aplicação e os já existentes na plataforma.
Detecção de Ao longo tempo, monitorar a utilização dos requisitos e alertar
requisitos em sobre a não utilização ou pouca utilização dos mesmos.
desuso
Suporte a evolução Ao longo da evolução, tratar das features em desuso na
plataforma, com resolução de conflitos no modelo após
“exclusão” das mesmas
Análise de impacto Realizar checagem de impacto, no esforço de manutenção,
financeiro, entre outros, quanto à inserção, modificação,
exclusão de uma ou mais variantes.
25
26. CRITÉRIOS DE USABILIDADE
22/11/2012
Critério Descrição
Interface Fornecer uma interface amigável e intuitiva sobre os requisitos
disponíveis na ferramenta.
amigável
Fornecer uma explicação detalhada das funcionalidades da
Universidade de Pernambuco
Help/Manual
ferramenta
Importar/Exportar Funções de importação e exportação, gerando arquivos do tipo
XML, XMI, PDF, XLS entre outros, e permitindo a visualização dos
dados em outras ferramentas.
26
27. CONSIDERAÇÕES FINAIS
22/11/2012
o A pergunta de pesquisa foi respondida
Universidade de Pernambuco
o Foram relatados os principais conceitos-
chave envolvidos na LPS
o Apresentados as principais notações e
técnicas
o Apresentada uma análise das principais
ferramentas e proposto um conjunto de 27
funcionalidades.
28. CONSIDERAÇÕES FINAIS
22/11/2012
Limitações
o Escassez de materiais que discutem
Universidade de Pernambuco
explicitamente a utilização de técnicas
o A dependência dos estudos publicados
o Grande quantidade de abordagens, que tratam
com notações de diferentes tipos, limitando a
utilização das ferramentas
28
29. CONSIDERAÇÕES FINAIS
22/11/2012
• Trabalhos Futuros
Desenvolvimento de ferramentas
Universidade de Pernambuco
Estender para outras áreas envolvidas no ciclo
de desenvolvimento da LPS
Outras funcionalidades que deem suporte a
novas tecnologias
29
30. UM ESTUDO SOBRE GERENCIAMENTO DE
VARIABILIDADE DE REQUISITOS EM LINHA
DE PRODUTOS DE SOFTWARE
Acadêmico: Diógenes Ricardo Freitas de Oliveira
Orientador: M.Sc. Humberto Rocha de Almeida Neto
Co-Orientador: D. Sc. Vinicius Cardoso Garcia