Um método para extração e evolução de linhas de produto de software a partir de sistemas Web existentes
| Ano de defesa: | 2017 |
|---|---|
| Autor(a) principal: | |
| Orientador(a): | |
| Banca de defesa: | |
| 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 |