Um estudo sobre gerenciamento de variabilidade de requisitos em linha de produtos de software
-
Upload
diogenes-freitas -
Category
Technology
-
view
320 -
download
4
description
Transcript of Um estudo sobre gerenciamento de variabilidade de requisitos em linha de produtos de software
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
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
INTRODUÇÃO
Desenvolvimento de Sistema Único
Linha de Produtos de Software
PROBLEMÁTICA
Quais são as principais características e
funcionalidades que devem compor uma
ferramenta que apóie efetivamente o
Gerenciamento de Variabilidade de Requisitos do
Domínio em Linha de Produtos de Software (LPS)?
22
/11
/2012
4
Univ
ers
ida
de d
e P
ern
am
buco
OBJETIVOS
Objetivo Geral
Propor um conjunto de funcionalidades que apóie o
gerenciamento de variabilidade em LPS no contexto da
Engenharia de Requisitos do Domínio
22
/11
/2012
5
Univ
ers
ida
de d
e P
ern
am
buco
OBJETIVOS
Objetivos Específicos
Investigar os processos de gerenciamento de
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.
22
/11
/2012
6
Univ
ers
ida
de d
e P
ern
am
buco
JUSTIFICATIVA
O gerenciamento de variabilidade é uma das
principais atividades na LPS
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
22
/11
/2012
7
Univ
ers
ida
de d
e P
ern
am
buco
ESCOPO NEGATIVO
Outras fases do Gerenciamento de Variabilidade
Framework para desenvolvimento de LPS
Implementação da ferramentas
22
/11
/2012
8
Univ
ers
ida
de d
e P
ern
am
buco
CONTRIBUIÇÕES
A compreensão dos pontos principais que estão evolvidos
nos processos de gerenciamento de variabilidade de
requisitos para Linha de Produtos de Software.
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
22
/11
/2012
9
Univ
ers
ida
de d
e P
ern
am
buco
FUNDAMENTAÇÃO TEÓRICA
o Linha de Produtos de Software Feature
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).
22
/11
/2012
10
Univ
ers
ida
de d
e P
ern
am
buco
FUNDAMENTAÇÃO TEÓRICA
o Variabilidade
22
/11
/2012
11
Univ
ers
ida
de d
e P
ern
am
buco
FUNDAMENTAÇÃO TEÓRICA
o Entendendo o funcionamento
22
/11
/2012
12
Univ
ers
ida
de d
e P
ern
am
buco
FUNDAMENTAÇÃO TEÓRICA
o Entendendo o funcionamentoo Gerenciamento de Variabilidade
nos Requisitos
22
/11
/2012
13
Univ
ers
ida
de d
e P
ern
am
buco
FUNDAMENTAÇÃO TEÓRICA
o Gerenciamento de Variabilidade nos Requisitos
o Notações
o Técnicas
o Ferramentas
22
/11
/2012
14
Univ
ers
ida
de d
e P
ern
am
buco
METODOLOGIA
METODOLOGIA
Natureza da pesquisa
o Quanto aos fins
o Exploratória e Descritiva.
o Quanto aos meios
o Pesquisa bibliográfica
o Formas de abordagem
qualitativa
22
/11
/2012
16
Univ
ers
ida
de d
e P
ern
am
buco
METODOLOGIA
Análise de dados
o Seleção das ferramentas a partir do trabalho de Lisboa
(2008)
o Pesquisar ferramentas para Engenharia de Requisitos
em LPS
o Relacionar ferramentas
o Analisar documentação das ferramentas e catalogar
funcionalidades
o Propor funcionalidades
22
/11
/2012
17
Univ
ers
ida
de d
e P
ern
am
buco
DESENVOLVIMENTO DO TRABALHO
RESULTADO DAS PESQUISAS
• Trabalhos retornados após as buscas nas bases científicas244
• Trabalhos selecionados após a leitura do título65
• Trabalhos selecionados após a exclusão dos repetidos62
• Trabalhos selecionados após a leitura dos resumos59
• Trabalhos selecionados para leitura completa59
46
1
10
2
24
0
10
20
30
40
50
60
ACM IEEE Science Direct Scopus Google
Trabalhos selecionados para leitura
22
/11
/2012
19
Univ
ers
ida
de d
e P
ern
am
buco
INFORMAÇÕES SOBRE AS FERRAMENTAS
22
/11
/2012
20
Univ
ers
ida
de d
e P
ern
am
buco
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
Doors Comercial Stand-alone Não disponível 2005 Acadêmico e
Industrial
Pohl et al. (2005)
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
Industrial
Processo orientado a
features
Feature Modeling Plug-
in
Gratuito Plugin Open-Source 2004 Acadêmico FODA
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
Industrial
PLUS
Pure:variants Comercial e
Gratuito
Plugin Não disponível 2008 Acadêmico e
Industrial
Extensão do FODA
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
Industrial
Processo orientado a
features
XVCL Gratuito Plugin Open-Source 2009 Acadêmico Processo genérico
CARACTERÍSTICAS DAS FERRAMENTAS
Ferramentas
Caracteríticas
Arb
orC
raft
Dom
ain
Doo
rs
Dop
ple
r
Dre
am
EA
-Min
er
FA
MIL
IAR
Fea
ture
IDE
Fe
atu
reM
od
elin
gP
lug
-in
Ge
ars
MD
-SP
L
Od
ysse
y
Op
en
OM
E
Plu
ss
Pu
re:v
aria
nts
ReqS
ys
Requ
iline
SP
LO
T
To
olD
Ay
XV
CL
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
● ● ● ● ● ● ● ● ● ●
22
/11
/2012
21
Univ
ers
ida
de d
e P
ern
am
buco
FUNCIONALIDADES DAS FERRAMENTAS
Ferramentas
Funcionalidades Arb
orC
raft
Dom
ain
Doors
Dre
am
Do
pp
ler
EA
-Min
er
FA
MIL
IAR
Fea
ture
IDE
Featu
reM
odelin
g
Plu
g-in
Ge
ars
MD
-SP
L
Odys
sey
OpenO
ME
Plu
ss
Pure
:variants
ReqS
ys
Requili
ne
SP
LO
T
To
olD
Ay
XV
CL
Identificação Automática de Variantes ● ● ● ● ● ● ●
Identificação de Variantes ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ●
Modelo de Decisão ● ● ● ● ● ● ● ● ●
Tratamento de RNF ● ● ● ● ●
Checagem de consistência ● ● ● ● ● ● ● ● ● ● ●
Rastreabilidade ● ● ● ● ● ● ● ● ●
Técnicas de Modelagem ● ● ● ● ● ● ● ● ● ● ●
Variantes por Requisitos em Linguagem Natural ● ● ●
Hierarquia de Variantes ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ●
Tipos de Variantes ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ● ●
Operações em Variantes ● ● ● ● ● ●
Composição de Variantes ● ● ● ● ● ● ●
Cardinalidade nas Variantes ● ● ● ●
22
PROPOSTA
FUNCIONALIDADES PROPOSTAS
Funcionalidade Descrição
Aprimoramentos da
checagem de consistências
No monitoramento das variantes, podem ocorrer repetições e/ou clones de
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.
Representação de todos os
requisitos da plataforma
Um modelo representativo sob diferentes perspectivas (clientes, arquitetos,
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
requisitos
Algumas modificações que podem surgir ao longo da evolução da plataforma,
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
requisitos
Dependendo da abordagem adotada, um componente, um aspecto ou serviço,
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.
22
/11
/2012
24
Univ
ers
ida
de d
e P
ern
am
buco
FUNCIONALIDADES COMPLEMENTARES
PROPOSTASFuncionalidade 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.
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
requisitos em
desuso
Ao longo tempo, monitorar a utilização dos requisitos e alertar
sobre a não utilização ou pouca utilização dos mesmos.
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.
22
/11
/2012
25
Univ
ers
ida
de d
e P
ern
am
buco
CRITÉRIOS DE USABILIDADE
Critério Descrição
Interface
amigável
Fornecer uma interface amigável e intuitiva sobre os requisitos
disponíveis na ferramenta.
Help/Manual Fornecer uma explicação detalhada das funcionalidades da
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.
22
/11
/2012
26
Univ
ers
ida
de d
e P
ern
am
buco
CONSIDERAÇÕES FINAIS
o A pergunta de pesquisa foi respondida
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 funcionalidades.
22
/11
/2012
27
Univ
ers
ida
de d
e P
ern
am
buco
CONSIDERAÇÕES FINAIS
Limitaçõeso Escassez de materiais que discutem
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
22
/11
/2012
28
Univ
ers
ida
de d
e P
ern
am
buco
CONSIDERAÇÕES FINAIS
• Trabalhos Futuros Desenvolvimento de ferramentas
Estender para outras áreas envolvidas no ciclo
de desenvolvimento da LPS
Outras funcionalidades que deem suporte a
novas tecnologias
22
/11
/2012
29
Univ
ers
ida
de d
e P
ern
am
buco
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