• Refine Query
  • Source
  • Publication year
  • to
  • Language
  • 17
  • 2
  • 1
  • 1
  • Tagged with
  • 22
  • 22
  • 22
  • 12
  • 11
  • 11
  • 6
  • 6
  • 6
  • 6
  • 6
  • 6
  • 6
  • 6
  • 5
  • About
  • The Global ETD Search service is a free service for researchers to find electronic theses and dissertations. This service is provided by the Networked Digital Library of Theses and Dissertations.
    Our metadata is collected from universities around the world. If you manage a university/consortium/country archive and want to be added, details can be found on the NDLTD website.
1

RIPLE-RE: A requeriments engineering process for software product lines

Ferreira Santana Neiva, Danuza 31 January 2009 (has links)
Made available in DSpace on 2014-06-12T15:55:51Z (GMT). No. of bitstreams: 2 arquivo2329_1.pdf: 8230070 bytes, checksum: 101572b9c6abfdcf32c5faef00f4a617 (MD5) license.txt: 1748 bytes, checksum: 8a4605be74aa9ea9d79846c1fba20a33 (MD5) Previous issue date: 2009 / Faculdade de Amparo à Ciência e Tecnologia do Estado de Pernambuco / Linhas de Produto de Software é uma importante estratégia de reuso para minimizar custos e tempo de entrega das aplicações, e maximizar a qualidade e produtividade do desenvolvimento de software. Entretanto, isso envolve o gerenciamento dos pontos comuns e variáveis entre diferentes aplicações, que aumenta sua complexidade quando comparado com desenvolvimento de software tradicional. Assim, desenvolver uma Linha de Produto requer tempo e planejamento para apresentar resultados positivos, ao contrário, o investimento pode ser perdido devido a falhas no projeto. Nesse contexto, um processo de Engenharia de Requisitos é importante para reduzir os riscos envolvidos em uma Linha de Produto, fornecendo gerenciamento e desenvolvimento de requisitos corretos. Por outro lado, existe um desafio chave em Engenharia de Requisitos para Linhas de Produto, que envolve uma solução adequada para gerenciar variabilidades, integrando-as e relacionado decisões em diferentes artefatos para facilitar a derivação de produtos. Assim, o desenvolvimento de Linhas de Produto deve ser apoiado por um processo de Engenharia de Requisitos adequado para o seu contexto. Atualmente, existem muitas abordagens de Engenharia de Requisitos para Linhas de Produto, entretanto, elas apresentam alguns problemas, tais como a ausência de um processo completo e sistemático, com detalhes suficientes para o ciclo de vida da Engenharia de Requisitos. Assim, este trabalho define um processo sistemático de Engenharia de Requisitos, descrevendo atividades, tarefas, entradas, saídas, papéis e guidelines para o contexto de Linhas de Produto, em uma forma usável, efetiva e eficiente. Por fim, um estudo experimental é apresentado para identificar a viabilidade do processo proposto
2

A scrum-inspired process for software product lines scoping

SILVA, Ivonei Freitas da 29 October 2013 (has links)
Scoping in Software Product Lines (SPL) is the first step to identify products, features, and assets in a market segment. Traditional approaches for SPL scoping are heavyweight and upfront processes in scenarios with unpredictable changes and little resources. An incurred key challenge is handling systematically the iterativeness, adaptability, and feedback in the SPL scoping process. As a final consequence, the software industry can hamper investment in the SPL scoping. In this context, the Scrum framework, as the most popular agile approach to foster the iterativeness, adaptability, and feedbacks, can address that challenge. Previous studies have combined Scrum into some SPL activities with good results. This thesis provides a process, named of RiPLE-SCA, for SPL scoping inspired in the Scrum practices. This process bases on industrial evidence (a case study of a traditional SPL scoping), expert opinion on agile SPL (through a survey), and scientific literature about agile SPL (a systematic mapping). A feasibility study and a cross-case study carried out with two industrial partners indicated that the RiPLE-SCA is practicable and appropriate for an industrial setting as well as fosters iterativeness, adaptability, and feedbacks detecting early obsolete features and changes in domain, requirements, features, and technology. / Submitted by João Arthur Martins (joao.arthur@ufpe.br) on 2015-03-12T18:58:41Z No. of bitstreams: 2 Tese Ivonei Freitas da Silva.pdf: 9233841 bytes, checksum: 6029df71deecd12c97bd99e1787a8361 (MD5) license_rdf: 1232 bytes, checksum: 66e71c371cc565284e70f40736c94386 (MD5) / Made available in DSpace on 2015-03-12T18:58:41Z (GMT). No. of bitstreams: 2 Tese Ivonei Freitas da Silva.pdf: 9233841 bytes, checksum: 6029df71deecd12c97bd99e1787a8361 (MD5) license_rdf: 1232 bytes, checksum: 66e71c371cc565284e70f40736c94386 (MD5) Previous issue date: 2013-10-29 / CNPq / A atividade de escopo em linhas de produto de software é o primeiro passo para identificar produtos, características e ativos de software em um segmento de mercado. As abordagens tradicionais para escopo de linhas de produto de software são processos densos e abrangentes em cenários com mudanças imprevisíveis e com poucos recursos. Um desafio chave nesse cenário é o gerenciamento sistemático da iteratividade, adaptabilidade e do feedback no processo de escopo de linhas de produto de software. Como último efeito, a indústria de software pode restringir investimentos no processo de escopo. Neste contexto, o framework Scrum, abordagem mais popular para incentivar a iteratividade, a adaptabilidade e o feedback, pode lidar com esse desafio. Estudos anteriores têm combinado Scrum com algumas atividades de linhas de produto de software obtendo bons resultados. Esta tese define um processo, denominado de RiPLE-ASC, para o escopo da linha de produtos de software inspirado nas práticas do Scrum. Este processo basea-se nas evidências da indústria (um estudo de caso real de escopo de linhas de produto usando uma abordagem tradicional), na opinião de especialistas em linhas de produto de software ágeis (através de um survey) e na literatura científica sobre linhas de produto de software ágeis (uma mapeamento sistemático). Um estudo de viabilidade e um estudo de caso “cross-case” executados com dois parceiros industriais de nosso grupo de pesquisa indicaram que o RiPLE-ASC tem aplicação prática e adequa-se em um ambiente de produção de software industrial bem como incentiva a iteratividade, adaptabilidade e o feedback detectando cedo características obsoletas e mudanças no domínio, requisitos, características e tecnologia
3

DYMOS QOS: Uma Abordagem Para Seleção de Serviços em Tempo de Execução em Linhas de Produto de Software Dinâmicas

Silva, Jakson Raniel Florencio da 19 February 2014 (has links)
Submitted by Fabio Sobreira Campos da Costa (fabio.sobreira@ufpe.br) on 2015-05-08T14:47:59Z No. of bitstreams: 2 license_rdf: 1232 bytes, checksum: 66e71c371cc565284e70f40736c94386 (MD5) risethesis.pdf: 1759813 bytes, checksum: cc03e28dd8851101bba0627d71685084 (MD5) / Made available in DSpace on 2015-05-08T14:47:59Z (GMT). No. of bitstreams: 2 license_rdf: 1232 bytes, checksum: 66e71c371cc565284e70f40736c94386 (MD5) risethesis.pdf: 1759813 bytes, checksum: cc03e28dd8851101bba0627d71685084 (MD5) Previous issue date: 2014-02-19 / A produção industrial antes de Taylor era essencialmente manufatureira e focada em produtos únicos. O Taylorismo e seus estudos de tempos e movimentos levaram para a indústria a ideia de padronização dos produtos. Ford, tempos depois, inventou a linha de produtos, onde a partir de então foi possível produzir em massa reduzindo o tempo de entrega do produto e seus custos. No que tange a indústria de software, esta apresenta tanto uma produção manufatureira quanto em massa que gera produtos que são denotados segundo POHL; BöCKLE; LINDEN (2005) como software individual e software standard: uma clara influência do fordismo na concepção do paradigma de Linhas de Produto de Software (SPL). No entanto, este paradigma de desenvolvimento não foi concebido para suportar mudanças nos requisitos de usuários em tempo de execução. Diante deste problema, a academia tem desenvolvido e proposto maneiras de estender o paradigma de SPL de forma a permitir que essas reconfigurações dinâmicas do software sejam suportadas. Surgiram deste esforço as Linhas de Produto de Software Dinâmicas (DSPL) (HALLSTEINSEN et al., 2008). Levando em consideração este cenário, objetiva-se nesta pesquisa contribuir com a área de DSPL apresentando uma nova maneira de pensar quais características de uma DSPL devem ser ligadas em tempo de execução a um produto com base em uma análise que mensura e valida atributos de qualidade em níveis de serviços especificados pelo usuário. Para tanto foi necessária a revisão da literatura existente em busca de meios de analisar atributos de qualidade de serviços em tempo de execução em DSPL e o desenvolvimento exploratório de uma abordagem de reconfiguração da DSPL utilizando-se das características dinâmicas do OSGi como base em tal análise. Com a finalidade de validar a abordagem proposta, a mesma foi testada exploratoriamente em uma DSPL para o domínio de guia de visitas móveis e sensível ao contexto, onde pode-se verificar a assertividade desta. Ao final da validação exploratória pode-se observar a efetividade da abordagem proposta na DSPL na qual foi aplicada. No entanto, faz-se necessário a execução de testes estatísticos para comprovar a hipótese de que esta efetividade demonstrada é válida para outras DSPLs de outros domínios.
4

Uma Abordagem Orientada a Objetivos para as Fases de Requisitos de Linhas de Produtos de Software

César Borba, Clarissa 31 January 2009 (has links)
Made available in DSpace on 2014-06-12T15:55:38Z (GMT). No. of bitstreams: 2 arquivo2275_1.pdf: 5480552 bytes, checksum: be0d8c06ce046cc764aaa9918db223b4 (MD5) license.txt: 1748 bytes, checksum: 8a4605be74aa9ea9d79846c1fba20a33 (MD5) Previous issue date: 2009 / Uma Linha de Produtos de Software (LPS) é um grupo de produtos de software com características comuns e variáveis, que também pode ser chamada de família de produtos. As caracterísiticas de uma LPS precisam ser documentadas explicitamente para possibilitar o reuso estratégico dos seus artefatos. Na atividade de Engenharia de Requisitos, isto significa que além de capturar as suas variabilidades, também é preciso relacionar os diferentes tipos de requisitos, tais como organizacionais, não-funcionais e funcionais, além de manter o rastreamento entre eles. Atualmente a captura desta informação é feita usando os modelos de features, mas esses não capturam requisitos não-funcionais explicitamente e nem a influência positiva/ negativa destes requisitos para alcançar configurações alternativas de uma aplicação na LPS. Esta influência pode ajudar na escolha de uma configuração específica para uma aplicação alcançar os objetivos da organização. Um objetivo é um estado do mundo que os stakeholders desejam alcançar enquanto que uma feature é uma característica que o sistema deve apresentar. Partindo destas definições, abordagens orientadas a objetivos podem ser usadas como uma forma efetiva para descobrir requisitos variáveis e comuns de uma LPS, bem como para reduzir os custos associados à configuração de um produto específico na família de produtos. Uma abordagem de requisitos orientada a objetivos que tem sido usada para o desenvolvimento de sistemas complexos é o framework i*. O i* fornece uma maneira natural de identificar e especificar tanto os interesses dos stakeholders como as características do sistema pretendido. Este trabalho propõe uma extensão da linguagem de modelagem do i*, chamada i*-c (i* with cardinality), que adiciona cardinalidade nos elementos de modelos intencionais e assim, permite a identificação e modelagem de features a partir de modelos orientados a objetivos. Para guiar a configuração de uma aplicação específica em uma LPS foi definida a abordagem G2FM (Goal to Feature Model). Ela propõe um processo de identificação e modelagem de features comuns e variáveis de uma LPS em modelos i* com cardinalidade e, a partir destes, produz um modelo de features equivalente
5

Uma abordagem para evolu??o e reconcilia??o de linhas de produtos de software clonadas

Lima, Gleydson de Azevedo Ferreira 31 March 2014 (has links)
Submitted by Automa??o e Estat?stica (sst@bczm.ufrn.br) on 2015-11-27T13:12:56Z No. of bitstreams: 1 GleydsonDeAzevedoFerreiraLima_TESE.pdf: 3036609 bytes, checksum: d5ebbd6b69974b4e7bda113892450048 (MD5) / Approved for entry into archive by Elisangela Moura (lilaalves@gmail.com) on 2015-11-27T14:51:19Z (GMT) No. of bitstreams: 1 GleydsonDeAzevedoFerreiraLima_TESE.pdf: 3036609 bytes, checksum: d5ebbd6b69974b4e7bda113892450048 (MD5) / Made available in DSpace on 2015-11-27T14:51:19Z (GMT). No. of bitstreams: 1 GleydsonDeAzevedoFerreiraLima_TESE.pdf: 3036609 bytes, checksum: d5ebbd6b69974b4e7bda113892450048 (MD5) Previous issue date: 2014-03-31 / Linhas de produtos de software promovem a reutiliza??o em larga escala atrav?s do desenvolvimento de fam?lias de sistemas que: (i) compartilham um n?cleo comum de caracter?sticas previamente implementadas; e (ii) permitem a sele??o e customiza??o das caracter?sticas vari?veis, as quais determinam os comportamentos distintos de cada membro ou produto da fam?lia de sistema. Por raz?es de time-to-market e flexibilidade, a ind?stria de software tem adotado, com frequ?ncia, a t?cnica de clonagem como mecanismo de cria??o de produtos ou de novas linhas de produtos. Apesar das suas vantagens, a t?cnica de clonagem traz dificuldades para a evolu??o e reconcilia??o de caracter?sticas de linhas de produto de software devido aos poss?veis conflitos de integra??o das mudan?as realizadas no c?digo da linha de produto de software original, denominada Source, e a da linha de produto clonada, denominada Target. Esta tese de doutorado prop?e uma abordagem para evolu??o e reconcilia??o de produtos clonadas baseada na ado??o de t?cnicas de minera??o de reposit?rios de software. A abordagem promove a identifica??o de diferentes tipos de conflitos - l?xicos, estruturais e sem?nticos - que podem ocorrer durante a integra??o de caracter?sticas ou tarefas de desenvolvimento da linha de produto original para a linha de produto clonada. O trabalho apresenta os resultados de um estudo emp?rico de caracteriza??o dos tipos de conflitos de integra??o de c?digo em diferentes evolu??es de duas linhas de produto de software de sistemas de informa??o web. Os resultados do estudo demonstram o potencial da abordagem na resolu??o autom?tica ou semi-autom?tica de v?rios dos conflitos existentes, reduzindo assim os custos de evolu??o e reconcilia??o de linhas de produto de software clonadas. / Software product line engineering promotes large software reuse by developing a system family that shares a set of developed core features, and enables the selection and customization of a set of variabilities that distinguish each software product family from the others. In order to address the time-to-market, the software industry has been using the clone-and-own technique to create and manage new software products or product lines. Despite its advantages, the clone-and-own approach brings several difficulties for the evolution and reconciliation of the software product lines, especially because of the code conflicts generated by the simultaneous evolution of the original software product line, called Source, and its cloned products, called Target. This thesis proposes an approach to evolve and reconcile cloned products based on mining software repositories and code conflict analysis techniques. The approach provides support to the identification of different kinds of code conflicts ? lexical, structural and semantics ? that can occur during development task integration ? bug correction, enhancements and new use cases ? from the original evolved software product line to the cloned product line. We have also conducted an empirical study of characterization of the code conflicts produced during the evolution and merging of two large-scale web information system product lines. The results of our study demonstrate the approach potential to automatically or semi-automatically solve several existing code conflicts thus contributing to reduce the complexity and costs of the reconciliation of cloned software product lines.
6

Geração de famílias de produtos de software com arquitetura baseada em componentes. / Generation of a family of software products with components based architecture

Donegan, Paula Marques 08 August 2008 (has links)
Uma adaptação de um processo de software específico para linhas de produtos de software é proposta. Esse processo tem o objetivo de ser ágil, de apoiar as atividades de projetar e desenvolver características com re-trabalho mínimo e de facilitar a engenharia de aplicações. A fase de engenharia de domínio é iterativa e incremental e propõe uma arquitetura baseada em componentes. As aplicações são geradas por um gerador de aplicações configurável a partir de uma linguagem de modelagem de aplicações baseada no modelo de características. Adicionalmente, é apresentado um estudo detalhado de alternativas para projeto de componentes em uma linha de produtos, considerando componentes do tipo caixa-preta e caixa-branca visando a facilitar a composição e o reúso de componentes. Uma linha de produtos para controle de Bilhetes Eletrônicos em Transporte urbano (BET) foi projetada e implementada usando o processo proposto. Alternativas para a implementação baseada em aspectos de requisitos transversais e de variabilidades da linha de produtos BET, bem como sua geração automática, são apresentadas e discutidas / Adaptation of a specific software product line process is described. The adapted process aims to be agile, minimising rework for feature design and development activities and facilitating applications engineering. The domain engineering phase is iterative and incremental, using a component-based architecture. Applications are generated by an application generator configurable using an application modeling language based on the features diagram. Additionally, we present a detailed study of alternatives for design of product line components, considering white-box and black-box components, aiming to facilitate component composition and reuse. A product line for control of Electronic Transport Cards (ETC) was designed and developed using the proposed process. We present and discuss implementation alternatives based on aspect-oriented development to represent crosscutting and variability requirements of the ETC product line, as well as the automated generation of these requirements
7

Geração de famílias de produtos de software com arquitetura baseada em componentes. / Generation of a family of software products with components based architecture

Paula Marques Donegan 08 August 2008 (has links)
Uma adaptação de um processo de software específico para linhas de produtos de software é proposta. Esse processo tem o objetivo de ser ágil, de apoiar as atividades de projetar e desenvolver características com re-trabalho mínimo e de facilitar a engenharia de aplicações. A fase de engenharia de domínio é iterativa e incremental e propõe uma arquitetura baseada em componentes. As aplicações são geradas por um gerador de aplicações configurável a partir de uma linguagem de modelagem de aplicações baseada no modelo de características. Adicionalmente, é apresentado um estudo detalhado de alternativas para projeto de componentes em uma linha de produtos, considerando componentes do tipo caixa-preta e caixa-branca visando a facilitar a composição e o reúso de componentes. Uma linha de produtos para controle de Bilhetes Eletrônicos em Transporte urbano (BET) foi projetada e implementada usando o processo proposto. Alternativas para a implementação baseada em aspectos de requisitos transversais e de variabilidades da linha de produtos BET, bem como sua geração automática, são apresentadas e discutidas / Adaptation of a specific software product line process is described. The adapted process aims to be agile, minimising rework for feature design and development activities and facilitating applications engineering. The domain engineering phase is iterative and incremental, using a component-based architecture. Applications are generated by an application generator configurable using an application modeling language based on the features diagram. Additionally, we present a detailed study of alternatives for design of product line components, considering white-box and black-box components, aiming to facilitate component composition and reuse. A product line for control of Electronic Transport Cards (ETC) was designed and developed using the proposed process. We present and discuss implementation alternatives based on aspect-oriented development to represent crosscutting and variability requirements of the ETC product line, as well as the automated generation of these requirements
8

Understanding Architectural Bad Smells in Software Product Lines

Andrade, Hugo Sica de 01 August 2014 (has links)
Submitted by Santos Davilene (davilenes@ufba.br) on 2016-05-25T14:04:00Z No. of bitstreams: 1 FINAL Dissertação Mestrado - Hugo Sica de Andrade.pdf: 4068482 bytes, checksum: f4538e19111b94a4c1caae39a4e6c525 (MD5) / Made available in DSpace on 2016-05-25T14:04:00Z (GMT). No. of bitstreams: 1 FINAL Dissertação Mestrado - Hugo Sica de Andrade.pdf: 4068482 bytes, checksum: f4538e19111b94a4c1caae39a4e6c525 (MD5) / O paradigma de Linhas de Produto de Software (LPS) tem provado ser um meio efetivo para se obter reuso de grande escala em diferentes domínios. A abordagem tira proveito de aspectos comuns entre diferentes produtos, enquanto também considera propriedades específicas dos mesmos. A arquitetura tem um papel importante na engenharia de LPS, provendo meios para melhor entender e manter o ambiente de derivação de produtos. No entanto, é difícil evoluir tal arquitetura, pois nem sempre é claro onde e como refatorar. A arquitetura de uma LPS contém um modelo que irá resultar na arquitetura de produtos, e muitas vezes inclui soluções que indicam um design (arquitetural) inadequado. Uma forma de avaliar tais decisões de design é através da identificação de bad smells de arquitetura, ou seja, propriedades que prejudicam a qualidade do software, mas não são necessariamente errôneas ou representam falhas. Nesse sentido, o objetivo desta dissertação é obter um melhor entendimento de bad smells de arquitetura em LPSs. Primeiramente, o estado-da-arte atual em Arquiteturas de Linhas de Produto de software (ALP) é investigado através de um estudo de mapeamento sistemático. Este apresenta uma visão geral da área através de análise e categorização de evidências. O estudo idenfitica gaps, tendências, e provê direções futuras para pesquisa. Ademais, esta dissertação trata do fenômeno de bad smells de arquitetura no contexto de LPSs através de dois estudos exploratórios em domínios diferentes. O primeiro estudo exploratório conduz uma investigação sobre as implicações de propriedades estruturais em uma LPS no domínio de editores de texto, enquanto o segundo estudo foca em uma LPS no domínio mobile. Antes da busca pelos smells em ambos os estudos, informações relevantes para a arquitetura foram recuperadas do código fonte para que as arquiteturas fossem definidas.
9

Non-Functional Properties In Software Product Lines: A Reuse Approach

Soares, Larissa Rocha 28 October 2014 (has links)
Submitted by Santos Davilene (davilenes@ufba.br) on 2016-05-25T15:42:02Z No. of bitstreams: 1 Dissertação-Larissa_Rocha-UFBA-FINAL-FINAL.pdf: 3201408 bytes, checksum: 5d91e954fc2758c5dbd2b5cc35d0cf87 (MD5) / Made available in DSpace on 2016-05-25T15:42:02Z (GMT). No. of bitstreams: 1 Dissertação-Larissa_Rocha-UFBA-FINAL-FINAL.pdf: 3201408 bytes, checksum: 5d91e954fc2758c5dbd2b5cc35d0cf87 (MD5) / Reuse de software é um aspecto importante para organizações de software interessadas em produtos personalizados e a custos razoáveis. Engenharia de Linhas de Produtos de Software (SPLE) tem como objetivo alcançar estes desafios. O paradigma de SPLE é dividido em dois principais processos: engenharia de domínio e engenharia de aplicação. Derivação de Productos é a prática de criar produtos distintos durante a engenharia de aplicação. Com base na seleção de características (features), engenheiros de SPL e interessados podem derivar programas feitos sob medida e de forma eficiente que satisfazem diferentes necessidades. Neste cenário, propriedades não-funcionais (NFPs) surgem de maneira a prover uma derivação de produtos não apenas em relação às características funcionais, mas também aos atributos de qualidade. Uma definição explícita de NFPs durante a configuração de software tem sido considerada uma tarefa difícil, uma vez que NFPs em grandes sistemas resultam da interação de muitos recursos, tornando-os difíceis de serem configurados. SPL tem sido muito bem sucedida na gestão de features que compõem propriedades funcionais e também um grande número de NFPs. No entanto, existem muitas NFPs que não podem ser expressas e realizadas sob a forma de features, mas requerem diferentes abordagens. Como lidar com elas ainda é um desafio, tanto na teoria como na prática. Atualmente, poucos trabalhos se concentram na análise da NFPs para a engenharia de linha de produto de software. Nesse sentido, realizamos uma revisão sistemática da literatura publicada em busca de abordagens de SPL que reportam NFPs. Além disso, propomos um framework para especificar NFPs para SPL e também uma abordagem de reuso, a qual promove a reutilização dos valores de NFPs durante a configuração de um produto. Uma vez que a engenharia de SPL promove a reutilização de artefatos de SPL, valores de NFPs também poderiam ser reutilizados. Além disso, estudos de caso foram realizados a fim de avaliar a aplicabilidade do framework e da abordagem de reuso.
10

Um m?todo para extra??o e evolu??o de linhas de produto de software a partir de sistemas Web existentes

Pontes, Erick Sharlls Ramos de 25 August 2017 (has links)
Submitted by Automa??o e Estat?stica (sst@bczm.ufrn.br) on 2018-03-12T21:07:03Z No. of bitstreams: 1 ErickSharllsRamosDePontes_DISSERT.pdf: 5142026 bytes, checksum: c5d7c498155fa9693ffcb28bbc0c9c56 (MD5) / Approved for entry into archive by Arlan Eloi Leite Silva (eloihistoriador@yahoo.com.br) on 2018-03-19T12:35:22Z (GMT) No. of bitstreams: 1 ErickSharllsRamosDePontes_DISSERT.pdf: 5142026 bytes, checksum: c5d7c498155fa9693ffcb28bbc0c9c56 (MD5) / Made available in DSpace on 2018-03-19T12:35:22Z (GMT). No. of bitstreams: 1 ErickSharllsRamosDePontes_DISSERT.pdf: 5142026 bytes, checksum: c5d7c498155fa9693ffcb28bbc0c9c56 (MD5) Previous issue date: 2017-08-25 / Uma Linha de produto de software (LPS) representa uma fam?lia de sistemas relacionados que compartilham similaridades e variabilidades visando atender ?s necessidades de um segmento de mercado espec?fico. A ado??o de LPS tem sido aplicada em diversas ?reas na ind?stria de software devido aos benef?cios alcan?ados, tais como, redu??o dos custos no desenvolvimento, aumento da qualidade e redu??o do tempo de comercializa??o. No entanto, cen?rios distintos podem ser encontrados para implementa??o de uma linha de produtos, caracterizando 3 abordagens para ado??o de LPS: (1) abordagem proativa: n?o existe softwares em produ??o, e uma LPS ? desenvolvida do zero; (2) abordagem reativa: j? existe uma LPS em produ??o que vai sofrer incremento para atender novos requisitos; (3) abordagem extrativa: a LPS ? desenvolvida a partir dos artefatos de um sistema ou conjunto de sistemas relacionados que j? est?o em produ??o. No contexto de abordagens extrativa e reativa, este trabalho prop?e um m?todo de extra??o e evolu??o de LPSs a partir de sistemas existentes implementados na linguagem Java. O m?todo foi extra?do a partir da condu??o de um estudo emp?rico de desenvolvimento de uma LPS para o dom?nio de sistemas de controle de espa?os f?sicos utilizados em diferentes centros da Universidade Federal do Rio Grande do Norte (UFRN) e define tr?s atividades que apresentam um conjunto de diretrizes para refatora??o e modulariza??o de features em sistemas implementados em Java: (i) Modelar features da LPS, (ii) Projetar e implementar LPS atrav?s da refatora??o de um sistema existente, e (iii) Realizar testes para cada um dos produtos atuais existentes. Em seguida, o m?todo foi avaliado por meio da sua aplica??o durante evolu??es da LPS para atender novos requisitos demandados pelos clientes. Por fim, foi constatado um aumento de linhas de c?digo dos produtos da LPS, no entanto, o n?cleo da LPS possui uma quantidade de linhas de c?digo menor que qualquer produto antes e depois da extra??o da LPS. Com isso, os artefatos da LPS ficaram melhor modularizados em termos de features, o que pode facilitar a evolu??o tanto do c?digo do n?cleo quanto dos artefatos variantes de cada aplica??o. / A software product line (SPL) represents a family of related systems that share commonalities and variabilities to address the needs of a specific market or mission. The adoption of SPL has been applied in several areas in the software industry due to the benefits achieved, such as reduction of development costs, quality improvement and reduction of time to market. However, distinct scenarios can be found when developing a SPL, which lead to 3 approaches for adopting a SPL: (1) proactive approach: there are no previous software implementation and a SPL is developed from scratch; (2) reactive approach: there is a SPL available which is evolved to address new features and products; (3) extractive approach: SPL is developed from the assets of a system or a set of related systems that already exists. In the scenarios of the extractive and reactive approaches, this dissertation proposes a method of extraction and evolution of SPLs from existing systems implemented in the Java language. The method was extracted from an empirical study of an LPS for the domain of systems that manage physical spaces from different Federal University of Rio Grande do Norte (UFRN) departments and defined three activities that present a set of guidelines for refactoring and modularizing features in systems implemented in Java: (i) Model SPL features, (ii) Design and Implement LPS by refactoring an existing system, and (iii) Perform tests for each of the existing products. The method is evaluated through its application during SPL evolutions to address new requirements demanded by the customers. As a result of the study, we found an increase in the number of lines of code of the products of the products, however, the SPL core had lower lines of code than any product before and after the LPS extraction. Thus, the SPL assets have become better modularized in terms of features, which may facilitate the evolution of core and variant implementations of each application.

Page generated in 0.0805 seconds