Você está na página 1de 79

1

UNIVERSIDADE DE PERNAMBUCO FACULDADE DE CINCIA E TECNOLOGIA DE CARUARU BACHARELADO EM SISTEMAS DE INFORMAO

LINHA DE PRODUTOS DE SOFTWARE: UMA ANLISE DAS FERRAMENTAS PARA MELHORIA DA ENGENHARIA DE REQUISITOS

TARCSIO COUTO PEREIRA

Caruaru, 2011

TARCSIO COUTO PEREIRA

LINHA DE PRODUTOS DE SOFTWARE: UMA ANLISE DAS FERRAMENTAS PARA MELHORIA DA ENGENHARIA DE REQUISITOS

Trabalho de Graduao oferecido ao curso de Sistemas de Informao da Universidade de Pernambuco (UPE), Faculdade de Cincia e Tecnologia de Caruaru (FACITEC), como requisito obteno do grau de Bacharel em Sistemas de Informao.

Orientador: Prof. Dr. Jos Gilson de Almeida Teixeira Filho

Caruaru, 2011

Monografia de Graduao apresentada por Tarcsio Couto Pereira do Curso de Graduao em Sistemas de Informao da Faculdade de Cincia e Tecnologia de Caruaru Universidade de Pernambuco, sob o ttulo Linha de Produtos de Software: Uma Anlise das Ferramentas para Melhoria da Engenharia de Requisitos, orientada pelo Prof. Dr. Jos Gilson de Almeida Teixeira Filho e aprovada pela Banca Examinadora formada pelos professores:

Prof. Pietro Pereira Pinto Mestre em Cincias da Computao Faculdade de Cincia e Tecnologia de Caruaru - PE

Prof. Dr. Jos Gilson de Almeida Teixeira Filho Doutor em Cincias da Computao Faculdade de Cincia e Tecnologia de Caruaru - PE

Visto e permitida a impresso. Caruaru, 07 de dezembro de 2011.

Prof. Fernando Ferreira de Carvalho


Coordenador do Curso de Bacharelado em Sistemas de Informao da Faculdade de Cincia e Tecnologia de Caruaru Universidade de Pernambuco.

Dedico este trabalho aos meus pais Iran Pereira Silva e Ana Maria Couto de Lucena Pereira, por todo apoio, dedicao e por fazer-me acreditar que todos os sonhos so possveis de serem realizados.

AGRADECIMENTOS Primeiramente eu agradeo a Deus por todo seu amor e por tudo de maravilhoso que fazes acontecer em minha vida. Sem ti nada disso seria possvel. Tambm agradeo aos meus pais Iran Pereira Silva e Ana Maria Couto de Lucena Pereira, por todo amor, carinho, compreenso, conselhos e oportunidades que vocs me proporcionaram. Meus pais, vocs dois so meus dolos e exemplos de honestidade, perseverana, garra e fora de vontade. Obrigado por tudo, amo muito vocs. A minha namorada Luma, por todo amor e carinho durante esses 2 anos que estamos juntos e que sempre acreditou em mim. Tambm te agradeo pela compreenso e pacincia durante o desenvolvimento deste trabalho. Agradeo aos meus irmos Lucas Couto e Felipe Couto por suportar minhas chatices e reclamaes nas horas em que estava estudando. A toda minha famlia, que sempre acreditou no meu potencial e me incentivou enfrentar todos os desafios. Agradeo tambm ao meu professor orientador Jos Gilson, por toda contribuio e ensinamentos que resultaram neste trabalho. Aos meus amigos da UPE, por todas as horas que passamos juntos, estudando, rindo e se divertindo. E por fim a todos que de alguma maneira contriburam para o desenvolvimento deste trabalho.

6 vi

RESUMO Muitas empresas esto interessadas em melhorar a qualidade de desenvolvimento de software, aumentar a produtividade, reduzir custos, diminuir o time-to-market e possuir mais flexibilidade, estes interesses podem ser encontrados em abordagens que usam o princpio de reuso de software como em Linha de Produtos de Software (LPS). No contexto de LPS as atividades de engenharia de requisitos (ER) so mais complexas por envolver mais produtos e stakeholders alm de necessitar de mais ateno as semelhanas e variabilidades da LPS. Por causa da grande dificuldade e importncia de capturar os requisitos corretos para o desenvolvimento de um produto de software, o presente trabalho se prope a analisar as principais ferramentas que auxiliam o processo de Engenharia de Requisitos da Aplicao em LPS. Com a finalidade de realizar esta anlise, foram selecionadas funcionalidades que foram identificadas nas ferramentas encontradas durante a reviso sistemtica de literatura, e a partir da construo de um quadro ficou perceptvel analisar as ferramentas de acordo com as funcionalidades selecionadas. Depois de realizada esta anlise, uma proposta foi feita a fim de facilitar o processo de Engenharia de Requisitos da Aplicao atravs da utilizao de ferramentas. Esta proposta constitui um conjunto de 12 funcionalidades que foram extradas dos trabalhos selecionados da reviso sistemtica de literatura, j que segundo os autores essas funcionalidades devem compor uma ferramenta de Engenharia de Requisitos da Aplicao.

Palavras-chave: Linha de Produtos de Software (LPS), Engenharia de Requisitos da Aplicao, Ferramentas.

vii 7 ABSTRACT Many companies are interested in improving the quality of software development, increase productivity, reduce costs, decrease time to market and having more flexibility, these interests can be found in approaches that use the principle of software reuse as in Software Product Line (SPL). In the context of the SPL, the activities of requirements engineering (RE) are more complex because they involve more stakeholders and products in addition to need more attention to the similarities and variability of SPL. Because of great difficulty and importance of capturing the correct requirements for the development of a software product, this paper aims to analyze the main tools that assist the process of Application Requirements Engineering of SPL. In order to perform this analysis, we selected features that were identified in the tools found during the systematic review of literature, and from the construction of a table was perceived to analyze the tools depending on the features selected. After this analysis, a proposal was made to facilitate the process of Application Requirements Engineering through the use of tools. This proposal is a set of 12 features that were extracted from selected papers from a systematic review of literature, as the authors of these features should make a tool for Application Requirements Engineering.

Keywords: Software Product Line, Application Requirements Engineering, Tools.

8 viii

LISTA DE FIGURAS Figura 1 Estrutura do Trabalho............................................................................ 19 Figura 2 Processo de Conduo da Reviso Sistemtica.................................. 22 Figura 3 Etapas para Seleo dos Trabalhos..................................................... 26 Figura 4 Requisitos do Produto....... 33 Figura 5 Rastreabilidade entre a especificao de RP, Modelo de Feature e Modelo de Casos de Uso...................... 34 Figura 6 Um framework de engenharia de linha de produtos de software... 35 Figura 7 Atividades bsicas de um processo de engenharia de requisitos......... 37 Figura 8 Fluxo de informao entre a engenharia de requisitos e outros subprocessos........... 39 Figura 9 Fluxo de informao em relao aos stakeholders.. 40 Figura 10 Pontos de variao padro de segurana e autenticao.................. Figura 11 Abordagem integrada para modelagem dos RNFs............................ Figura 12 - Atividades da Ferramenta DOPPLER................................................. Figura 13 Fluxo de execuo da ferramenta ToolDay........................................ 40 43 56 57

ix 9 LISTA DE GRFICOS Grfico 1 Quantidade de trabalhos relevantes por ano.................................. 28

Grfico 2 Quantidade de trabalhos relevantes por base................................. 29 Grfico 3 - Quantidade de Citaes das Ferramentas na Reviso Sistemtica de Literatura....................................................................................................... Grfico 4 Quantidade de Ferramentas que Apoiam a ERA............................ Grfico 5 Nmero de Ferramentas por Funcionalidades................................ Grfico 6 Nmero de Funcionalidades por Ferramenta.................................. 48 49 53 54

x 10 LISTA DE QUADROS Quadro 1 Resumo da metodologia escolhida................................................. Quadro 2 Fases, atividades e comparativo do processo de reviso sistemtica e reviso da literatura comum......................................................... Quadro 3 Protocolo de Reviso Sistemtica.................................................. Quadro 4 Trabalhos selecionados a partir da reviso sistemtica................. Quadro 5 Exposio do tempo de fichamento dos trabalhos selecionados... Quadro 6 Exemplo de variantes e suas descries........................................ Quadro 7 Modelos e tcnicas de engenharia de requisitos em LPS.............. Quadro 8 Caso de uso de usabilidade em um portal de login........................ Quadro 9 Citaes de Ferramentas pelos Autores......................................... Quadro 10 Ferramentas e suas funcionalidades............................................ Quadro 11 Funcionalidades Propostas........................................................... 21 23 27 30 32 37 41 47 51 59 17

xi 11 LISTA DE TABELAS Tabela 1 Resultado da pesquisa relacionando as bases com as Strings adotadas................................................................................................................. 26

xii 12 LISTA DE SIGLAS LPS Linha de Produtos de Software ER Engenharia de Requisitos RNF Requisitos No Funcionais CV Comunalidades e Variabilidades ELPS Engenharia de Linha de Produtos de Software ERA Engenharia de Requisitos da Aplicao ERD Engenharia de Requisitos do Domnio PV Ponto de Variao

13 xiii

SUMRIO CAPTULO 1 INTRODUO............................................................................ 15

1.1. 1.2.

Justificativa..................................................................................... Objetivos......................................................................................... 1.2.1. Objetivo Geral......................................................................

15 16 16

1.2.2. Objetivos Especficos........................................................... 16 1.3. 1.4. Relevncia do Estudo..................................................................... Metodologia e Estratgia de Ao.................................................. 16 17

1.4.1. Natureza da Pesquisa.......................................................... 17 1.4.2. Quanto aos Fins................................................................... 17 1.4.3. Quanto aos Meios................................................................ 1.4.4. Formas de Abordagem........................................................ 1.5. Estrutura do Trabalho..................................................................... 18 18 18

CAPTULO 2 REVISO SISTEMTICA DA LITERATURA............................

20

2.1.

Aplicao da Reviso Sistemtica da Literatura............................ 2.1.1. Fase de Planejamento..........................................................

22 23 25 27 29

2.2. 2.3. 2.4.

Fase de Execuo......................................................................... Fase de Anlise e Divulgao dos Resultados............................. Apresentao dos Trabalhos Selecionados..................................

2.4.1. Linha de Produtos de Software............................................. 30 2.4.1.1. Definio.................................................................. 31 2.4.1.2. Variabilidade............................................................ 32 2.4.2. Processos da Engenharia de LPS...................................... 34

2.4.2.1. Engenharia de Domnio........................................... 35 2.4.2.2. Engenharia de Aplicao......................................... 36 2.4.3. Engenharia de Requisitos................................................... 2.4.4. Engenharia de Requisito da Aplicao............................... 36 38

2.4.4.1. Requisitos No-Funcionais...................................... 41 2.4.4.2. Ferramentas............................................................ 43

2.4.4.3. Consideraes......................................................... 44

14 xiv

CAPTULO 3 UMA ANLISE DAS FERRAMENTAS PARA MELHORIA DA ENGENHARIA DE REQUISITOS........................................................................ 45

3.1.

Critrios de Seleo das Ferramentas........................................... 3.1.1. Critrios de Incluso............................................................. 3.1.2. Critrios de Excluso............................................................

45 45 45

3.2.

Averiguao das Ferramentas........................................................ 46 3.2.1. Ferramentas Encontradas..................................................... 46 3.2.2. Ferramentas Selecionadas................................................... 59

3.2.3. Funcionalidades das Ferramentas........................................ 59 3.2.4. Resultados da Pesquisa....................................................... 3.2.5. Descrio das Principais Ferramentas................................. 3.2.5.1. Configuration Wizard............................................... 3.2.5.2. DOPPLER.............................................................. 3.2.5.3. ToolDay................................................................... 3.3. 52 53 54 55 56

Proposta de Melhoria...................................................................... 58

CAPTULO 4 CONSIDERAES FINAIS.......................................................

61

4.1. Limitaes do Trabalho...................................................................... 4.2. Contribuies..................................................................................... 4.3. Trabalhos Futuros..............................................................................

62 62 62

REFERNCIAS.................................................................................................... 63

APNDICES........................................................................................................

68

15

CAPTULO 1 INTRODUO

1.1.

Justificativa Muitas empresas esto interessadas em melhorar a qualidade de

desenvolvimento de software, aumentar a produtividade, reduzir custos, diminuir o time-to-market e possuir mais flexibilidade, estes interesses podem ser encontrados em abordagens que usam o princpio de reuso de software como em Linha de Produtos de Software (LPS) (POHL et. al. 2005; KIM, et.al. 2006; DJEBBI, et.al. 2007; LISBOA, 2008; LIMA JNIOR, 2008; NEIVA, 2009;). Linhas de produto de software (LPS) um conjunto de sistemas de software que dividem um conjunto de features (caractersticas) comum e gerenciado, que satisfazem as necessidades de um segmento de mercado particular ou misso e que so desenvolvidos a partir de um conjunto comum de artefatos de uma maneira pr-determinada (CZARNECKI, HELSEN, EISENECKER, 2005). O desenvolvimento de um nico sistema um problema reconhecido durante as ltimas dcadas. Suas atividades normalmente envolvem muitos stakeholders com necessidades diferentes, o que pode resultar em conflitos. Requisitos incompletos e inconsistentes so alguns fatores para o cancelamento ou deficincia dos projetos de software (NEIVA, 2009). No contexto de LPS as atividades de engenharia de requisitos (ER) so mais complexas por envolver mais produtos e stakeholders alm de necessitar de mais ateno as semelhanas e variabilidades da LPS (BEUCHE et.al. 2007). No processo de desenvolvimento de uma linha de produtos, so capturados as semelhanas e variabilidades de um grupo de software em certo domnio e, logo ento, executada uma engenharia de domnio que se refere a produo de artefatos comuns aos produtos da linha, de tal maneira que os membros (produtos de software) da linha, atravs de uma engenharia de aplicao, sejam desenvolvidos a partir dos artefatos criados anteriormente, adicionando-se ou no artefatos que iro compor as partes variveis dos produtos da linha (QUEIROZ, 2009). Por causa da grande dificuldade e importncia de capturar os requisitos corretos para o desenvolvimento de um produto de software, o presente trabalho se prope a analisar as principais ferramentas que auxiliam o processo de engenharia de requisitos da aplicao da engenharia de linha de produtos de software.

16

Ao trmino deste trabalho pretende-se ter encontrado informaes suficientes para responder a seguinte questo: Como as ferramentas auxiliam a melhoria do processo de engenharia de requisitos da aplicao em linhas de produto de software? 1.2. Objetivos

1.2.1. Objetivo Geral Analisar as principais ferramentas que auxiliam o processo de engenharia de requisitos da aplicao em Linha de Produtos de Software. 1.2.2. Objetivos Especficos Compreender o que so e como funcionam as Linhas de Produtos de Software; Compreender o processo de engenharia de requisitos em Linha de Produtos de Software; Elaborar um quadro apresentando as ferramentas que apoiam o processo de Engenharia de Requisitos da Aplicao; Analisar as ferramentas com maior nmero de funcionalidades; Propor recomendaes para melhoria do processo de Engenharia de Requisitos da Aplicao em Linha de Produtos de Software baseado em ferramentas. 1.3. Relevncia do Estudo Este estudo torna-se importante, pois ser feita uma anlise que at ento no existe, sobre as ferramentas que apoiam a engenharia de requisitos da aplicao em Linha de Produtos de Software, por meio da qual universitrios pesquisadores e empresas de TI podero obter uma viso melhor a cerca das funcionalidades das ferramentas com o propsito de escolher a ferramenta que melhor se encaixa no contexto trabalhado.

17

1.4.

Metodologia e Estratgia de Ao Esta seo abordar como a pesquisa ser realizada atravs da descrio da

natureza da pesquisa, da forma de abordagem, quanto aos objetivos, e aos procedimentos tcnicos. Segundo Andrade (2006), pesquisa um conjunto de procedimentos sistemticos, baseado no raciocnio lgico, que tem por objetivo encontrar solues para problemas propostos, mediante a utilizao de mtodos cientficos. Para atingir o objetivo geral desta pesquisa foram utilizados diversos procedimentos e tcnicas apresentados no Quadro 1 e detalhados a seguir.
Quadro 1 Resumo da metodologia escolhida Natureza da pesquisa Do ponto de vista de seus objetivos Procedimentos tcnicos da pesquisa Formas de abordagem Fonte: Autor (2011) Aplicada Descritiva e Exploratria Bibliogrfica (Reviso Sistemtica) Qualitativa

1.4.1. Natureza da Pesquisa Quanto natureza, de acordo com Silva (2004), a pesquisa objetiva a produo de conhecimentos e aplicaes prticas, voltados soluo de problemas reais e especficos. Sendo assim, este trabalho busca, por meio da teoria, aplicar os conhecimentos advindos de diversas fontes a entidades de interesse particular, ou seja, no mbito da engenharia de requisitos em Linha de Produtos de Software. 1.4.2. Quanto aos Fins A pesquisa exploratria procura aumentar a familiaridade com um problema, procurando torn-lo mais explcito, envolvendo a procura e levantamento bibliogrfico em uma ou mais reas pertinentes pesquisa (GIL, 1996; JUNG, 2004). J a pesquisa descritiva procura observar, registrar, analisar, classificar e interpretar os resultados da pesquisa por meio de tcnicas padronizadas de coleta de dados, sem, no entanto, sofrer interferncias do pesquisador (SILVA, 2004). Deste modo, esta pesquisa ser do tipo exploratria, pois envolver anlise e levantamento sistemtico da literatura a cerca de engenharia de requisitos em Linha de Produtos de Software, e descritiva a partir da anlise das ferramentas.

18

1.4.3. Quanto aos Meios O procedimento tcnico aplicado neste trabalho envolve a pesquisa bibliogrfica (Reviso Sistemtica da Literatura) que ocorre quando permite ao pesquisador, atravs de material relevante j publicado, a cobertura de uma gama de fenmenos muito mais abrangente do que se fosse pesquisar diretamente (GIL, 1996). Dessa forma, este trabalho visa por meio da explorao bibliogrfica identificar e selecionar ferramentas de engenharia de requisitos da aplicao em Linha de Produtos de Software dispostas na literatura, e a partir de uma anlise destas ferramentas, permitir a universitrios, pesquisadores e empresas de TI obter uma viso melhor sobre funcionalidades empregadas pelas ferramentas com o propsito de escolher a que melhor se encaixar no contexto trabalhado. 1.4.4. Formas de Abordagem Quanto forma de abordagem, uma pesquisa que procura fundamentar verdades de interpretao, onde o pesquisador tem o papel de interpretador e no prioriza a quantificao nos resultados, vem a ser uma pesquisa qualitativa (GIL, 1996). Segundo Gil (1996), a pesquisa com enfoque qualitativo baseia-se na elicitao e avaliao de modelos conceituais, a partir de descries intuitivas do pesquisador. Desta maneira, atravs de uma anlise sucinta da literatura, sero levantados insumos tericos para identificar e analisar as ferramentas como resultado. 1.5. Estrutura do Trabalho Neste captulo, foi apresentada a contextualizao de Engenharia de Requisitos em Linha de Produtos de Software, a justificativa para a execuo do trabalho alm do problema de pesquisa, a definio dos objetivos geral e especficos e a metodologia empregada para o desenvolvimento do presente estudo. Este trabalho est estruturado da maneira conforme apresentado na Figura 1.

19

Figura 1 Estrutura do Trabalho Fonte: Autor (2011)

Captulo 1: apresentao contextualizada do tema de pesquisa, justificativa, problemtica, objetivos geral e especficos alm da metodologia empregada. Captulo 2: este captulo demonstra a aplicao do mtodo de pesquisa proposto para a realizao deste trabalho, apresentando todos os passos para identificao e seleo dos trabalhos utilizados, incluindo em detalhes o protocolo utilizado para a aplicao da reviso sistemtica. Neste captulo tambm encontrase o referencial terico, que apresenta os principais componentes envolvidos no contexto da Engenharia de Requisitos em Linha de Produtos de Software. Captulo 3: trata a forma descrita neste trabalho e tambm uma anlise dos resultados, apresentando as ferramentas selecionadas e a proposta de melhoria do processo de Engenharia de Requisitos da Aplicao em Linha de Produtos de Software. Por ltimo, o trabalho finalizado com as consideraes finais, contribuies, limitaes impostas e propostas de trabalhos futuros.

20

CAPTULO 2: REVISO SISTEMTICA DA LITERATURA

A reviso de literatura o processo central que ampara todo projeto de pesquisa, permitindo que o conhecimento cientfico seja identificado de forma a possibilitar uma pesquisa planejada, evitando esforos duplicados e repetio de erros anteriores (DYBA, et.al., 2005). Uma reviso sistemtica, assim como outros tipos de estudo de reviso, uma forma de pesquisa que utiliza como fonte de dados literatura sobre determinado tema (SAMPAIO; MANCINI, 2007). Atua como um meio para identificar, avaliar e interpretar toda pesquisa relevante e disponvel sobre uma questo de pesquisa especfica, tpico ou fenmeno de interesse, fazendo uso de uma metodologia de reviso que seja confivel, rigorosa e que permita auditagem (MAFRA; TRAVASSOS, 2006). Estabelece um processo formal para conduzir a investigao, evitando a introduo de vieses da reviso de literatura informal, dando maior credibilidade pesquisa em andamento (SOUSA e RIBEIRO, 2009; SAMPAIO; MANCINI, 2007). A partir da pesquisa num tpico em particular, esse tipo de reviso pode induzir a identificao, seleo e produo de evidncias, considerando os conhecimentos e as iniciativas existentes no campo de interesse (MIAN et.al., 2005). A metodologia pode ser caracterizada por usar mtodos sistemticos e explcitos que so escolhidos com o objetivo de minimizar erros, possibilitando assim pesquisas mais confiveis que possam ser usadas, inclusive, para a tomada de decises (ANTMAN et.al., 1992 apud HIGGINS; GREEN, 2008; OLIVEIRA et.al., 2007). Dessa forma, a reviso sistemtica pode ser melhor entendida como uma sintetizao de resultados obtidos do estado da arte da literatura, sendo um tipo de estudo retrospectivo e secundrio, isto , a reviso usualmente desenhada e conduzida aps a publicao de muitos estudos experimentais (primrios) sobre o tema (SAMPAIO; MANCINI, 2007).

O caminho trilhado na reviso sistemtica envolve uma srie de atividades importantes, atreladas a um conjunto de fases dentro do processo de conduo, estabelecidos dentro de um protocolo, que nortear de forma sistematizada todo o processo de conduo da reviso. Biolchini et.al. (2005) e Kitchenham et.al. (2004) estabelecem trs fases do processo de conduo:

21

planejamento da reviso, execuo da reviso e anlise e divulgao dos resultados. Outros autores abordam as atividades de forma um pouco diferente, porm convergentes (PAI et.al., 2004; LITTEL et.al., 2008). As fases de conduo da reviso e as atividades utilizadas neste trabalho foram adaptadas dos trabalhos citados anteriormente e esto detalhadas no Quadro 2 a seguir, incluindo ainda um comparativo entre uma reviso sistemtica e uma reviso de literatura comum.
Quadro 2 Fases, atividades e comparativo do processo de reviso sistemtica e reviso da literatura comum.
Fases do processo de conduo Atividades Reviso Sistemtica Reviso de Literatura Comum

Formulao da questo

Questo focada no objetivo da pesquisa (idia-tema).

Questo focada no objetivo da pesquisa, embora permita uma questo mais abrangente, fora da idia-tema. Sem uma estratgia definida, tornando os resultados menos relevantes.

Planejamento Identificao de estudos da Reviso


Avaliao crtica dos estudos

Uso de estratgia de pesquisa transparente, que leva a resultados embasados cientificamente. Critrios especficos de incluso e excluso so utilizados para avaliao. Utilizao de formulrios padronizados para catalogao e avaliao posterior desses dados. Os dados so analisados de forma descritiva, levando-se em conta a qualidade dos estudos, amostras extradas e outros fatores que possam intervir nos resultados. Os resultados interpretados esto menos sujeitos a desvios do sentido original dos estudos e opinies pessoais invasivas.

De forma geral, os estudos identificados no so avaliados de acordo com critrios.

Execuo da Reviso

Extrao dos dados

Geralmente os dados so extrados de forma singular, sem a utilizao de um modelo padro.

Anlise e Divulgao dos Resultados

Sintetizao dos resultados

Os dados so avaliados de forma isolada, sem levar em conta a qualidade dos estudos nos quais foram extrados os dados A interpretao dos resultados tende ao acmulo de desvios do sentido original dos estudos obtidos, alm de acumular opinies pessoais.

Interpretao dos resultados

Fonte: Adaptado de PAI et. al., 2004; LITTEL et. al., 2008.

A Figura a seguir demonstra as fases do processo de conduo da reviso sistemtica. Estas fases no so necessariamente seqenciais, pois possuem interaes, fazendo com que muitas atividades sejam iniciadas na fase de planejamento e refinadas posteriormente.

22

Figura 2 Processo de Conduo da Reviso Sistemtica Fonte: (BIOLCHINI et al., 2005; KITCHENHAM et al., 2004; PAI et al., 2004; LITTEL et al, 2008).

2.1. Aplicao da Reviso Sistemtica da Literatura O processo de reviso sistemtica foi iniciado a partir da criao de um modelo de protocolo de reviso, onde no mesmo constaro informaes essenciais para a realizao da reviso sistemtica. O protocolo foi especificado para identificar os estudos que abordavam o tema Engenharia de Requisitos em Linha de Produtos de Software. Alm disso, tambm foram desenvolvidos quatro formulrios que auxiliaram a aplicao da reviso sistemtica. O formulrio de conduo da reviso (ver APNDICE 1) serviu para a catalogao dos trabalhos encontrados durante a execuo das etapas descritas no processo, juntamente com o formulrio de aprovao dos trabalhos (ver APNDICE 2), que serviu para a catalogao final dos trabalhos. Os outros dois formulrios esto diretamente ligados ao protocolo de reviso sistemtica. Um deles o formulrio de teste-piloto (ver APNDICE 3), adotado para os testes do protocolo de reviso. Foi atravs desse formulrio que o protocolo pde ser avaliado antes mesmo de ser aplicado na ntegra. O outro formulrio foi o de crticas do avaliador (ver APNDICE 4), o qual contribuiu para fichar as crticas construtivas de um avaliador especialista acerca do melhoramento do protocolo. Dos resultados obtidos com a aplicao do teste piloto e da ficha de crticas do avaliador, foram feitas algumas alteraes, dentre as mais relevantes esto a reformulao das Strings de busca, que precisaram ser adequadas durante os teste, a incluso e excluso de fontes de busca, visto que algumas fontes testadas no apresentavam resultados satisfatrios dentro do tema proposto.

23

2.1.1. Fase de Planejamento Durante a fase de planejamento foram estabelecidos os objetivos da pesquisa e foi criado um protocolo de reviso adaptado do modelo de Biolchini et.al. (2005) e Kitchenham et.al. (2004), contendo itens como: identificao e seleo das bases de dados, mtodos de busca e palavras-chave, estratgia de busca e critrios de incluso e excluso dos estudos (Biolchini et.al., 2005;Kitchenham et.al., 2004;Dyba et.al., 2005), seguindo ainda a mesma lgica de atividades propostas e adaptadas por Pai et.al. (2004) e Littell et.al. (2008). O Quadro 3 a seguir detalha o protocolo de reviso sistemtica elaborado para esta pesquisa.
Quadro 3 Protocolo de Reviso Sistemtica PROTOCOLO DE REVISO SISTEMTICA (PRS) Foco da pesquisa Verso: 02

O foco desta pesquisa est em levantar, na literatura especfica, conceitos e definies de Engenharia de Requisitos em Linha de Produtos de Software. Questo de pesquisa Como as ferramentas auxiliam a melhoria do processo de engenharia de requisitos da aplicao em linha de produtos de software? Palavras-chaves relacionadas s questes de pesquisa Devido ao foco da pesquisa abranger um contedo de relevncia mundial, evidentemente as palavras-chaves sero formuladas no idioma universal Ingls. Todavia, a pesquisa no deixar de contar com palavras no idioma Portugus, pois, alm de manter uma consistncia com o idioma de escrita da pesquisa, tambm pretende mostrar a relevncia e qualidade de estudos nesse idioma. As palavras-chave foram definidas e devidamente organizadas de acordo com os termos encontrados no foco da pesquisa. Ao final foram definidas 8 (oito) palavraschave nos dois idiomas (portugus e ingls), totalizando 16 (dezesseis) palavraschave para a pesquisa. Linhas de Produto: linha de Product lines: software product lines; produtos de software; famlia de product families; spl; produtos; lps; Engineering: requirements; application engineering; application Engenharia: requisitos; engenharia requirements; da aplicao; requisitos da aplicao; Tools: tools; case tools; Ferramentas: ferramentas; ferramentas case; Interveno A pesquisa pretende intervir na engenharia de requisitos da aplicao em linha de produtos de software. Efeito Esta pesquisa se prope a analisar as principais ferramentas que auxiliam o processo de engenharia de requisitos da aplicao em linha de produtos de software. Mtricas de Resultados Pelo menos encontrar 10 ferramentas que suportem o processo de engenharia de requisitos da aplicao em linha de produtos de software. Populao A populao aplicvel a esta pesquisa pode ser resumida em estudos e trabalhos (artigos, dissertaes, teses e livros) encontrados na literatura tcnica sobre

Amplitude da reviso sistemtica

24
engenharia de requisitos e linha de produtos de software. Aplicao Por fim, a rea de aplicao dos resultados desta pesquisa abrange uma anlise das ferramentas que apoiam a fase de engenharia de requisitos da aplicao em linha de produtos de software e uma proposta de melhoria para a execuo desse processo baseado em ferramentas. Critrios de incluso e excluso Os seguintes critrios devem nortear a incluso e excluso das fontes de busca dos trabalhos. As fontes devem estar na web, com exceo apenas de livros que podem ser impressos; As fontes devem disponibilizar os trabalhos na ntegra e gratuitamente para fins de pesquisa; As fontes devem possuir mecanismos avanados de busca que permitam a combinao de palavras-chave com os termos relacionais AND e OR; As fontes devem ser de renome cientfico-acadmico mundial, com exceo de sites web de universidades, caso seja necessrio, que contenham os mecanismos de busca exigidos. Procedimentos para seleo das fontes As fontes sero selecionadas por meio de testes com as palavras-chave j citadas. Caso retornem resultados satisfatrios ao teste, elas sero includas, ao contrrio sero excludas (descartadas). Idiomas de estudos Os idiomas aplicados na pesquisa e observao de trabalhos deste estudo so dois: Portugus e Ingls. Mtodo de pesquisa: a busca por trabalhos ser realizada de forma eletrnica, atravs de mecanismos de busca de sites web especializados e de renome cientfico-acadmico, podendo ser utilizados tambm sites de universidades que contenham esses mecanismos disponveis; Strings de busca: as Strings ou frases de busca so baseadas nas palavras-chave j citadas. Esses Strings sero aplicadas de acordo com a disponibilidade tcnica de estratgia de busca do mecanismo a ser utilizado, podendo sofrer pequenas adaptaes para que o mecanismo consiga execut-las. As Strings so as seguintes: Portugus: Ingls: (1) software product lines (1) linha de produtos de software <or> famlia de <or> product families produtos <or> LPS <or> SPL <and> <and> (requisitos <or> (requirements <or> Identifica application engineering engenharia da aplicao o das fontes <or> requisitos da <or> application requirements); aplicao); (1) linha de produtos de (2) software product lines software <or> famlia de <or> product families produtos <or> LPS <or> SPL <and> (tools <and> (ferramentas <or> case tools); <or> ferramentas case ); Lista de fontes de busca Os seguintes sites com mecanismos de busca sero inicialmente utilizados para pesquisa dos trabalhos: ACM Digital Library; BDTD IEEE Xplore SciELO; ScienceDirect; Google Scholar; Definio dos trabalhos

Seleo das fontes de pesquisa

Seleo dos

25
trabalhos pesquisados Os seguintes critrios devem nortear a incluso e excluso dos trabalhos. Devem ser exclusivamente advindos da internet; Os trabalhos devem estar disponibilizados em sites web especializados e de relevncia cientfico-acadmico; Os trabalhos devem estar disponibilizados por completo; Os trabalhos devem demonstrar algum embasamento cientfico que comprove os seus resultados; Procedimentos para seleo dos trabalhos Sero aplicadas cinco etapas para a seleo definitiva dos estudos a serem avaliados no contexto da pesquisa. Os seguintes procedimentos vo proporcionar filtrar os trabalhos mais relevantes para a pesquisa:

ETAPA I Realizar pesquisas de acordo com as Strings de busca definidas para a pesquisa. ETAPA II Os trabalhos retornados sero inicialmente avaliados segundo o ttulo, sem a necessidade de fichar no formulrio de conduo da reviso. Caso o ttulo seja relevante ao contexto da pesquisa, o trabalho ser potencialmente selecionado para a prxima etapa, caso contrrio ele ser excludo. ETAPA III Dos estudos pr-selecionados na primeira etapa, uma nova pesquisa (busca) ser realizada, aplicando-se Strings de busca de forma mais refinada. Os trabalhos que retornarem resultados com esse refinamento vo ter seus resumos (abstract) lidos, depois sero selecionados para a prxima etapa e fichados no formulrio de conduo da reviso. Caso contrrio eles sero excludos. ETAPA IV Na prxima etapa ser realizada uma leitura da introduo e concluso de cada trabalho pr-selecionado. Se houver relevncia com o contexto da pesquisa, o trabalho ser selecionado para a prxima etapa e fichado no formulrio de conduo da reviso. Caso contrrio ele ser excludo. ETAPA V A ltima etapa aprimora a seleo principalmente, porque o trabalho ser completamente lido, analisado e criticado haja vista a relevncia contextual e filtro proporcionado pelas etapas anteriores. Nesta ltima etapa o trabalho ser considerado apto e ser fichado no formulrio de aprovao dos estudos. Fonte: Modelo Adaptado de Biolchini et. al. (2005), Pai et al. (2004), e Littell et al. (2008).

2.2. Fase de Execuo Na fase de execuo foi realizada a conduo e anlise dos estudos primrios. Assim, no perodo compreendido entre 16/08/2011 e 28/09/2011, os estudos foram identificados, coletados e organizados em uma lista estruturada. Na etapa I de seleo, foi definido no protocolo de pesquisa da reviso sistemtica, no qual foram considerados os critrios de qualidade e as Strings de busca, o que retornou um total de 7153 estudos, conforme representado na Figura 3.

26

Figura 3: Etapas para seleo dos trabalhos Fonte: Adaptado de Biolchini et al. (2005); Kitchenham et al. (2004); Pai et al. (2004); Littel et al. (2008).

A Tabela 1 exibe os resultados da pesquisa em cada base com as Strings utilizadas. importante destacar que as Strings foram selecionadas de acordo com a disponibilidade de trabalhos nos idiomas escolhidos no protocolo, de forma que nas bases em que no havia possibilidade de pesquisa em Ingls, no foram utilizadas as Strings do respectivo idioma, sendo o mesmo no caso do idioma Portugus.
Tabela 1 Resultado da pesquisa relacionando as bases com as Strings adotadas Bases Strings ACM BDTD IEEE Xplore SciELO Science Direct Google Scholar Portugus 1 73 1 195 2 93 2 92 Ingls 1 1243 1170 7 114 400 2 2440 800 0 120 400 Total Total 3683 166 1970 10 234 1087 7150

Fonte: Bases listadas no protocolo de reviso sistemtica, conforme Biolchini et.al. (2005); Kitchenham et.al. (2004); Pai et.al. (2004); Littel et.al. (2008).

27

Na etapa II foram lidos os ttulos dos trabalhos e analisados quais estavam disponveis por completo. Sendo assim, foram selecionados 105 dos 7153 artigos resultantes da busca inicial. Na etapa III, foram lidos os ttulos dos trabalhos, a seleo foi aprimorada com base nos critrios de incluso e excluso e a partir da leitura do resumo (abstract), foram selecionados 54 dos 105 trabalhos relatados at ento. Na etapa IV, os estudos passaram por uma leitura da introduo e concluso e dos 54 trabalhos, 18 foram selecionados ao final. A etapa V estabelece a leitura completa dos estudos selecionados. Essa leitura final foi realizada de acordo com os propsitos estabelecidos pela pesquisa. A lista dos 54 trabalhos identificados, incluindo os selecionados, encontra-se no APNDICE 6.

2.3. Fase de anlise e divulgao dos resultados Por fim, nesta fase os estudos primrios que atendiam ao propsito da reviso sistemtica foram analisados criticamente e sintetizados no formulrio de aprovao dos trabalhos, visto que essa avaliao foi de forma descritiva, conforme (LITTEL et.al., 2008;KITCHENHAM et.al., 2007). O Quadro 4 apresenta os trabalhos selecionados.
Ano 2005 Quadro 4 Trabalhos selecionados a partir da reviso sistemtica. Referncia Fonte POHL, Klaus.; BCKLE, Gunter.; VAN DER LINDEN, Frank.: Software Product Line Engineering Foundations, Principles, Google Acadmico and Techniques. Springer, Heidelberg 2005. KIM, Kyungseok. et.al. ASADAL: A Tool System for CoDevelopment of Software and Test Environment based on ACM Product Line Engineering. ACM, 2006. SCHMID, Klaus; KRENNERICH, Karsten; EISENBARTH, Michael. Requirements Management for Product Lines - Extending IEEE Xplore Professional Tools. Software Product Line Conference, 2006. DEHLINGER, Josh. et.al. DECIMAL and PLFaultCAT- From Product-Line Requirements to Product-Line Member Software IEEE Xplore Fault Trees. International Conference on Software Engineering, 2007. DJEBBI, Olfa; SALINESI, Camille; FANMUY, Gauthier. Industry Survey of Product Lines Management Tools - Requirements, IEEE Xplore Qualities and Open Issues. International Requirements Engineering Conference, 2007. RABISER, Rick. et.al. Involving Non-Technicians in Product Derivation and Requirements Engineering - A Tool Suit for IEEE Xplore Product Line Engineering. International Requirements Engineering Conference, 2007. BEUCHE, Danilo. et.al. Using Requirements Management Tools in Software Product Line Engineering - The State of the IEEE Xplore Practice. International Software Product Line Conference, 2007. RABISER, Rick; DHUNGANA, Deepak. Integrated Support for Product Configuration and Requirements Engineering in ACM Product Derivation. ACM, 2007. LIMA JNIOR, Rogrio. Comparao entre Ferramentas para Linha de Produtos de Software. Recife, 2008. Trabalho de Google Acadmico Concluso de Curso (Engenharia da Computao), Universidade de Pernambuco. Recife, PE. LISBOA, Liana. ToolDAy - A Tool for Domain Analysis. Recife,

2006

2006

2007

2007

2007

2007

2007

2008

2008

28
2008. Dissertao (Cincia da Computao), Universidade Federal de Pernambuco Centro de Informtica. Recife, PE. BOTTERWECK, G.; Thiel, S.; NESTOR, D.; SAAD, bin A.; CAWLEY C.; Visual Tool Support for Configuring and Understanding Software Product Lines, Lero, The Irish Software Engineering Research Centre, 2008. NGUYEN, Quyen. Non-Functional Requirements Analysis Modeling for Software Product Lines. IEEE Computer Society, 2009. NEIVA, D.F.S., RiPLE-RE: A Requirements Engineering Process for Software Product Lines, M.Sc. Dissertao, Universidade Federal de Pernambuco, Brasil, 2009. HALIM, Shahliza, NORHAYATI, Dayang; DERIS, Jawawi. Requirements Identification and Representation in Software Product Line. Asia-Pacific Software Engineering Conference, 2009. ALVES, Vander. et.al. Requirements engineering for software product lines- A systematic literature review. Information and Software Technology, v. 52, p. 806-820, 2010. MELLADO, Daniel. et.al. Security requirements engineering framework for software product lines. Information and Software Technology, v. 52, p. 1094-1117, 2010. RABISER, Rick; GRUNBACHER, Paul; DHUNGANA, Deepak. Requirements for product derivation support - Results from a systematic literature review and an expert survey. Information and Software Technology, v. 52, p. 324-346, 2010. ARAUJO, Joo; VARELA, Patrcia; BRITO, Isabel; MOREIRA, Ana. Aspect-Oriented Analysis for Software Product Lines Requirements Engineering. ACM, 2011. Fonte: Autor (2011). Google Acadmico

2008

Google Acadmico

2009

ACM

2009

BDTD

2009

IEEE Xplore

2010

ScienceDirect

2010

ScienceDirect

2010

ScienceDirect

2011

ACM

A seguir, os resultados consolidados da reviso sistemtica para a engenharia de requisitos da aplicao em linha de produtos de software.

6 5 4

Quantidade de Trabalhos Selecionados por Ano 5

3 3 2 2 1 1 0 2005 2006 2007 2008

2009

2010

2011

Grfico 1 Quantidade de trabalhos relevantes por ano Fonte: Autor (2011).

29
7 6 5 4 4 3 3 2 1 1 0 0 Google Acadmico ACM IEEE Xplore BDTD ScienceDirect SciELO 4 Quantidade de Trabalhos Selecionados por Base de Dados 6

Grfico 2 Quantidade de trabalhos relevantes por base Fonte: Autor (2011).

No Grfico 1, foi observado que os trabalhos selecionados foram publicados entre 2005 e 2011, sendo o ano de 2007 o que obteve mais resultados, com um total de 5 resultados, seguido pelo ano de 2008, 2009 e 2010 com 3 trabalhos, 2006 com 2 trabalhos e 2005 e 2011 com 1 trabalho cada. J no Grfico 2, das 6 bases de dados escolhidas , o SciELO no retornou nenhum trabalho relevante para pesquisa. Bases como Google Acadmico, ACM, IEEE Xplore, BDTD e ScienceDirect resultaram trabalhos relevantes, sendo que a IEEE Xplore obteve mais resultados, com um total de 6 resultados, ACM e Google Acadmico resultaram 4 trabalhos cada, ScienceDirect resultou em 3 trabalhos e BDTD resultou 1 trabalho.

2.4. Apresentao dos Trabalhos Selecionados Aps a identificao de cada trabalho, foi desenvolvido um modelo de formulrio de resumo de trabalho (ver APNDICE 5) para o fichamento das principais idias apresentadas nos trabalhos selecionados. Esse modelo continha campos como o objetivo geral do trabalho, resumo do trabalho, resultados apresentados pelo mesmo, alm de campos informacionais de tempo de leitura e resumo para o trabalho lido. Dessa forma, os fichamentos iniciaram no dia 16 de agosto de 2011 e foram concludos em 28 de setembro de 2011. A maioria dos trabalhos foi lido e resumido no mesmo dia, salvo algumas excees. O Quadro 5 apresenta o tempo corrido para o fichamento de cada trabalho, em ordem de leitura, desde o incio de sua leitura at a concluso do resumo, finalizando com o tempo total dos fichamentos.

30
Quadro 5 Exposio do tempo de fichamento dos trabalhos selecionados Incio Fim do Tempo N do Trabalho da Resumo (em Resumo Leitura dias) 01 Integrated Support for Product Configuration and 16/08 17/08 02 Requirements Engineering in Product Derivation. 02 ASADAL: A Tool System for Co-Development of Software 17/08 17/08 01 and Test Environment based on Product Line Engineering 03 Non-Functional Requirements Analysis Modeling for 17/08 19/08 03 Software Product Lines. 04 Aspect-Oriented Analysis for Software Product Line 20/08 21/08 02 Requirements Engineering. 05 Requirements Management for Product Lines: Extending 22/08 23/08 02 Professional Tools. 06 Using Requirements Management Tools in Software 28/08 30/08 03 Product Line Engineering: The State of the Practice. 07 Requirements Identification and Representation in 31/08 31/08 01 Software Product Line. 08 Industry Survey of Product Lines Management Tools: 07/09 07/09 01 Requirements, Qualities and Open Issues. 09 Involving Non-Technicians in Product Derivation and 07/09 07/09 01 Requirements Engineering: A Tool Suite for Product Line Engineering. 10 DECIMAL and PLFaultCAT: From Product-Line 07/09 07/09 01 Requirements to Product Line Member Software Fault Trees. 11 Software Product Line Engineering: Foundations, 10/09 11/09 02 Principles and Techniques Application Requirements Engineering 12 Software Product Line Engineering: Foundations, 11/09 11/09 01 Principles, and Techniques A Framework for Software Product Line Engineering. 13 ToolDay A Tool for Domain Analysis. 11/09 12/09 02 14 Requirements for product derivation support: Results from 13/09 14/09 02 a systematic literature review and an expert survey. 15 Visual Tool Support for Configuring and Understanding 17/09 17/09 01 Software Product Lines. 16 RiPLE-RE: A Requirements Engineering Process for 26/09 27/09 02 Software Product Lines. 17 Requirements Engineering for software product lines: A 27/09 28/09 02 systematic literature review. 18 Security Requirements engineering framework for 28/09 28/09 01 software product lines. Tempo total gasto com fichamentos (leituras, resumos e reviso da 30 dias literatura) Fonte: Autor (2011)

As sees a seguir apresentam a fundamentao terica com base nas principais idias abordadas por cada trabalho selecionado na reviso sistemtica da literatura. 2.4.1. Linha de Produtos de Software Diversas tecnologias tm surgido para solucionar problemas de reuso de software, todavia muitas dessas tecnologias, como o desenvolvimento baseado em componentes e padres de projeto possuem um foco apenas no reuso de cdigo, que representa cerca de 20% do custo total do desenvolvimento de software. Neste cenrio, a abordagem de Linha de Produtos de Software tem crescido como um paradigma de desenvolvimento de software vivel e importante, visto que o foco no

31

direcionado apenas ao reuso de cdigo, mas sim no reuso da arquitetura, dos requisitos e de outros artefatos gerados (GOMAA, 2005;POHL et. al. 2005;DJEBBI, et.al. 2007;LISBOA, 2008;LIMA JNIOR, 2008;NEIVA, 2009;). Os principais objetivos de uma LPS so: reduo dos custos de desenvolvimento; aumento da qualidade; reduo do tempo de entrega dos produtos

2.4.1.1. Definio Uma linha de produtos compreende um conjunto de produtos que se destinam a um segmento de mercado especfico ou a uma misso particular (NORTHROP e CLEMENTS, 2007). Antes de uma melhor definio de LPS, faz-se necessrio conhecer outros conceitos importantes envolvidos nesta abordagem. Primeiramente, preciso entender um conceito muito presente nas abordagens de LPS, que o de feature. De acordo com Donegan (2008), feature pode ser descrito como uma caracterstica que usurios e clientes vem como sendo de suma importncia na descrio e distino de membros de uma linha de produtos. Outro conceito muito importante o de core assets, que consiste de itens reusveis, tais como requisitos, componentes, modelos, arquitetura, planos de teste, casos de testes, entre outros artefatos. A partir do entendimento desses principais conceitos, possvel compreender melhor a definio de LPS a seguir, bastante aceita na academia:
Uma linha de produtos de software um conjunto de sistemas com uso intensivo de reuso de software que compartilham um conjunto de features comuns e gerenciveis, que satisfazem s necessidades especficas de um segmento de mercado particular ou misso, e que so desenvolvidos a partir de um conjunto de core assets comuns, de modo planejado (CLEMENTS;NORTHROP, 2001, p. 05).

Segundo Pohl (2005), a engenharia de linha de produtos de software divida em dois processos, a engenharia de domnio e engenharia de aplicao. A engenharia de domnio um processo da LPS em que a comunalidade e variabilidade definida e realizada. J a engenharia de aplicao outro processo da LPS no qual aplicaes da linha de produto so construdas reusando artefatos do domnio e explorando a variabilidade da linha de produtos.

32

2.4.1.2. Variabilidade Variabilidade uma questo chave para o funcionamento de uma LPS e est presente em todo ciclo de vida do processo desta, alm de ser uma caracterstica que distingue o desenvolvimento de uma LPS comparado a de um sistema comum (SCHMID, et. al. 2006; HALIM, et.al. 2009). Variabilidade fornece flexibilidade para diversificar e diferenciar produtos. A partir da variabilidade, um artefato pode ser configurado, customizado, estendido ou mudado para um uso especfico em um contexto (LINDEN et.al., 2007). De acordo com Pohl (2005), o conceito de variabilidade veio para facilitar a customizao em massa e est fortemente inter-relacionado com a engenharia de requisitos do domnio e aplicao. O Quadro 6 exibe os tipos de variantes com suas determinadas caractersticas.
Quadro 6 Exemplo de variantes e suas descries Variante Descrio Opcional Pode optar ou no pela variante em questo Alternativa Exatamente uma variante de muitas Variante Opcional Nenhuma variante ou muitas Variante Uma variante ou muitas Valor Usando um valor dado como parmetro para a escolha da variante Fonte: Autor (2011).

De acordo com a Figura 4, Schmid et.al. (2006) diz que o desenvolvimento de uma LP (Linha de Produto) envolve a identificao de comunalidades de produtos e suas variabilidades e durante a engenharia de domnio, um modelo genrico de uma LP desenvolvida, oferecendo uma infra-estrutura de reuso, que explorada durante vrias instancias do ciclo de vida da engenharia de aplicao para o desenvolvimento de produtos individuais. Schmid et. al. (2006) tambm diz que durante o ciclo de vida da engenharia de aplicao, os artefatos que foram gerados na engenharia de domnio so usados a fim de gerar o produto final, implicando que: Requisitos obrigatrios tambm fazem parte da especificao de requisitos para um produto especfico; Entre os requisitos variveis, aqueles relacionados ao produto correntemente especificado, precisam ser selecionados;

33

Requisitos adicionais especfico do produto devem ser identificados.

Figura 4: Requisitos do Produto Fonte: Adaptado de Schmid et.al. (2006)

Assim, possvel identificar que a especificao resultante para produtos individuais consiste de trs partes. A especificao consiste de requisitos obrigatrios, que so comuns a todos os produtos, de requisitos variveis instanciados e do produto especfico ou requisitos especiais. Tambm pode acontecer de novos requisitos serem incompatveis com os j existentes da LP, logo a LPS dever ser evoluda. Muitas abordagens de LPS utilizam tcnicas para identificar e representar variabilidade a nvel de requisitos para as features da LPS. Uma maneira de tratar as caractersticas comuns e variveis partir da anlise de CV (comunalidades e variabilidades) que produz modelos de caso de uso para mostrar requisitos comuns e variveis. A respeito da anlise de CV, o mtodo comea identificando os requisitos primitivos (RP) ou transaes que afetam atores externos, um RP pode ser um caso de uso ou vrios RP podem ser compostos em um caso de uso e que durante a anlise, a razo de freqncia determinar se o RP ser comum ou opcional no domnio. O objetivo desse mtodo colher os benefcios de identificar os requisitos objetivamente e permitir que os requisitos sejam representados em casos de uso e modelos de caractersticas (HALIM, et.al. 2009).

34

Figura 5 Rastreabilidade entre a especificao de RP, Modelo de Caractarstica e Modelo de Casos de Uso Fonte: (HALIM, et.al. 2009).

A Figura 5 retrata todo o processo utilizado pela anlise de CV ajudando no gerenciamento de requisitos entre os modelos de caso de uso, modelos de caractersticas e especificaes de RP. 2.4.2. Processos da Engenharia de LPS Segundo Pohl et.al. (2005), so dois os processos da Engenharia de Linha de Produtos de Software (ELPS), engenharia de domnio e engenharia de aplicao. Engenharia de domnio o processo da engenharia de linha de produtos de software em que a comunalidade e variabilidade da LPS definida e realizada e engenharia de aplicao o processo da engenharia de linha de produtos de software no qual aplicaes da linha de produto so construdas reusando artefatos do domnio e explorando a variabilidade da linha de produtos. Artefatos de domnio so artefatos de desenvolvimento reusveis criados nos sub-processos da engenharia de domnio e artefatos de aplicao so os artefatos desenvolvidos em uma aplicao especfica de linha de produtos de software (POHL et.al. 2005). A Figura 6 exibe os dois processos principais que regem a engenharia de linha de produtos de software. As sees a seguir descrevem os sub-processos da Figura 6 sobre engenharia de domnio e aplicao.

35

Figura 6 Um framework da engenharia de linha de produtos de software Fonte: Adaptado de Pohl et. al .(2005)

2.4.2.1. Engenharia de domnio Engenharia de Domnio o ponto chave para um timo reuso, pois encontram-se atividades de coleo, organizao e armazenamento de experincias passadas na construo de sistemas ou partes de sistemas sobre a forma de ativos reusveis (LISBOA, 2008). Gerenciamento do produto: Lida com aspectos econmicos, estratgias de mercado e com o gerenciamento de portflio da companhia; Engenharia de requisitos do domnio: Abrange todas as atividades de elicitao e documentao dos requisitos comuns e variantes; Projeto do domnio: Este sub-processo emprega todas as atividades para a construo da arquitetura de referncia, que oferece uma estrutura para todas as aplicaes da LPS; Realizao do domnio: Trabalha mais a fundo a arquitetura e a implementao de componentes reusveis de software;

36

Testes do domnio: Sub-processo responsvel pela validao e verificao dos componentes de software reusveis;

2.4.2.2. Engenharia de aplicao A Engenharia de Aplicao explora em potencial o reuso para a construo de um novo produto a partir dos ativos produzidos na fase de engenharia de domnio. Engenharia de requisitos da aplicao: Compreende as atividades para o desenvolvimento das especificaes dos requisitos da aplicao; Projeto da aplicao: Compreende as atividades de referncia da arquitetura para instanciar a arquitetura de aplicao; Realizao da aplicao: Cria a aplicao especfica. O principal ponto a seleo e configurao dos componentes reusveis de software; Testes da aplicao: Engloba as atividades responsveis por verificar e validar uma aplicao em relao a sua especificao; 2.4.3. Engenharia de Requisitos De acordo com Sommerville (2006), um processo de software um conjunto de atividades que lida com a produo de um produto de software. No contexto de ER um processo um conjunto estruturado de atividades que so seguidos pra obter, validar e manter um documento de requisitos do sistema

(KOTONYA;SOMMERVILLE, 1998). Segundo Kotonya e Sommerville (1998), uma descrio completa de um processo de ER deve incluir as atividades que sero realizadas, a estrutura ou cronograma dessas atividades, quem o responsvel por cada uma dessas atividades e as ferramentas utilizadas para suportar a engenharia de requisitos. A Figura 7 apresenta as atividades bsicas de um processo de engenharia de requisitos.

37

Elicitao dos Requisitos Verificao dos Requisitos

Anlise dos Requisitos Especificao dos Requisitos

Negociao dos Requisitos Gerenciamento dos Requisitos

Figura 7 Atividades bsicas de um processo de engenharia de requisitos Fonte: Adaptado de Teixeira Lopes (2004).

As atividades apresentadas na Figura 7 so descritas a seguir conforme Teixeira Lopes (2004):

Elicitao dos Requisitos: Nesta atividade, so identificadas as expectativas e necessidades dos stakeholders com relao ao software a ser desenvolvido; Anlise dos Requisitos: Aps a obteno dos requisitos iniciais, os mesmos sero utilizados como base para anlise dos requisitos. Esta anlise consiste na distribuio dos requisitos em categorias, explorando as relaes entre eles e classificando a importncia de cada um dos requisitos de acordo com as necessidades dos stakeholders. Negociao dos Requisitos: Nesta etapa, os requisitos so negociados para decidir quais devem ser aceitos, de forma a obter consenso; Verificao dos Requisitos: Visa assegurar que todos os requisitos foram definidos sem ambiguidades, inconsistncias ou omisses, e que todos os erros identificados sejam corrigidos; Especificao dos Requisitos: produzido um documento com os requisitos de maneira que todos os stakeholders possam entend-lo; Gerenciamento dos Requisitos: Responsvel pelo endereamento de

modificaes dos requisitos. Busca manter registro das modificaes e assegura que elas ocorram de forma controlada no documento de requisitos.

Neiva (2009) elaborou um conjunto de diferentes modelos e tcnicas que so utilizadas nas abordagens de engenharia de requisitos em LPS. O Quadro 7 exibe o nome e a descrio desses modelos e tcnicas.
Quadro 7 Modelos e tcnicas de engenharia de requisitos em LPS Modelo / Tcnica Descrio Neste modelo os requisitos so organizados por features, que Modelo de Feature representam as caractersticas visveis do usurio final de um sistema; Baseado em Objetivos Tcnicas e modelos direcionadas a objetivos so teis para elicitar e

38
validar requisitos, reunindo os objetivos e necessidades das organizaes, mostrando as razes para a variabilidade do domnio; Modelos de caso de uso so documentados usando cenrios e/ou diagramas de caso de uso. So orientado ao usurio e empregam os requisitos funcionais especficos, no representando os requisitos no funcionais (RNF); Um requisito primitivo define como uma transao que tem efeito sobre um ator externo, por isso identificado como uma unidade de caso de uso. No representa RNF; Ponto de vista baseado em tcnicas e modelos. Define diferentes perspectivas para os requisitos de uma LPS. Assim eles so eficientes para a elicitao e negociao dos requisitos no qual so identificados diferentes necessidades e conflitos; Descreve variaes como decises. As variabilidades esto ligadas a decises que, quando completamente resolvidos, especificam um membro da LPS; A abordagem de engenharia de linha de produto de software props um novo modelo para se conectar variabilidades em ativos de domnio diferentes, facilitando as decises para instanciar produtos da LPS; So basicamente casos de uso que especificam antecipadamente mudanas futuras para um sistema. Product Line Requirements Specification (PRS) um modelo formal para documentao de requisites para linha de produtos de sistemas embarcados. Define a modularizao e encapsulamento dos requisitos em classes, que til para que partes da especificao descreve requisitos variveis quando podem ser mudados sem impactar outras partes do documento; Fonte: Autor (2011).

Casos de Uso

Requisito Primitivo

Ponto de Vista

Modelo de Deciso

Modelo de Variabilidade Ortogonal Mudana de Caso

Classe PRS

2.4.4. Engenharia de Requisitos da Aplicao O objetivo da engenharia de requisitos da aplicao (ERA) de elicitar e documentar os artefatos dos requisitos para uma aplicao em particular e ao mesmo tempo reusar, o mximo possvel, os artefatos de requisitos do domnio. O reuso dos artefatos de requisitos do domnio para cada aplicao compreende o objetivo geral para obteno de um alto grau de reuso dos artefatos do domnio. Para se beneficiar dos ganhos de produtividade, o processo de engenharia de aplicao tem que ser o mais eficiente possvel. Para atingir este objetivo, faz-se necessrio o apoio de uma ferramenta visual e interativa que possa ajudar os stakeholders no processo de configurao do produto em LPS (BOTTERWECK, et.al. 2008). A seguir ser descrito todo o processo de engenharia de requisitos da aplicao segundo (POHL et.al., 2005): A Figura 8 exibe as inter-relaes entre a engenharia de aplicao e seus respectivos sub-processos.

39

Figura 8 Fluxo de informao entre a engenharia de requisitos e outros sub-processos Fonte: Adaptado de Pohl et. al.(2005)

Inter-relao com o gerenciamento do produto: Aqui, a ERA usa as partes comuns e escolhe as partes variantes. Como certas features so especficas para um nico produto, elas precisam ser documentadas e ento a ERA faz sugestes para adicionar ou alterar features que devem ser incorporadas na LPS. Inter-relao com a engenharia de requisitos do domnio: Aqui, a engenharia de requisitos do domnio oferece o modelo de variabilidade para a ERA definir as variantes e os artefatos do domnio. A ERA pode pedir para adicionar ou alterar requisitos do domnio e se for detectado um requisito especfico da aplicao, pode pedir para o artefato de requisito ser integrado nos artefatos de domnio. Inter-relao com o projeto de aplicao: Aqui, a sada a especificao dos requisitos da aplicao, compostos pelos artefatos do domnio reusveis e pelo modelo de variabilidade da aplicao derivada do modelo de variabilidade do domnio. A sada tambm composta pela avaliao dos requisitos variantes, j que estes possuem um forte impacto na arquitetura da LPS. O fluxo de informao da engenharia de requisitos da aplicao com relao aos stakeholders, pode ser percebido na Figura 9, na qual a ERA fornece um modelo de variabilidade e artefatos de requisitos do domnio comuns e variveis para os stakeholders. Estes selecionam os requisitos necessrios devolvendo-os, a ERA encaminha o esforo estimado da realizao dos requisitos variantes para os stakeholders decidirem se estes devero ser realizados ou no, ento os stakeholders comunicam a deciso ao engenheiro de aplicao.

40

Figura 9 Fluxo de informao em relao aos stakeholders Fonte: Adaptado de Pohl et. al .(2005)

A variabilidade da LPS precisa ser comunicada os stakeholders. A Figura 10 mostra um extrato de um modelo de variabilidade ortogonal. Ela apresenta os dois pontos de variao (PV), padro de segurana e autenticao. Os stakeholders esto interessados no ponto de variao autenticao. As informaes seguintes podem ser comunicadas as partes interessadas: A Linha de Produtos oferece dois mecanismos de autenticao. Exatamente um desses tem que ser selecionado: autenticao via senha ou autenticao via impresso digital. No caso da variante senha ser selecionada, o ponto de variao padro de segurana tem que ser ligado. Os interessados tem que selecionar o padro de segurana bsico ou avanado.

Figura 10 Pontos de variao padro de segurana e autenticao Fonte: Adaptado de Pohl et. al .(2005)

O resultado desta comunicao a classificao dos requisitos dos stakeholders, ou seja, a classificao dos artefatos que esto no modelo de variabilidade do domnio ou artefatos especficos.

41

Pode ocorrer um impacto nos artefatos dos requisitos na medida em que mudanas so realizadas no modelo de variabilidade de requisitos. Essas mudanas nos artefatos dos requisitos da aplicao tm que ser determinadas, isto pode acontecer com a incluso de uma variante ou um novo ponto de variao mudando o comportamento de um cenrio e tambm a partir de outras situaes. Todas as atividades descritas anteriormente tem que ser documentadas na especificao dos requisitos da aplicao que a base para outro sub-processo da engenharia de aplicao e define todos os requisitos da aplicao a serem desenvolvidos. Os itens a seguir so alguns documentos que incluem a especificao dos requisitos da aplicao: Modelo de variabilidade da aplicao; (aqui est incluso tambm o modelo de variabilidade de variao) A realizao dos artefatos dos requisitos da aplicao para as variantes selecionadas no modelo de variabilidade da aplicao; Os requisitos variantes, incluindo os traos com os artefatos de requisitos do domnio originais; 2.4.4.1. Requisitos No-Funcionais Os desenvolvedores no do a importncia necessria aos requisitos no funcionais (RNF). Os RNF so de suma importncia e crticos e deve haver um caminho para analisar e projetar esse RNF desde o incio do ciclo de vida do desenvolvimento de software. Os RNFs podem estar presentes em todos os produtos de uma LPS e que alguns produtos podem precisar utiliz-los e que outros no. Uma abordagem dever conter uma base para a engenharia de aplicao caracterizar e selecionar configuraes de produto que so satisfeitas pelos requisitos funcionais e requisitos no-funcionais (NGUYEN, 2009).
Quadro 8 Caso de uso de usabilidade em um portal de login.
Nome do Caso de Uso: Login de um Portal Web. Categoria de Reuso: Opcional. Sumrio: Pesquisadores realizam login via um web browser e o sistema verifica o nome de usurio e senha. Ator: Pesquisa de Registro. Pr-Condio: Servidor Web estar rodando e pronto para novas solicitaes. Descrio: 1. Pesquisador se conecta ao servidor atravs de um navegador web. 2. Sistema exibe a pgina de boas-vindas e prompts

42
com nome de usurio / senha. 3. Pesquisador insere nome de usurio e senha. 4. Sistema verifica nome de usurio e senha. 5. <verificao biomtrica> 6. Sistema exibe a conta do pesquisador. 7. Sistema exibe a pgina principal. 8. Sistema solicita ao pesquisador o tipo de transao. Requisitos de Usabilidade: Nome: Exibio Amigvel. Tipo do Requisito: Opcional. Nmeros da Linha: 2, 6, 7, 8. Descrio: O sistema dever oferecer uma exibio amigvel e prompts. Requisitos de Segurana: Nome: Proteo dos dados. Tipo de Requisito: Opcional. Nmeros da Linha: 1, 3, 6. Descrio: O sistema dever oferecer proteo aos dados. Ps-condio: Nome de usurio e senha do pesquisador foram verificados e uma sesso segura foi estabelecida.

Fonte: Adaptado de Nguyen, (2009).

De acordo com Nguyen (2009) a abordagem PLUS (Product Line UML-Based Software Engineering) pode cumprir com as necessidades da engenharia de aplicao porque alm de ser atrativa, funciona muito bem. Nguyen (2009) estende a abordagem tambm para os requisitos no-funcionais, o Quadro 8 exibe um caso de uso de login em conjunto com os RNFs. Para ficar mais claro o entendimento, atribudo valores que podem variar de 1 a 3 e que tem um significado para compor a descrio dos RNFs. Esses valores so atribudos de acordo com o grau de importncia dos requisitos como o exemplo a seguir: Descrio: O sistema dever oferecer uma exibio amigvel e prompts. Nvel 3. Legenda para os valores de acordo com grau de importncia: 1. Baixo 2. Mdio 3. Alto Para aprimorar ainda mais a abordagem, pode-se adicionar novos esteretipos para suportar os RNF como por exemplo: <<rnf comum>>, <<rnf opcional>>, <<rnf alternativo>> e <<rnf parametrizado>>. A Figura 11 representa o diagrama que mostra os componentes da nova abordagem PLUS integrada.

43

Figura 11 Abordagem integrada para modelagem dos RNFs. Fonte: Adaptado de Nguyen (2009).

A abordagem de Nguyen (2009) consiste da integrao, a extenso do PLUS para todas as categorias dos RNF e um mecanismo de raciocnio, a fim de proporcionar uma estrutura unificada e sistemtica para a modelagem de anlise de RNF em linha de produtos de software. 2.4.4.2. Ferramentas A modelagem e o gerenciamento de variabilidade so pr-requisitos muito importantes para a engenharia de aplicao em linha de produtos de software no processo de configurao e derivao do produto. Muitos trabalhos que abordam sobre configurao e derivao do produto no focam o suficiente em ferramentas de suporte, havendo necessidade de fornecer um suporte de ferramenta integrada tanto para a configurao do produto quanto para a engenharia de requisitos da aplicao (RABISER, 2007; ARAUJO, 2011). Muitas abordagens de linha de produtos de software so baseadas em um modelo de deciso para gerenciamento de variabilidade. Um modelo de deciso s fornece as informaes necessrias para realizar a seleo, ou seja, o modelo de deciso contm todas as decises que devem ser feitas para vir a gerar o produto final (BEUCHE, et.al. 2007). Uma grande parte das ferramentas emprega como funcionalidade o modelo de deciso para que os stakeholders o utilizem com o propsito de gerar o produto final. Beuche et.al. (2007), relata alguns fatores a serem considerados em uma ferramenta para que apoiem o gerenciamento de requisitos em linha de produtos de software. So elas: Particionamento de requisitos base em infra estrutura linha de produtos e produtos;

44

Manipulao de requisitos comuns, variveis e requisitos especficos de produtos para produtos individuais; Explicitar a representao de variabilidade na infra estrutura de linha de produtos; Suporte ao modelo de deciso; Suporte a instanciao de produto; Evoluo da instanciao; Suporte a rastreabilidade; Suporte s verses da LPS

2.4.4.3. Consideraes A engenharia de requisitos da aplicao responsvel por elicitar e documentar os artefatos dos requisitos para uma aplicao em particular e ao mesmo tempo reusar, o mximo possvel, os artefatos de requisitos do domnio. Uma ferramenta visual e interativa necessria para se beneficiar dos ganhos de produtividade e tornar o processo de engenharia de aplicao o mais eficiente possvel (BOTTERWECK, et.al. 2008). Beuche et.al. (2007) identificou inmeras variveis esto envolvidas no contexto das ferramentas que apoiam o gerenciamento de requisitos. No captulo 3 apresentada uma anlise das principais ferramentas identificadas e selecionadas a partir da reviso sistemtica de literatura que apoiam o gerenciamento de requisitos dentro da Engenharia de Requisitos da Aplicao, levando em considerao funcionalidades apoiadas pelas ferramentas.

45

CAPTULO 3: UMA ANLISE DAS FERRAMENTAS PARA MELHORIA DA ENGENHARIA DE REQUISITOS

Neste captulo, ser exposto o processo realizado para a execuo deste trabalho. Inicialmente ser descrita a pesquisa das ferramentas e as caractersticas de cada uma delas e, em seguida, sero listadas suas funcionalidades.

3.1. Critrios de Seleo das Ferramentas Logo aps a seleo dos principais trabalhos fez-se necessrio escolher critrios para seleo das ferramentas que sero avaliadas, visando alcanar o objetivo geral desta pesquisa, que focado na Engenharia de Requisitos da Aplicao. Os critrios esto descritos na prxima seo. 3.1.1. Critrios de Incluso Os critrios definidos para incluso das ferramentas encontradas para anlise: Ferramentas que apoiem a fase de Engenharia de Requisitos da Aplicao com alguma funcionalidade; Ferramentas caractersticas. Estes critrios devem estar presentes em todas as ferramentas encontradas na pesquisa, tendo em vista o grande nmero de ferramentas retornado. com a documentao de suas funcionalidades ou

3.1.2. Critrios de Excluso Os critrios definidos para a excluso das ferramentas encontradas para anlise: Ferramentas que apoiam outras fases da LPS que no a fase de Engenharia de Requisitos da Aplicao; Ferramentas sem documentao que trate de suas funcionalidades ou caractersticas. Os critrios foram aplicados aps a leitura completa da documentao ou referncia da ferramenta, quando encontrados. Nas prximas sees so apresentadas as caractersticas e funcionalidades relevantes das principais ferramentas selecionadas, de acordo com os critrios acima.

46

3.2. Averiguao das Ferramentas Nesta seo so apresentadas as ferramentas encontradas durante o processo de reviso sistemtica da literatura, em seguida atravs dos critrios de incluso e excluso sero selecionadas as ferramentas que contm funcionalidades relevantes na Engenharia de Requisitos da Aplicao. 3.2.1. Ferramentas Encontradas Aps a realizao da reviso sistemtica da literatura, foram encontradas 33 ferramentas que apoiam o processo de Engenharia de Requisitos em Linha de Produtos de Software. Uma sntese da documentao, da quantidade das ferramentas e seus respectivos nomes podem ser encontrados no Quadro 9. Atravs do Grfico 3, gerado de acordo com as informaes do Quadro 9, observa-se que a ferramenta mais citada pelos autores foi a Requiline com 4 citaes, seguida por Decimal, Pure::Variantes e Xfeature com 3 citaes, ASADAL, Configuration Wizard, Door, Gears e Project King com 2 citaes e 001, Ami Eddi, AORA, CalibeRM, Captain Feature, DARE, Decision King, Domain, DOORS extension, DOPPLER, DREAM, Feature IDE, Feature Plugin, Fmp, Holmes, IRqA, Odyssey, PLFaultCAT, Pluss toolkit, , PuLSE BEAT, Remap, ToolDay, TREAK e VISTI_FC com apenas 1 citao.

47
Quadro 9 Citaes de Ferramentas pelos Autores DEHLINGER et.al. (2007) RABISER e DHUNGANA (2007)

Autores
BEUCHE et.al. (2007)

RABISER et.al. (2007)

BOTTERWECK et.al. (2008)

LIMA JNIOR (2008)

DJEBBI et.al. (2007)

KIM et.al. (2006)

BEUCHE (2007)

Ferramentas
001 Ami Eddi AORA ASADAL CalibeRM Captain Feature Configuration Wizard DARE Decimal DecisionKing Domain Door DOORS extension DOPPLER DREAM FeatureIDE Feature Plugin Fmp GEARS Holmes IRqA Odyssey PLFaultCAT Pluss toolkit ProjectKing PuLSE-BEAT Pure::Variants Remap RequiLine ToolDay TREK VISIT_FC Xfeature


Fonte: Autor (2011)

ARAUJO (2011)

LISBOA (2008)

Qiamtodade 1 001 Ami Eddi AORA ASADAL CalibeRM CaptainFeature Configuration Wizard DARE Decimal DecisionKing Domain Door DOORS extension DOPPLER DREAM FeatureIDE Feature Plugin Fmp GEARS Holmes IRqA Odyssey PLFaultCAT Pluss toolkit ProjectKing PuLSE-BEAT Pure::Variants Remap RequiLine ToolDay TREK VISIT_FC Xfeature Grfico 3 Quantidade de Citaes das Ferramentas na Reviso Sistemtica de Literatura Fonte: Autor (2011). Quantidade 0 1 2 4

Quantidade de Citaes das Ferramentas na Reviso Sistemtica


48

49

3.2.2. Ferramentas Selecionadas Atravs do APNDICE 7, verifica-se que das 33 ferramentas identificadas durante o processo de reviso sistemtica da literatura, 23 apoiam a fase de engenharia de requisitos da aplicao, e sero analisadas.

Quantidade de Ferramentas que Apiam a ERA

11 Ferramentas que apiam a ERA Outras Ferramentas 22

Grfico 4 Quantidade de Ferramentas que Apoiam a ERA Fonte: APNDICE 7.

3.2.3. Funcionalidade das Ferramentas Nesta seo sero descritas as funcionalidades selecionadas dos trabalhos identificados na reviso sistemtica de literatura para anlise desta pesquisa. Vale salientar que todas as 23 ferramentas apoiam o gerenciamento de requisitos da aplicao. As funcionalidades selecionadas por este estudo foram escolhidas aps a leitura completa dos trabalhos identificados durante a reviso sistemtica de literatura. Identificao de Features Comuns e Variveis: Oferecendo uma maneira automtica e sistemtica para identificar features comuns e variveis. Identificao de Features Atravs dos RNF: Identificao automtica de informaes existentes do catlogo de requisitos no-funcionais

correspondente. Relao entre Caractersticas e Requisitos: Relata a existncia de features de um domnio para os requisitos (funcionais ou no-funcionais), e/ou casos

50

de uso definidos. Atravs desta relao possvel manter a rastreabilidade entre os artefatos produzidos no domnio. Capacidade de Gerenciar os Requisitos na Derivao: Usurios

necessitam capturar requisitos especficos do produto decorrente da derivao; Suporte para os Requisitos Especficos do Produto Relacionados com a Variabilidade Existente: Relaes entre os requisitos especficos do produto e a disponibilidade das features da linha de produto so importantes para apoiar a evoluo da linha de produto. Engenheiros devero estar disponveis para analisar os novos requisitos e decidir se eles devero se tornar parte da linha de produto no futuro; Vises Grficas dos Requisitos: Implementao de vrias tcnicas de visualizao e interao que pode ajudar os stakeholders no processo de configurao do produto em uma LPS. Apoiar o Planejamento para a Evoluo da LPS: Os novos requisitos, comentrios dos clientes e as experincias dos usurios durante a derivao do produto necessitam serem considerados quanto a manuteno e evoluo da linha de produtos de software. Derivao do Produto: Identifica as features que pertencem a um produto de acordo com as features definidas no domnio. Emisso de Relatrios: Gerao de relatrios a partir de informaes disponveis no domnio. Os relatrios podem representar, por exemplo, o nmero de combinaes possveis; a freqncia que uma feature aparece em um produto; a documentao dos artefatos. Documentao do Produto: Apresenta uma documentao para todo produto com informaes como: descrio do produto e verso do domnio. Suporte a tomada de decises para pessoas no tcnicas: A ferramenta permite anexar material de apoio como imagens, arquivos de udio e/ou vdeos para ajudar pessoas no tcnicas para tomar decises em diferentes fases da derivao do produto.

O Quadro 10, a seguir, mostra as ferramentas selecionadas e as funcionalidades de cada uma delas.

001

TREK

AORA

Remap

Holmes

GEARS

Decimal

ToolDay

Xfeature Funcionalidades
Identificao de Features Comuns e Variveis Identificao de Features Atravs dos RNF

ASADAL

Ami Eddi

VISIT_FC
Relao entre Caractersticas e Requisitos

RequiLine

DOPPLER

FeatureIDE

ProjectKing

Pluss toolkit

PLFaultCAT

Ferramentas

Pure::Variants

Feature Plugin

Captain Feature

Configuration Wizard

Quadro 10 Ferramentas e suas funcionalidades

Fonte: Autor (2011)

Gerenciamento de Requisitos na Derivao Gerenc. de Requisitos Esp. Relacionados a Variabilidade

Vises Grficas dos Requisitos Apoiar o Planejamento para a Evoluo da LPS

Derivao do Produto

Emisso de Relatrios Documentao do Produto

51

Suporte a tomada de decises para pessoas no tcnicas

52

3.2.4. Resultados da Pesquisa Atravs do Grfico 5, pode-se observar que as funcionalidades Identificao de Features Comuns e Variveis e Gerenciamento de Requisitos na Derivao esto presentes nas 22 ferramentas e a funcionalidade Derivao do Produto est presente em quase todas, totalizando 18 ferramentas. As trs funcionalidades so essenciais em ferramentas de engenharia de requisitos da aplicao, pois sem elas no h razo de construir uma ferramenta que apoie a ERA. Tambm possvel identificar que as ferramentas no apoiam muito a Identificao de RNF, apenas 2 ferramentas oferecem este recurso, alm do mais os RNF so de suma importncia e deve haver um caminho para analisar e projetar esses requisitos desde o incio do ciclo de vida do desenvolvimento de software (NGUYEN, 2009). Em seguida, esto as funcionalidades Relao entre Caractersticas e Requisitos e Suporte a Tomada de Decises para Pessoas No Tcnicas suportadas por 3 ferramentas cada. Logo aps, Evoluo da LPS e Documentao do Produto com 4 ferramentas, Gerenciamento de Requisitos Especiais e Emisso de Relatrios disponveis em 6 ferramentas e Vises Grficas dos Requisitos presente em 11 ferramentas. Assim, toda ferramenta que deseje apoiar efetivamente a fase de engenharia de requisitos da aplicao em uma linha de produtos de software deve possuir as trs funcionalidades acima, j que esto presentes em quase todas as ferramentas e so essenciais para a construo de uma ferramenta que apoie a ERA. Baseado no Grfico 5 visvel que ainda h muitas funcionalidades que so apoiadas por poucas ferramentas. Assim, existe uma lacuna a ser preenchida pelas ferramentas no processo de engenharia de requisitos da aplicao, porque h funcionalidades que esto presentes em poucas ferramentas. A falta de uma ferramenta com um alto nmero de funcionalidades implica no grau de adoo de ferramentas por empresas, porque pode for-los a usar vrias ferramentas ao mesmo tempo, uma para cada funcionalidade. Este cenrio deve ser

53

evitado, uma vez que, as chances de ocasionar um erro so muito maiores (LISBOA, 2008).

Nmero de Ferramentas por Funcionalidades


24 22 20 18 16 14 12 10 8 6 4 2 0 22 22 18

11 6 2 3 4 6 4 3

Grfico 5 Nmero de Ferramentas por Funcionalidades Fonte: Autor (2011).

3.2.5. Descrio das Principais Ferramentas Nesta seo, sero descritas trs principais ferramentas que apoiam a fase de engenharia de requisitos da aplicao. Com o propsito de selecionar estas ferramentas, foi estabelecido um critrio de seleo, este critrio consiste na seleo de ferramentas com maior nmero de funcionalidades. O Grfico 6 representa o nmero de funcionalidades por ferramenta.

54

Nmero de Funcionalidades por Ferramenta


8 7 6 5 4 3 2 1 0 7 6 5 3 5 4 5 4 4 4 4 6 5 5 4 4 3 2 4 6 6 5

Grfico 6 Nmero de Funcionalidades por Ferramenta Fonte: Autor (2011).

Atravs da anlise do Grfico 6, destacado que a ferramenta com o maior nmero de funcionalidades a Configuration Wizard com 7 funcionalidades, seguida por AORA, DOPPLER, RequiLine e Toolday com 6 funcionalidades cada. Um segundo critrio foi necessrio devido ao empate na quantidade de funcionalidades das ferramentas AORA, DOPPLER, RequiLine e Toolday. O critrio escolhido foi a seleo de duas ferramentas entre as quatro que foram desenvolvidas mais recentemente, j que subentende-se que pelo motivo de serem mais recentes, as funcionalidades presentes nestas ferramentas podero oferecer um melhor suporte comparado as outras duas. Analisando o APNDICE 7, identifica-se estas duas ferramentas, que so a DOPPLER e a ToolDay, portanto as ferramentas a serem descritas nesta seo so a Configuration Wizard, DOPPLER e ToolDay. 3.2.5.1. Configuration Wizard Configuration Wizard uma ferramenta que foi desenvolvida para apoiar a configurao do produto e a engenharia de requisitos. A seguir, so descritas as caractersticas das ferramentas, de acordo com Rabiser e Dhungana (2007): Customizao do Produto Nesta fase, todas as decises dentro da responsabilidade de um usurio so mostradas em formas de perguntas.

55

Captura de Requisitos e Documentao Neste ponto, a ferramenta permite a captura de requisitos que ainda no esto sendo abrangidos pela linha de produtos. Com o projeto concludo, o novo modelo de variabilidade pode ser exportado para o suporte evoluo da linha de produto.

Gerao de Configurao Baseado na lista de ativos selecionados para o produto final, o Configuration Wizard permite a gerao da configurao do produto inicial.

A ferramenta tambm permite o planejamento dos ativos a serem desenvolvidos e a exportao do modelo de variabilidade contendo os novos ativos. Essas caractersticas facilitam a engenharia de requisitos da aplicao tornando-se essencial fornecer maneiras fceis de captar os desejos dos clientes e requisitos adicionais durante a derivao do produto. Uma questo chave para a captura de requisitos o entendimento do modelo de variabilidade durante a derivao do produto.

3.2.5.2. DOPPLER As atividades realizadas pela ferramenta DOPPLER esto retratadas na Figura 12, e uma descrio destas atividades nos tpicos enumerados de 1 a 6 (RABISER e DHUNGANA (2007).

1. Adaptao do Modelo de Variabilidade e Vendas na Aquisio do Conhecimento Adaptao e aumento do modelo de variabilidade, excluindo partes irrelevantes e adicionando mais conhecimento. A sada para esta atividade chamada de modelo de derivao. 2. Configurao de Produtos e Simulao O mapeamento das decises de derivao de produto com o modelo de variao permite a seleo automtica dos ativos requeridos. Os ativos requeridos selecionados podem ser usados para a simulao do produto. 3. Elicitao e Negociao de Requisitos Baseado nos resultados das fases anteriores deve-se aqui elicitar e documentar os desejos adicionais dos clientes e os requisitos. 4. Desenvolvimento do Produto Aqui os requisitos capturados na fase anterior so desenvolvidos.

56

5. Implantao do Produto Nesta fase, ocorre a implantao do produto. A documentao dos produtos gerados pode reduzir os esforos de implantao. 6. Evoluo da Linha de Produtos Nesta fase final, os engenheiros analisam os ativos desenvolvidos e/ou adaptados recentemente para serem includos na linha de produtos.

Figura 12: Atividades da Ferramenta DOPPLER Fonte: Adaptado de Rabiser (2007).

3.2.5.3. ToolDay A ferramenta ToolDay desenvolvida por Lisboa (2008) uma ferramenta de anlise de domnio mas que tambm incorpora funcionalidades que ajuda no processo de Engenharia de Requisitos da Aplicao. A fase de derivao do produto inclui passos como a seleo das features do produto para modelar e documentar o produto, Figura 13.

57

Figura 13: Fluxo de execuo da ferramenta ToolDay Fonte: Adaptado de Lisboa (2008).

Para a seleo das features do produto, a ferramenta ToolDay oferece uma viso em formato de rvore do domnio modelado com checkboxes alm dos nomes das features. Desta maneira, os usurios visualizam a hierarquia de domnio completa, facilitando a seleo do produto. Isto tambm necessrio para validar se a seleo do produto est correta de acordo com regras de consistncia. Alm da composio de regras criadas pelos usurios, as regras de consistncia dos produtos tambm incluem: Seleo de mais de uma feature alternativa em um grupo; No selecionar pelo menos uma feature em um grupo; No selecionar uma feature obrigatria na derivao do produto; No selecionar features implcitas; Seleo de features de excluso mtua. No modelo de feature do produto, o usurio pode incluir novas features, que so geralmente as features que esto fora do escopo do mapa do produto. Alm do mais, todas as features que foram documentadas, includas no domnio e tiveram

58

seus atributos inclusos no modelo de feature do domnio, sero mantidas no modelo do produto para gerar o software final. Contudo, o usurio pode mud-las como queira. A documentao do produto consiste somente de: Verso do domnio: Identifica a verso do domnio em que o produto se baseia. Isto necessrio porque o domnio pode evoluir enquanto o produto no. Descrio: Determina em que parte do domnio o produto focado.

3.3. Proposta de Melhoria Ainda analisando o Grfico 5, identifica-se que 63% das funcionalidades ou exatamente 7 funcionalidades esto presentes em menos de 50% das ferramentas, so elas: identificao de requisitos no funcionais, caractersticas e requisitos, requisitos especiais, evoluo da LPS, emisso de relatrios, documentao do produto e pessoas no tcnicas, sendo o caso mais crtico a funcionalidade identificao de requisitos no funcionais que apoiada por apenas 2 ferramentas. Portanto, fica visvel uma lacuna nas ferramentas a ser preenchida por essas funcionalidades e a oportunidade de realizar melhorias nessas ferramentas com o propsito de aperfeioar todo o processo de engenharia de requisitos da aplicao conforme suas necessidades. Por conseguinte, baseado nesta lacuna e na oportunidade de melhorias, encontra-se no Quadro 11 um conjunto de funcionalidades que foram indicadas a partir da necessidade da Engenharia de Requisitos da Aplicao aps a leitura dos artigos selecionados na reviso sistemtica de literatura e que devem ser levadas em considerao no desenvolvimento de uma ferramenta que apoie o processo de ERA j que os autores indicados no Quadro 11 disseram sentir falta dessas funcionalidades nas ferramentas.

59

Quadro 11 Funcionalidades Propostas Funcionalidade Gerenciamento de Produto Descrio A ferramenta dever apoiar o gerenciamento de produto oferecendo informaes sobre dependncias entre as caractersticas. A coordenao do produto, do projeto e o gerenciamento de requisitos so necessrios para gerir eficazmente a variabilidade nos requisitos. Gerao de Documentao Todas as mudanas dos requisitos devero ser rastreadas; Todos os objetos gerenciados na ferramenta devem ser versionados; Dever haver uma distino entre as verses maiores e menores em relao aos objetos. Autor
ARAUJO (2011) BEUCHE et.al. (2007) DJEBBI et.al. (2007) LISBOA (2008)

Gerenciamento de Projetos

BEUCHE et.al. (2007) LISBOA (2008)

BEUCHE et.al. (2007) DJEBBI et.al. (2007) LIMA JNIOR (2008) LISBOA (2008) RABISER e DHUNGANA (2007) RABISER et.al. (2010)

Rica Representao Grfica

A ferramenta deve apresentar uma rica representao prtica, interface amigvel, representao concisa grfica e navegao dos traos (matrizes, rvores ou grficos). Definio de visualizao especfica de usurio; Disponibilidade de diagramas grficos; Configurao e controle baseado em regras das visualizaes; Modificao de visualizao no decorrer de um projeto;

BEUCHE et.al. (2007) BOTTERWECK et.al. (2008) KIM, et.al. (2006) RABISER et.al. (2010)

Visualizaes para o Usurio

BEUCHE et.al. (2007) BOTTERWECK et.al. (2008) KIM, et.al. (2006)

Modelo de Informao

A ferramenta dever apoiar multi projetos e multi produtos no modelo de informao de gerenciamento de requisitos e tambm apoiar mecanismos de variabilidade. Ferramentas devem gerenciar usurios, seus papis e responsabilidades no que diz respeito resoluo de variabilidade disponvel. Tambm deve oferecer informaes sobre o status e progresso de mltiplos projetos e mltiplos produtos. A Variabilidade dever ser mostrada aos stakeholders atravs de uma forma interativa oferecendo um feedback instantneo nas escolhas dos usurios. Uma ferramenta de derivao do produto dever ser adaptvel as especificidades de diferentes domnios e/ou organizaes. Uma ferramenta necessria para seleo e customizao dos produtos a fim de resolver a variabilidade.

BEUCHE et.al. (2007)

Suporte ao Gerenciamento de Projeto

RABISER et.al. (2010)

Interatividade e Automao

BOTTERWECK et.al. (2008) KIM, et.al. (2006) RABISER et.al. (2010) RABISER e DHUNGANA (2007) RABISER et.al. (2010) DEHLINGER et.al. (2007) KIM et.al. (2006) LISBOA (2008) RABISER e DHUNGANA (2007) RABISER et.al. (2010)

Flexibilidade e Adaptabilidade

Resoluo de Variabilidade

60

Uma ferramenta de derivao do produto deve levar em conta as necessidades especficas de diferentes especialistas de domnio. Suporte para Especialista de Domnio

ARAUJO (2011) BEUCHE et.al. (2007) BOTTERWECK et.al. (2008) DJEBBI et.al. (2007) KIM et.al. (2006) LIMA JNIOR (2008) RABISER e DHUNGANA (2007) RABISER et.al. (2010) BEUCHE et.al. (2007) RABISER et.al. (2010)

Ferramentas de Integrao

A ferramenta deve ter interfaces abertas para outras ferramentas utilizadas no processo de desenvolvimento e tornar as informaes armazenadas nelas visveis e ligveis. Fonte: Autor (2011)

61

CAPTULO 4 CONSIDERAES FINAIS

No captulo 1 foi apresentada a justificativa da pesquisa, os objetivos geral e especficos (todos foram alcanados), a relevncia do estudo, a metodologia seguida na pesquisa e a estrutura do trabalho. No captulo 2 foi apresentada a reviso sistemtica da literatura, no qual foram encontrados 18 trabalhos que tratavam sobre Engenharia de Requisitos da Aplicao em Linha de Produtos de Software oriundos da reviso sistemtica. A fim de responder a seguinte questo: Como as ferramentas auxiliam a melhoria do processo de engenharia de requisitos da aplicao em linhas de produto de software? Ainda no captulo 2, foram apresentados alguns conceitos importantes para compreenso do funcionamento de uma LPS, como: gerenciamento de

comunalidades e variabilidades; artefatos; features; dentre outros. Tambm foram apresentados os principais processos de uma LPS que so: a Engenharia de Domnio e Engenharia de Aplicao e o processo de Engenharia de Requisitos da Aplicao no qual est inserido no objetivo geral deste trabalho. No Captulo 3 foi apresentado uma anlise das principais ferramentas que apoiam o processo de ERA em LPS e tambm indicado um conjunto de funcionalidades para serem consideradas nestas ferramentas e no desenvolvimento de ferramentas futuras com o propsito de melhorar o processo da ERA. Atravs da reviso sistemtica de literatura, foi possvel identificar e selecionar ferramentas a partir de critrios estabelecidos. Ao todo, foram identificadas 33 ferramentas que apoiam alguma fase da engenharia de requisitos em linha de produtos de software. A partir desta identificao, foram selecionadas ferramentas que apoiam a fase de Engenharia de Requisitos da Aplicao, totalizando 22 ferramentas. Depois de selecionar as 22 ferramentas, foi construdo um quadro com o mapeamento das funcionalidades por cada ferramenta. Neste quadro possvel identificar uma lacuna de funcionalidades nas ferramentas, portanto, baseado nesta lacuna e na oportunidade de melhorias identificadas a partir da leitura dos trabalhos selecionados na reviso sistemtica de literatura foi indicado um conjunto de funcionalidades a partir da necessidade da Engenharia de Requisitos da Aplicao.

62

4.1. Limitaes do Trabalho Uma das grandes limitaes enfrentadas durante o desenvolvimento deste trabalho foi a dificuldade de encontrar trabalhos que tratem efetivamente da Engenharia de Requisitos da Aplicao em LPS, visto que a grande maioria dos trabalhos tratam exclusivamente da Engenharia de Domnio. Outra dificuldade foi a quantidade de ferramentas. Mesmo com um nmero alto de ferramentas encontradas, estas no apoiam exclusivamente a ERA, tambm apoiando a ERD.

4.2. Contribuies As principais contribuies deste trabalho so: Uma seleo das principais ferramentas que apoiam a Engenharia de Requisitos da Aplicao; A construo de um quadro para o mapeamento das funcionalidades das ferramentas selecionadas; Auxiliar nas decises futuras de acadmicos e empresas na escolha de uma ferramenta que auxilie o processo de ERA em LPS; Reviso Sistemtica atualizada sobre ERA em LPS; Construo de um quadro com as funcionalidades propostas.

4.3. Trabalhos Futuros Trabalhos futuros decorrente desta pesquisa: A construo de uma ferramenta que atenda as necessidades identificadas durante a pesquisa; Aplicar o presente trabalho para outros processos de uma LPS, como testes, arquitetura, tanto na Engenharia de Domnio quanto na Engenharia de Aplicao.

63

REFERNCIAS

ALVES, Vander. et.al. Requirements engineering for software product lines- A systematic literature review. Information and Software Technology, v. 52, p. 806820, 2010. ANDRADE, Maria Margarida de. Introduo metodologia do trabalho cientifco: elaborao de trabalhos na graduao. 7. ed. So Paulo: Atlas, 2006. ANTMAN, E. M.; LAU, J.; KUPELNICK, B.; MOSTELLER F.; CHALMERS, T.C. A comparison of results of meta-analyses of randomized control trials and recommendations of clinical experts: Treatments for myocardial infarction. JAMA, p. 240-248, 1992. ARAUJO, Joo; VARELA, Patrcia; BRITO, Isabel; MOREIRA, Ana. AspectOriented Analysis for Software Product Lines Requirements Engineering. ACM, 2011. BEUCHE, Danilo. et.al. Using Requirements Management Tools in Software Product Line Engineering - The State of the Practice. International Software Product Line Conference, 2007. BIOLCHINI, Jorge; MIAN, Paula Gomes; NATALI, Ana Candida Cruz; TRAVASSOS, Guilherme Horta. Systematic Review in Software Engineering. Technical Report. PESC COPPE/UFRJ, 2005. BOTTERWECK, G.; Thiel, S.; NESTOR, D.; SAAD, bin A.; CAWLEY C.; Visual Tool Support for Configuring and Understanding Software Product Lines, Lero, The Irish Software Engineering Research Centre, 2008. CZARNECKI, K., HELSEN, S. e EISENECKER, U.. Formalizing cardinality-based feature models and their specialization. Software Process Improvement and Practice, 10(1):729, jan/mar 2005.

DEHLINGER, Josh. et.al. DECIMAL and PLFaultCAT- From Product-Line Requirements to Product-Line Member Software Fault Trees. International Conference on Software Engineering, 2007.

64

DJEBBI, Olfa. et.al. Industry Survey of Product Lines Management Tools Requirements, Qualities and Open Issues. International Requirements

Engineering Conference, 2007. DONEGAN, Paula Marques. Gerao de Famlias de Produtos de Software com Arquitetura Baseada em Componentes. Dissertao (Mestrado em Cincias da Computao e Matemtica Computacional) Universidade de So Paulo So Carlos, 2008. DYBA, T.; KITCHENHAM, B. A.; JORGENSEN, M. Evidence-Based Software Engineering For Practitioners. Ieee Transactions On Software Engineering, V. 22, N. 1, P. 58-65, 2005. FRANCA, Luiz; STAA, Arndt. Uma Arquitetura Aberta para Geradores de Artefatos. Simpsio Brasileiro de Engenharia de Software, 2002. GIL, Antnio Carlos. Como elaborar projetos de pesquisa. 3. ed. So Paulo: Atlas, 159 p., 1996. HALIM, Shahliza, NORHAYATI, Dayang; DERIS, Jawawi. Requirements

Identification and Representation in Software Product Line. Asia-Pacific Software Engineering Conference, 2009. JUNG, Carlos Fernando. Metodologia para pesquisa e desenvolvimento: aplicada a novas tecnologias, produtos e processos. Rio de Janeiro: Axcel Books do Brasil, 2004. KIM, Kyungseok. et.al. ASADAL: A Tool System for Co-Development of

Software and Test Environment based on Product Line Engineering. ACM, 2006. KITCHENHAM, B. A.; DYBA, T.; JORGENSEN, M. Evidence-based Software Engineering. Proceedings of the 26th International Conference on Software Engineering (ICSE'04), p. 273-281, 2004. KOTONYA, G. and SOMMERVILLE, I. Requirements Engineering: Processes and Techniques. John Wiley & Sons, Inc. New York, NY, USA (1998).

65

KRUT, R.B. Integrating 001 Tool Support into the Feature-Oriented Domain Analysis Methodology. Technical Report CMU/SEI-93-TR-11, 1993.

LIMA JNIOR, Rogrio. Comparao entre Ferramentas para Linha de Produtos de Software. Recife. Trabalho de Concluso de Curso (Engenharia da Computao), Universidade de Pernambuco. Recife, PE (2008).

LISBOA, Liana. ToolDAy - A Tool for Domain Analysis. Recife. Dissertao (Cincia da Computao), Universidade Federal de Pernambuco Centro de Informtica. Recife, PE (2008). LITTELL J. H.; CORCORAN J.; PILLAI, V. Systematic Reviews and Meta-analysis. USA: Oxford University Press, 2008. MAFRA, S.N., TRAVASSOS, G.H. Estudos Primrios e Secundrios Apoiando a Busca por Evidncia em Engenharia de Software, Relatrio Tcnico ES-687/06. COPPE/UFRJ. Rio de Janeiro: Brasil, 2006. MELLADO, Daniel. et.al. Security requirements engineering framework for software product lines. Information and Software Technology, v. 52, p. 1094-1117, 2010. MIAN, P.; CONTE, T.; NATALI, A.; BIOLCHINI, J.; MENDES, E.; TRAVASSOS, G. H. Lessons Learned On Applying Systematic Reviews To Software Engineering. 3rd International Workshop Guidelines For Empirical Work In the Workshop Series On Empirical Software Engineering (Wsese), 2005. NEIVA, D.F.S., RiPLE-RE: A Requirements Engineering Process for Software Product Lines, M.Sc. Dissertao, Universidade Federal de Pernambuco, Brasil, 2009. NGUYEN, Quyen. Non-Functional Requirements Analysis Modeling for Software Product Lines. IEEE Computer Society, 2009. PAI, M.; MCCULLOCH, M.; GORMAN, J.; PAI, N.; ENANORIA, W.; KENNEDY, G.; THARYAN, P.; COLFORD JR., J. Systematic reviews and meta-analyses: An

66

illustrated step-by-step guide. The National Medical Journal of India, v. 17, n. 2, p. 86-95, 2004. POHL, Klaus.; BCKLE, Gunter.; VAN DER LINDEN, Frank.: Software Product Line Engineering Foundations, Principles, and Techniques. Springer, Heidelberg 2005.

QUEIROZ, Paulo Gabriel Gadelha. Uma abordagem de desenvolvimento de linha de produtos com uma arquitetura orientada a servios. Dissertao (Mestrado em Cincias da Computao e Matemtica Computacional) Universidade de So Paulo, So Paulo, 2009.

RABISER, Rick. et.al. Involving Non-Technicians in Product Derivation and Requirements Engineering - A Tool Suit for Product Line Engineering. International Requirements Engineering Conference, 2007. RABISER, Rick; DHUNGANA, Deepak. Integrated Support for Product

Configuration and Requirements Engineering in Product Derivation. ACM, 2007 RABISER, Rick; GRUNBACHER, Paul; DHUNGANA, Deepak. Requirements for product derivation support - Results from a systematic literature review and an expert survey. Information and Software Technology, v. 52, p. 324-346, 2010. SAMPAIO, R.F; MANCINI, M.C. Estudos de Reviso Sistemtica: Um guia para sntese criteriosa da evidncia cientfica. Revista Brasileira de Fisioterapia. So Carlos, 2007. SCHMID, Klaus; KRENNERICH, Karsten; EISENBARTH, Michael. Requirements Management for Product Lines - Extending Professional Tools. Software Product Line Conference, 2006. SILVA, C. R. O. Metodologia e Organizao do projeto de pesquisa. Fortaleza, 34 p., 2004. SILVA, C.; BORBA, C.; CASTRO, J. G2SPL: Um Processo de Engenharia de Requisitos Orientada a Objetivos para Linhas de Produtos de Software. 13th Workshop on Requirements, 2010.

67

SOMMERVILLE, I. Software Engineering. Addison-Wesley, 8th edition (2006). SOUSA, M. R.; RIBEIRO, A. L. P. Systematic Review And Meta-Analysis Of Diagnostic And Prognostic Studies: A Tutorial. Arquivo Brasileiro de Cardiologia, V. 92, N. 3, P. 241-251, 2009. SOUZA, G.G.; CASTRO, J.; SILVA, C. Uma Abordagem de Engenharia de Requisitos para Linhas de Produtos de Software, 2010. TEIXEIRA FILHO, J. G. A. MMPE-SI/TI (Gov) - Modelo de Maturidade para Planejamento Estratgico de SI/TI direcionado s Organizaes

Governamentais Brasileiras baseado em Melhores Prticas . 2010. Tese (Doutorado em Cincias da Computao) Universidade Federal de Pernambuco (UFPE), Recife, 2010. TEIXEIRA LOPES, L. Um Modelo de Processo de Engenharia de Requisitos para Ambientes de Desenvolvimento Distribudo de Software. 2004. Dissertao (Mestrado em Cincias da Computao) Universidade Catlica do Rio Grande do Sul (PUCRS), Porto Alegre, 2004.

68

APNDICES

69

APNDICES APNDICE 1 FORMULRIO DE CONDUO DA REVISO....................... 71

APNDICE 2 FORMULRIO DE APROVAO DOS TRABALHOS............. 71 APNDICE 3 FICHA DE TESTE PILOTO...................................................... APNDICE 4 FICHA DE CRTICAS DO AVALIADOR................................... 72 72

APNDICE 5 FORMULRIO DE RESUMO DE TRABALHO......................... 73 APNDICE 6 - TABELA COM TODOS OS TRABALHOS IDENTIFICADOS MEDIANTE A REVISO SISTEMTICA DA LITERATURA.............................. 73 APNDICE 7 - NOME DAS FERRAMENTAS, ANO E SE SUPORTA A FASE DE ERA.............................................................................................................. 79

70

APNDICE 1 FORMULRIO DE CONDUO DA REVISO


FORMULRIO DE CONDUO DA REVISO (FCR) Data da reviso: Fonte de realizao da busca: Strings utilizadas que retornaram resultados: Legenda: Situao: S (Selecionado) / D (Descartado) Ano Trabalho Tipo Referncia Etapa da seleo:

Fonte

Sit.

Resumo:

APNDICE 2 FORMULRIO DE APROVAO DOS TRABALHOS


FORMULRIO DE APROVAO DOS TRABALHOS (FAT) Tipo Referncia Fonte

Ano

Trabalho

Resumo:

71

APNDICE 3 FICHA DE TESTE-PILOTO


FICHA DE TESTE PILOTO (FTP) Responsvel: O protocolo j foi avaliado por especialistas? Caso o protocolo j tenha sido avaliado, em qual verso ocorreu essa avaliao? Verso O teste piloto foi aplicado com todos os passos descritos no protocolo? Caso o teste piloto no tenha aplicado todos os passos, descrever os que foram. Comentrios Todas as Strings de busca foram utilizadas para o teste? Caso no tenham sido utilizadas todas as Strings propostas, descrever as que foram. Comentrios As Strings de busca propostas, inclusive em sua estrutura, foram aceitas por todos os sites? Dentre as fontes testadas, alguma apresentou problemas? Descreva quais os problemas encontrados. Comentrios Dentre as Strings testadas, alguma apresentou problemas? Caso tenha encontrado algum problema com as Strings de busca nas fontes selecionadas, relatar a seguir. Comentrios Todas as Strings de busca retornaram resultados condizentes com o que foi inicialmente proposto pela pesquisa? Comentrios Dentre as etapas de seleo dos trabalhos, houve alguma que apresentou dificuldades no momento da aplicao? Comentrios Nmero do teste SIM NO

SIM

NO

SIM

NO

SIM SIM

NO NO

SIM

NO

SIM

NO

SIM

NO

APNDICE 4 FICHA DE CRTICAS DO AVALIADOR


FICHA DE CRTICAS DO AVALIADOR (FCA) Avaliador: Comentrios:

72

APNDICE 5 FORMULRIO DE RESUMO DE TRABALHO


FORMULRIO DE RESUMO DE TRABALHO (FRT) Incio da leitura Ttulo do trabalho: Objetivo geral do trabalho: Fim do resumo Tempo total (dias) N resumo

Resumo da metodologia aplicada ao trabalho:

Resultados gerais do trabalho:

Informaes adicionais:

APNDICE 6 TABELA COM TODOS OS TRABALHOS IDENTIFICADOS MEDIANTE A REVISO SISTEMTICA DA LITERATURA
TRABALHOS INICIALMENTE IDENTIFICADOS Legenda: Situao: S (Selecionado) / D (Descartado) Ano Trabalho Tipo Referncia Aspect-Oriented ARAUJO, Joo; VARELA, Patrcia; Analysis for Software BRITO, Isabel; MOREIRA, Ana. 2011 Product Lines Aspect-Oriented Analysis for Artigo Requirements Software Product Lines Engineering Requirements Engineering. ACM, 2011. Concept Analysis for NIU, Nan; EASTERBROOK, Steve. 2009 Product Line Artigo Concept Analysis for Product Line Requirements Requirements. ACM, 2009. Detecting Feature ALFREZ, Mauricio. et.al. Detecting Interaction in SPL Feature Interaction in SPL 2009 Artigo Requirements Requirements Analysis Models. Analysis Models ACM, 2009. Non-Functional NGUYEN, Quyen. Non-Functional 2009 Requirements Artigo Requirements Analysis Modeling Analysis Modeling for for Software Product Lines. IEEE

Fonte

Sit.

ACM

ACM

ACM

ACM

73

2006

2010

2007

Software Product Lines ASADAL: A Tool System for CoDevelopment of Software and Test Environment based on Product Line Engineering Assessment of Product Derivation Tools in the Evolution of Software Product Lines: An Empirical Study Integrated Tool Support for Software Product Line Engineering ISA Packager: a tool for SPL deployment

Computer Society, 2009. KIM, Kyungseok. et.al. ASADAL: A Tool System for Co-Development of Software and Test Environment based on Product Line Engineering. ACM, 2006.

Artigo

ACM

Artigo

TORRES, Mrio. et.al. Assessment of Product Derivation Tools in the Evolution of Software Product Lines: An Empirical Study. ACM, 2010. DHUNGANA, Deepak; RABISER, Rick; GRUNBACHER, Paul; NEUMAYER, Thomas. Integrated Tool Support for Software Product Line Engineering. ACM, 2007. GARCA-GALAN, Jesus; TRINIDAD, Pablo; RUIZ-CORTS, Antonio. ISA Packager: a tool for SPL deployment. ACM, 2011. HOLL, Gerald. et.al. Product Line Bundles for Tool Support in Multi Product Lines. ACM, 2011. SOARES, Srgio. et.al. Supporting Software Product Lines Development: FLiP Product Line Derivation Tool. ACM, 2008. RABISER, Rick; DHUNGANA, Deepak. Integrated Support for Product Configuration and Requirements Engineering in Product Derivation. ACM, 2007. PEREIRA JUNIOR, Carlos. Gerao de aplicaes para linhas de produtos orientadas a aspectos com apoio da ferramenta CaptorAO. So Carlos, 2008. Dissertao (Cincias de Computao e Matemtica Computacional), Universidade de So Paulo Instituto Cincias Matemticas e de Computao. So Carlos, SP. CIRILO, Elder. GenArch: Uma Ferramenta Baseada em Modelos para Derivao de Produtos de Software. Juiz de Fora, 2008. Dissertao (Programa de Ps Graduao em Informtica), Universidade Federal de Juiz de Fora Departamento de Informtica. Juiz de Fora, RJ. NEIVA, D.F.S., RiPLE-RE: A Requirements Engineering Process for Software Product Lines, M.Sc. Dissertao, Universidade Federal

ACM

Artigo

ACM

2011

Artigo

ACM

2011

2008

2007

2008

Product Line Bundles for Tool Support in Multi Product Lines Supporting Software Product Lines Development: FLiP Product Line Derivation Tool Integrated Support for Product Configuration and Requirements Engineering in Product Derivation Gerao de aplicaes para linhas de produtos orientadas a aspectos com apoio da ferramenta CaptorAO

Artigo

ACM

Artigo

ACM

Artigo

ACM

Disserta o

BDTD

2008

GenArch: Uma Ferramenta Baseada em Modelos para Derivao de Produtos de Software

Disserta o

BDTD

2009

RiPLE-RE: A Requirements Engineering Process for Software Product

Disserta o

BDTD

74

2008

Lines Comparao entre Ferramentas para Linha de Produtos de Software

Trabalho de Conclus o

2006

2007

Fnix: Uma Ferramenta para Automatizar o Processo de Linha de Produtos de Software no Domnio de Gesto de Fomento Gerao de Famlias de Produtos de Software com Arquitetura Baseada em Componentes

Artigo

Disserta o

2010

O Enfoque de Linha de Produto para Desenvolvimento de Software Titan Platform: Uma Plataforma de Desenvolvimento de WebApps Utilizando o Titan Framework Uma Abordagem de Engenharia de Requisitos Para Linhas de Produtos de Software Uma Abordagem Orientada a Objetivos para as Fases de Requisitos de Linhas de Produto de Software

Artigo

Artigo

Artigo

2009

Disserta o

2002

Uma Arquitetura Aberta para Geradores de Artefatos Utilizao Sistemas Crticos Atividades Engenharia Domnio e Aplicaes de nas de de de

Artigo

2001

Artigo

de Pernambuco, Brasil, 2009. LIMA JNIOR, Rogrio. Comparao entre Ferramentas para Linha de Produtos de Software. Recife, 2008. Trabalho de Concluso de Curso (Engenharia da Computao), Universidade de Pernambuco. Recife, PE. CARROMEU, Camilo; TURINE, Marcelo. Fnix: Uma Ferramenta para Automatizar o Processo de Linha de Produtos de Software no Domnio de Gesto de Fomento. Seminrio Integrado de Software e Hardware, 2006. DONEGAN, Paula. Gerao de Famlias de Produtos de Software com Arquitetura Baseada em Componentes. So Carlos, 2007. Dissertao (Cincias de Computao e Matemtica Computacional), Universidade de So Paulo Instituto de Cincias Matemticas e de Computao. So Carlos, SP. GIMENES, Itana; TRAVASSOS, Guilherme. O Enfoque de Linha de Produto para Desenvolvimento de Software. BEIRIGO, Marcos. et.al. Titan Platform: Uma Plataforma de Desenvolvimento de WebApps Utilizando o Titan Framework. Universidade Federal de Mato Grosso do Sul, 2010. SOUZA, Gabriela; CASTRO, Jaelson; SILVA, Carla. Uma Abordagem de Engenharia de Requisitos Para Linhas de Produtos de Software. BORBA, Clarissa. Uma Abordagem Orientada a Objetivos para as Fases de Requisitos de Linhas de Produto de Software. Recife, 2009. Dissertao (Cincia da Computao), Universidade Federal de Pernambuco Centro de Informtica. Recife, PE. FRANCA, Luiz; STAA, Arndt. Uma Arquitetura Aberta para Geradores de Artefatos. Simpsio Brasileiro de Engenharia de Software, 2002. OLIVEIRA, Hamilton. et.al. Utilizao de Sistemas Crticos nas Atividades de Engenharia de Domnio e de Aplicaes. Simpsio Brasileiro de Engenharia de Software, 2001.

Google Acadmico

Google Acadmico

Google Acadmico

Google Acadmico

Google Acadmico

Google Acadmico

Google Acadmico

Google Acadmico

Google Acadmico

75

2010

A Requirements Engineering Process for Software Product Lines An Experimental Study on Requirements Engineering for Software Product Lines Aspect-Oriented Requirements Engineering for Software Product Lines Automated Support for Security Requirements Engineering in Software Product Line Domain Engineering DECIMAL and PLFaultCATFrom Product-Line Requirements to Product-Line Member Software Fault Trees Deriving Product Line Requirementsthe RED-PL Guidance Approach Non-Functional Requirements Analysis Modeling for Software Product Lines Product-Line Requirements Specification (PRS)an Approach and Case Study Requirements Identification and Representation in Software Product Line Requirements Management for Product Lines Extending Professional Tools Security Requirements

Artigo

2009

Artigo

2003

Artigo

2009

Artigo

2007

Artigo

2007

Artigo

2009

Artigo

2001

Artigo

2009

Artigo

2006

Artigo

2008

Artigo

NEIVA, Danuza. et.al. A Requirements Engineering Process for Software Product Lines. International Conference on Software Engineering, 2010. NEIVA, Danuza; ALMEIDA, Eduardo; MEIRA, Silvio. An Experimental Study on Requirements Engineering for Software Product Lines. Euromicro Conference on Software Engineering and Advanced Applications, 2009. KULLOR, Chethana; EBERLEIN, Armin. Aspect-Oriented Requirements Engineering for Software Product Lines. International Conference and Workshop on the IEEE, 2003. MELLADO, Daniel. et.al. Automated Support for Security Requirements Engineering in Software Product Line Domain Engineering. International Conference on Availability, Reliability and Security, 2009. DEHLINGER, Josh. et.al. DECIMAL and PLFaultCAT- From ProductLine Requirements to ProductLine Member Software Fault Trees. International Conference on Software Engineering, 2007. DJEBBI, Olfa; SALINESI, Camille; DIAZ, Daniel. Deriving Product Line Requirements- the RED-PL Guidance Approach. Software Engineering Conference, 2007. NGUYEN, Quyen. Non-Functional Requirements Analysis Modeling for Software Product Lines. Modeling in Software Engineering, 2009. FAULK, Stuart. Product-Line Requirements Specification (PRS)- an Approach and Case Study. International Symposium on Requirements Engineering, 2001 HALIM, Shahliza, NORHAYATI, Dayang; DERIS, Jawawi. Requirements Identification and Representation in Software Product Line. Asia-Pacific Software Engineering Conference, 2009. SCHMID, Klaus; KRENNERICH, Karsten; EISENBARTH, Michael. Requirements Management for Product Lines Extending Professional Tools. Software Product Line Conference, 2006. MELLADO, Daniel; MEDINA, Eduardo; PIATTINI, Mario. Security

IEEE Xplore

IEEE Xplore

IEEE Xplore

IEEE Xplore

IEEE Xplore

IEEE Xplore

IEEE Xplore

IEEE Xplore

IEEE Xplore

IEEE Xplore

IEEE Xplore

76

Engineering Process for Software Product Lines - A Case Study

2008

Security Requirements Variability for Software Product Lines

Artigo

2009

Flexibility and EndUser Support in Model-based Product Line Tools

Artigo

2007

Industry Survey of Product Lines Management Tools Requirements, Qualities and Open Issues Involving NonTechnicians in Product Derivation and Requirements Engineering - A Tool Suit for Product Line Engineering Product Line Tools Are Product Lines Too Lessons Learned from Developing a Tool Suit Using Requirements Management Tools in Software Product Line Engineering The State of the Practice Quality Aware Software Product Line Engineering

Artigo

2007

Artigo

Requirements Engineering Process for Software Product Lines - A Case Study. International Conference Engineering Advances, 2008. MELLADO, Daniel; MEDINA, Eduardo; PIATTINI, Mario. Security Requirements Variability for Software Product Lines. International Conference on Availability, Reliability and Security, 2008. RABISER, Rick. et.al. Flexibility and End-User Support in Modelbased Product Line Tools. Euromicro Conference on Software Engineering and Advanced Applications, 2009. DJEBBI, Olfa; SALINESI, Camille; FANMUY, Gauthier. Industry Survey of Product Lines Management Tools Requirements, Qualities and Open Issues. International Requirements Engineering Conference, 2007. RABISER, Rick. et.al. Involving Non-Technicians in Product Derivation and Requirements Engineering - A Tool Suit for Product Line Engineering. International Requirements Engineering Conference, 2007. GRUNBACHER, Paul. Product Line Tools Are Product Lines Too Lessons Learned from Developing a Tool Suit. Automated Software Engineering, 2008. BEUCHE, Danilo. et.al. Using Requirements Management Tools in Software Product Line Engineering - The State of the Practice. International Software Product Line Conference, 2007. ETXEBERRIA, Leire; SAGARDUI, Goiuria; BELATEGI, Lorea. Quality Aware Software Product Line Engineering. Journal of the Brazilian Computer Society, 2008. HER, Jin Sun. et.al. A Framework for Evaluating Reusability of Core Asset in Product Line Engineering. Information and Software Technology, v. 49, p. 740760, 2007. ALVES, Vander. et.al. Requirements engineering for software product linesA systematic literature review.

IEEE Xplore

IEEE Xplore

IEEE Xplore

IEEE Xplore

2008

Artigo

IEEE Xplore

2007

Artigo

IEEE Xplore

2008

Artigo

SciELO

2007

A Framework for Evaluating Reusability of Core Asset in Product Line Engineering Requirements engineering for software product lines- A systematic

Artigo

ScienceDire ct

2010

Artigo

ScienceDire ct

77

literature review Security requirements engineering framework for software product lines

2010

Artigo

2008

2010

Towards security requirements management for software product linesA security domain requirements Requirements for product derivation support - Results from a systematic literature review and an expert survey

Artigo

Artigo

ToolDAy - A Tool for Domain Analysis 2008 Disserta o

2007

2010

Integrated Support for Product Configuration and Requirements Engineering in Product Derivation Improving Awareness during Product Derivation in MultiUser Multi Product Line Environments

Artigo

Artigo

Arquitetura do Gerador de Aplicao Web Baseado no Framework Titan 2008

Disserta o

2005

Composio e Gerao de Aplicaes usando Aspectos Software Product Line Engineering Foundations, Principles, and Techniques.

Artigo

Information and Software Technology, v. 52, p. 806-820, 2010. MELLADO, Daniel. et.al. Security requirements engineering framework for software product lines. Information and Software Technology, v. 52, p. 1094-1117, 2010. MELLADO, Daniel. et.al. Towards security requirements management for software product linesA security domain requirements. Computer Standards & Interfaces, v. 30, p. 361-371, 2008. RABISER, Rick; GRUNBACHER, Paul; DHUNGANA, Deepak. Requirements for product derivation support - Results from a systematic literature review and an expert survey. Information and Software Technology, v. 52, p. 324346, 2010. LISBOA, Liana. ToolDAy - A Tool for Domain Analysis. Recife, 2008. Dissertao (Cincia da Computao), Universidade Federal de Pernambuco Centro de Informtica. Recife, PE. RABISER, Rick; DHUNGANA, Deepak. Integrated Support for Product Configuration and Requirements Engineering in Product Derivation. ACM, 2007. RABISER, Rick; GRUNBACHER, Paul; HOLL, Gerald. Improving Awareness during Product Derivation in Multi-User Multi Product Line Environments. First International Workshop on Automated Tailoring and Configuration of Applications, 2010. WESCHTER, Eberson. Arquitetura do Gerador de Aplicao Web Baseado no Framework Titan. Mato Grosso do Sul, 2008. Dissertao (Cincia da Computao), Universidade Federal de Mato Grosso do Sul Departamento de Computao e Estatstica. MG. PEREIRA JUNIOR, Carlos; BRAGA, Rosana. Composio e Gerao de Aplicaes usando Aspectos. POHL, Klaus.; BCKLE, Gunter.; VAN DER LINDEN, Frank.: Software Product Line Engineering Foundations, Principles, and Techniques. Springer, Heidelberg 2005.

ScienceDire ct

ScienceDire ct

ScienceDire ct

Google Acadmico

ACM

Google Acadmico

Google Acadmico

Google Acadmico

Livro

Google Acadmico

78

2008

Visual Tool Support for Configuring and Understanding Software Product Lines

Artigo

BOTTERWECK, G.; Thiel, S.; NESTOR, D.; SAAD, bin A.; CAWLEY C.; Visual Tool Support for Configuring and Understanding Software Product Lines, Lero, The Irish Software Engineering Research Centre, 2008.

Google Acadmico

Resumo:

APNDICE 7 - NOME DAS FERRAMENTAS, ANO E SE SUPORTA A FASE DE ERA


Nome 001 Ami Eddi AORA ASADAL CalibeRM CaptainFeature Configuration Wizard DARE Decimal DecisionKing Domain Door DOORS extension TREK DOPPLER DREAM FeatureIDE Feature Plugin Fmp GEARS Holmes IRqA Odyssey PLFaultCAT Ano 1993 2000 2005 2003 2002 2002 1998 2002 1995 2005 2005 2008 2004 2005 2004 2001 1999 2002 Engenharia de Requisitos da Aplicao SIM SIM SIM SIM NO SIM SIM NO SIM NO NO NO NO SIM SIM NO SIM SIM NO SIM SIM NO NO SIM

79

Pluss toolkit ProjectKing PuLSE-BEAT Pure::Variants Remap RequiLine ToolDay VISIT_FC Xfeature

2005 2000 2005 2005 2008 2005

SIM SIM NO SIM SIM SIM SIM SIM SIM

Você também pode gostar