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

Detalhes bibliográficos
Ano de defesa: 2017
Autor(a) principal: Pontes, Erick Sharlls Ramos de
Orientador(a): Não Informado pela instituição
Banca de defesa: Não Informado pela instituição
Tipo de documento: Dissertação
Tipo de acesso: Acesso aberto
Idioma: por
Instituição de defesa: Brasil
UFRN
PROGRAMA DE PÓS-GRADUAÇÃO EM ENGENHARIA DE SOFTWARE
Programa de Pós-Graduação: Não Informado pela instituição
Departamento: Não Informado pela instituição
País: Não Informado pela instituição
Palavras-chave em Português:
Link de acesso: https://repositorio.ufrn.br/jspui/handle/123456789/24904
Resumo: 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.
id UFRN_c8b5eeaf9ee71aa02963db789853b9d7
oai_identifier_str oai:repositorio.ufrn.br:123456789/24904
network_acronym_str UFRN
network_name_str Repositório Institucional da UFRN
repository_id_str
spelling Um método para extração e evolução de linhas de produto de software a partir de sistemas Web existentesLinhas de produto de softwareEvolução de softwareReengenharia de sistemas existentes para LPSCNPQ::ENGENHARIAS: ENGENHARIA DE SOFTWAREA 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.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.BrasilUFRNPROGRAMA DE PÓS-GRADUAÇÃO EM ENGENHARIA DE SOFTWAREKulesza, UiraSilva, Carlos Eduardo daBarbosa, Eiji Adachi MedeirosCirilo, ElderPontes, Erick Sharlls Ramos de2018-03-19T12:35:22Z2018-03-19T12:35:22Z2017-08-25info:eu-repo/semantics/publishedVersioninfo:eu-repo/semantics/masterThesisapplication/pdfPONTES, Erick Sharlls Ramos de. Um método para extração e evolução de linhas de produto de software a partir de sistemas Web existentes. 2017. 87f. Dissertação (Mestrado Profissional em Engenharia de Software) - Instituto Metrópole Digital, Universidade Federal do Rio Grande do Norte, Natal, 2017.https://repositorio.ufrn.br/jspui/handle/123456789/24904porinfo:eu-repo/semantics/openAccessreponame:Repositório Institucional da UFRNinstname:Universidade Federal do Rio Grande do Norte (UFRN)instacron:UFRN2019-01-30T19:34:03Zoai:repositorio.ufrn.br:123456789/24904Repositório InstitucionalPUBhttp://repositorio.ufrn.br/oai/repositorio@bczm.ufrn.bropendoar:2019-01-30T19:34:03Repositório Institucional da UFRN - Universidade Federal do Rio Grande do Norte (UFRN)false
dc.title.none.fl_str_mv Um método para extração e evolução de linhas de produto de software a partir de sistemas Web existentes
title Um método para extração e evolução de linhas de produto de software a partir de sistemas Web existentes
spellingShingle 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
Linhas de produto de software
Evolução de software
Reengenharia de sistemas existentes para LPS
CNPQ::ENGENHARIAS: ENGENHARIA DE SOFTWARE
title_short Um método para extração e evolução de linhas de produto de software a partir de sistemas Web existentes
title_full Um método para extração e evolução de linhas de produto de software a partir de sistemas Web existentes
title_fullStr Um método para extração e evolução de linhas de produto de software a partir de sistemas Web existentes
title_full_unstemmed Um método para extração e evolução de linhas de produto de software a partir de sistemas Web existentes
title_sort Um método para extração e evolução de linhas de produto de software a partir de sistemas Web existentes
author Pontes, Erick Sharlls Ramos de
author_facet Pontes, Erick Sharlls Ramos de
author_role author
dc.contributor.none.fl_str_mv Kulesza, Uira


Silva, Carlos Eduardo da

Barbosa, Eiji Adachi Medeiros

Cirilo, Elder

dc.contributor.author.fl_str_mv Pontes, Erick Sharlls Ramos de
dc.subject.por.fl_str_mv Linhas de produto de software
Evolução de software
Reengenharia de sistemas existentes para LPS
CNPQ::ENGENHARIAS: ENGENHARIA DE SOFTWARE
topic Linhas de produto de software
Evolução de software
Reengenharia de sistemas existentes para LPS
CNPQ::ENGENHARIAS: ENGENHARIA DE SOFTWARE
description 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.
publishDate 2017
dc.date.none.fl_str_mv 2017-08-25
2018-03-19T12:35:22Z
2018-03-19T12:35:22Z
dc.type.status.fl_str_mv info:eu-repo/semantics/publishedVersion
dc.type.driver.fl_str_mv info:eu-repo/semantics/masterThesis
format masterThesis
status_str publishedVersion
dc.identifier.uri.fl_str_mv PONTES, Erick Sharlls Ramos de. Um método para extração e evolução de linhas de produto de software a partir de sistemas Web existentes. 2017. 87f. Dissertação (Mestrado Profissional em Engenharia de Software) - Instituto Metrópole Digital, Universidade Federal do Rio Grande do Norte, Natal, 2017.
https://repositorio.ufrn.br/jspui/handle/123456789/24904
identifier_str_mv PONTES, Erick Sharlls Ramos de. Um método para extração e evolução de linhas de produto de software a partir de sistemas Web existentes. 2017. 87f. Dissertação (Mestrado Profissional em Engenharia de Software) - Instituto Metrópole Digital, Universidade Federal do Rio Grande do Norte, Natal, 2017.
url https://repositorio.ufrn.br/jspui/handle/123456789/24904
dc.language.iso.fl_str_mv por
language por
dc.rights.driver.fl_str_mv info:eu-repo/semantics/openAccess
eu_rights_str_mv openAccess
dc.format.none.fl_str_mv application/pdf
dc.publisher.none.fl_str_mv Brasil
UFRN
PROGRAMA DE PÓS-GRADUAÇÃO EM ENGENHARIA DE SOFTWARE
publisher.none.fl_str_mv Brasil
UFRN
PROGRAMA DE PÓS-GRADUAÇÃO EM ENGENHARIA DE SOFTWARE
dc.source.none.fl_str_mv reponame:Repositório Institucional da UFRN
instname:Universidade Federal do Rio Grande do Norte (UFRN)
instacron:UFRN
instname_str Universidade Federal do Rio Grande do Norte (UFRN)
instacron_str UFRN
institution UFRN
reponame_str Repositório Institucional da UFRN
collection Repositório Institucional da UFRN
repository.name.fl_str_mv Repositório Institucional da UFRN - Universidade Federal do Rio Grande do Norte (UFRN)
repository.mail.fl_str_mv repositorio@bczm.ufrn.br
_version_ 1855758765336297472