um estudo sobre gerenciamento de variabilidade de requisitos em linha de produtos de software

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

Upload: diogenes-freitas

Post on 09-Jul-2015

320 views

Category:

Technology


4 download

DESCRIPTION

SPL,LPS, Variabilidade, Reuso,

TRANSCRIPT

Page 1: 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

Page 2: Um estudo sobre gerenciamento de variabilidade de requisitos em linha de produtos de software

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

Page 3: Um estudo sobre gerenciamento de variabilidade de requisitos em linha de produtos de software

INTRODUÇÃO

Desenvolvimento de Sistema Único

Linha de Produtos de Software

Page 4: Um estudo sobre gerenciamento de variabilidade de requisitos em 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

Page 5: Um estudo sobre gerenciamento de variabilidade de requisitos em linha de produtos de software

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

Page 6: Um estudo sobre gerenciamento de variabilidade de requisitos em linha de produtos de software

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

Page 7: Um estudo sobre gerenciamento de variabilidade de requisitos em linha de produtos de software

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

Page 8: Um estudo sobre gerenciamento de variabilidade de requisitos em linha de produtos de software

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

Page 9: Um estudo sobre gerenciamento de variabilidade de requisitos em linha de produtos de software

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

Page 10: Um estudo sobre gerenciamento de variabilidade de requisitos em linha de produtos de software

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

Page 11: Um estudo sobre gerenciamento de variabilidade de requisitos em linha de produtos de software

FUNDAMENTAÇÃO TEÓRICA

o Variabilidade

22

/11

/2012

11

Univ

ers

ida

de d

e P

ern

am

buco

Page 12: Um estudo sobre gerenciamento de variabilidade de requisitos em linha de produtos de software

FUNDAMENTAÇÃO TEÓRICA

o Entendendo o funcionamento

22

/11

/2012

12

Univ

ers

ida

de d

e P

ern

am

buco

Page 13: Um estudo sobre gerenciamento de variabilidade de requisitos em linha de produtos de software

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

Page 14: Um estudo sobre gerenciamento de variabilidade de requisitos em linha de produtos de software

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

Page 15: Um estudo sobre gerenciamento de variabilidade de requisitos em linha de produtos de software

METODOLOGIA

Page 16: Um estudo sobre gerenciamento de variabilidade de requisitos em linha de produtos de software

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

Page 17: Um estudo sobre gerenciamento de variabilidade de requisitos em linha de produtos de software

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

Page 18: Um estudo sobre gerenciamento de variabilidade de requisitos em linha de produtos de software

DESENVOLVIMENTO DO TRABALHO

Page 19: Um estudo sobre gerenciamento de variabilidade de requisitos em linha de produtos de software

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

Page 20: Um estudo sobre gerenciamento de variabilidade de requisitos em linha de produtos de software

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

Page 21: Um estudo sobre gerenciamento de variabilidade de requisitos em linha de produtos de software

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

Page 22: Um estudo sobre gerenciamento de variabilidade de requisitos em linha de produtos de software

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

Page 23: Um estudo sobre gerenciamento de variabilidade de requisitos em linha de produtos de software

PROPOSTA

Page 24: Um estudo sobre gerenciamento de variabilidade de requisitos em linha de produtos de software

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

Page 25: Um estudo sobre gerenciamento de variabilidade de requisitos em linha de produtos de software

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

Page 26: Um estudo sobre gerenciamento de variabilidade de requisitos em linha de produtos de software

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

Page 27: Um estudo sobre gerenciamento de variabilidade de requisitos em linha de produtos de software

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

Page 28: Um estudo sobre gerenciamento de variabilidade de requisitos em linha de produtos de software

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

Page 29: Um estudo sobre gerenciamento de variabilidade de requisitos em linha de produtos de software

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

Page 30: 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