Analysis of techniques for implementing software product lines variabilities

Detalhes bibliográficos
Autor(a) principal: Osandy Alves Matos Junior, Pedro
Data de Publicação: 2008
Tipo de documento: Dissertação
Idioma: eng
Título da fonte: Repositório Institucional da UFPE
Texto Completo: https://repositorio.ufpe.br/handle/123456789/2055
Resumo: Linhas de Produtos de Software (LPS) são conjuntos de sistemas de software que compartilham uma base comum de funcionalidades e satisfazem a necessidades especificas de determinados segmentos de mercado. LPS são desenvolvidas a partir de uma arquitetura comum e compartilham um conjunto de artefatos reusaveis (projetados para um dominio de aplicacão especifico). Entre as atividades principais na construcão e manutencão de uma LPS esta a gerência das variacões nos diversos artefatos que a compõem. Em particular, a escolha de tecnicas de programacão que possibilitem a introducão de variacões em artefatos de implementacão e uma atividade que merece bastante atencão. A escolha de qual tecnica utilizar para lidar com determinados tipos de variacões nos artefatos de implementacão de uma LPS pode gerar impactos significativos tanto na qualidade desses artefatos como na qualidade dos produtos finais gerados. Apesar da importância dessa atividade, poucos estudos publicados mostram comparacões entre as diversas tecnicas que permitem a implementacão de variacões em software. A maioria dos trabalhos existentes limita-se a avaliacões qualitativas dessas tecnicas, não analisando o impacto dessas tecnicas nos atributos de qualidade de LPS existentes atraves de metricas de software. O foco do presente trabalho e a comparacão entre algumas das tecnicas de implementa cão de variacões usadas na industria de software. Para tal, primeiro apresentamos um catalogo de tipos de variacões, onde variacões são classificadas de acordo com a sua estrutura e localizacão no codigo da aplicacão. As variacões apresentadas no catalogo foram identificadas atraves de uma analise realizada em uma LPS do dominio de jogos para dispositivos moveis. Em seguida, apresentamos propostas de solucão que utilizam algumas das principais tecnicas de programacão para lidar com cada tipo de variacão espec ico. Como parte desse trabalho, analisamos o impacto da utilizacão de cada solução proposta atraves de dados qualitativos e quantitativos. Analisamos ainda a composicão do uso dessas solucões para implementar variacões em LPS e como um catalogo de tipos reestruturacão de variacões em uma LPS.
id UFPE_e1e7f8f4d2c252c7d9630ae142ef89f0
oai_identifier_str oai:repositorio.ufpe.br:123456789/2055
network_acronym_str UFPE
network_name_str Repositório Institucional da UFPE
repository_id_str 2221
spelling Osandy Alves Matos Junior, PedroHenrique Monteiro Borba, Paulo 2014-06-12T15:54:11Z2014-06-12T15:54:11Z2008-01-31Osandy Alves Matos Junior, Pedro; Henrique Monteiro Borba, Paulo. Analysis of techniques for implementing software product lines variabilities. 2008. Dissertação (Mestrado). Programa de Pós-Graduação em Ciência da Computação, Universidade Federal de Pernambuco, Recife, 2008.https://repositorio.ufpe.br/handle/123456789/2055Linhas de Produtos de Software (LPS) são conjuntos de sistemas de software que compartilham uma base comum de funcionalidades e satisfazem a necessidades especificas de determinados segmentos de mercado. LPS são desenvolvidas a partir de uma arquitetura comum e compartilham um conjunto de artefatos reusaveis (projetados para um dominio de aplicacão especifico). Entre as atividades principais na construcão e manutencão de uma LPS esta a gerência das variacões nos diversos artefatos que a compõem. Em particular, a escolha de tecnicas de programacão que possibilitem a introducão de variacões em artefatos de implementacão e uma atividade que merece bastante atencão. A escolha de qual tecnica utilizar para lidar com determinados tipos de variacões nos artefatos de implementacão de uma LPS pode gerar impactos significativos tanto na qualidade desses artefatos como na qualidade dos produtos finais gerados. Apesar da importância dessa atividade, poucos estudos publicados mostram comparacões entre as diversas tecnicas que permitem a implementacão de variacões em software. A maioria dos trabalhos existentes limita-se a avaliacões qualitativas dessas tecnicas, não analisando o impacto dessas tecnicas nos atributos de qualidade de LPS existentes atraves de metricas de software. O foco do presente trabalho e a comparacão entre algumas das tecnicas de implementa cão de variacões usadas na industria de software. Para tal, primeiro apresentamos um catalogo de tipos de variacões, onde variacões são classificadas de acordo com a sua estrutura e localizacão no codigo da aplicacão. As variacões apresentadas no catalogo foram identificadas atraves de uma analise realizada em uma LPS do dominio de jogos para dispositivos moveis. Em seguida, apresentamos propostas de solucão que utilizam algumas das principais tecnicas de programacão para lidar com cada tipo de variacão espec ico. Como parte desse trabalho, analisamos o impacto da utilizacão de cada solução proposta atraves de dados qualitativos e quantitativos. Analisamos ainda a composicão do uso dessas solucões para implementar variacões em LPS e como um catalogo de tipos reestruturacão de variacões em uma LPS.Conselho Nacional de Desenvolvimento Científico e TecnológicoengUniversidade Federal de PernambucoAttribution-NonCommercial-NoDerivs 3.0 Brazilhttp://creativecommons.org/licenses/by-nc-nd/3.0/br/info:eu-repo/semantics/openAccessSoftware Product LinesAspect-Oriented ProgrammingMixinsAnalysis of techniques for implementing software product lines variabilitiesinfo:eu-repo/semantics/publishedVersioninfo:eu-repo/semantics/masterThesisreponame:Repositório Institucional da UFPEinstname:Universidade Federal de Pernambuco (UFPE)instacron:UFPETHUMBNAILarquivo1967_1.pdf.jpgarquivo1967_1.pdf.jpgGenerated Thumbnailimage/jpeg1257https://repositorio.ufpe.br/bitstream/123456789/2055/4/arquivo1967_1.pdf.jpgad8397e644787aae8d2f060270246315MD54ORIGINALarquivo1967_1.pdfapplication/pdf2290024https://repositorio.ufpe.br/bitstream/123456789/2055/1/arquivo1967_1.pdfc02392abf0809cdb2a823828412d659cMD51LICENSElicense.txttext/plain1748https://repositorio.ufpe.br/bitstream/123456789/2055/2/license.txt8a4605be74aa9ea9d79846c1fba20a33MD52TEXTarquivo1967_1.pdf.txtarquivo1967_1.pdf.txtExtracted texttext/plain271327https://repositorio.ufpe.br/bitstream/123456789/2055/3/arquivo1967_1.pdf.txt7fc797a11659e207854b1cb548cc4796MD53123456789/20552019-10-25 12:43:05.302oai:repositorio.ufpe.br:123456789/2055Tk9URTogUExBQ0UgWU9VUiBPV04gTElDRU5TRSBIRVJFClRoaXMgc2FtcGxlIGxpY2Vuc2UgaXMgcHJvdmlkZWQgZm9yIGluZm9ybWF0aW9uYWwgcHVycG9zZXMgb25seS4KCk5PTi1FWENMVVNJVkUgRElTVFJJQlVUSU9OIExJQ0VOU0UKCkJ5IHNpZ25pbmcgYW5kIHN1Ym1pdHRpbmcgdGhpcyBsaWNlbnNlLCB5b3UgKHRoZSBhdXRob3Iocykgb3IgY29weXJpZ2h0Cm93bmVyKSBncmFudHMgdG8gRFNwYWNlIFVuaXZlcnNpdHkgKERTVSkgdGhlIG5vbi1leGNsdXNpdmUgcmlnaHQgdG8gcmVwcm9kdWNlLAp0cmFuc2xhdGUgKGFzIGRlZmluZWQgYmVsb3cpLCBhbmQvb3IgZGlzdHJpYnV0ZSB5b3VyIHN1Ym1pc3Npb24gKGluY2x1ZGluZwp0aGUgYWJzdHJhY3QpIHdvcmxkd2lkZSBpbiBwcmludCBhbmQgZWxlY3Ryb25pYyBmb3JtYXQgYW5kIGluIGFueSBtZWRpdW0sCmluY2x1ZGluZyBidXQgbm90IGxpbWl0ZWQgdG8gYXVkaW8gb3IgdmlkZW8uCgpZb3UgYWdyZWUgdGhhdCBEU1UgbWF5LCB3aXRob3V0IGNoYW5naW5nIHRoZSBjb250ZW50LCB0cmFuc2xhdGUgdGhlCnN1Ym1pc3Npb24gdG8gYW55IG1lZGl1bSBvciBmb3JtYXQgZm9yIHRoZSBwdXJwb3NlIG9mIHByZXNlcnZhdGlvbi4KCllvdSBhbHNvIGFncmVlIHRoYXQgRFNVIG1heSBrZWVwIG1vcmUgdGhhbiBvbmUgY29weSBvZiB0aGlzIHN1Ym1pc3Npb24gZm9yCnB1cnBvc2VzIG9mIHNlY3VyaXR5LCBiYWNrLXVwIGFuZCBwcmVzZXJ2YXRpb24uCgpZb3UgcmVwcmVzZW50IHRoYXQgdGhlIHN1Ym1pc3Npb24gaXMgeW91ciBvcmlnaW5hbCB3b3JrLCBhbmQgdGhhdCB5b3UgaGF2ZQp0aGUgcmlnaHQgdG8gZ3JhbnQgdGhlIHJpZ2h0cyBjb250YWluZWQgaW4gdGhpcyBsaWNlbnNlLiBZb3UgYWxzbyByZXByZXNlbnQKdGhhdCB5b3VyIHN1Ym1pc3Npb24gZG9lcyBub3QsIHRvIHRoZSBiZXN0IG9mIHlvdXIga25vd2xlZGdlLCBpbmZyaW5nZSB1cG9uCmFueW9uZSdzIGNvcHlyaWdodC4KCklmIHRoZSBzdWJtaXNzaW9uIGNvbnRhaW5zIG1hdGVyaWFsIGZvciB3aGljaCB5b3UgZG8gbm90IGhvbGQgY29weXJpZ2h0LAp5b3UgcmVwcmVzZW50IHRoYXQgeW91IGhhdmUgb2J0YWluZWQgdGhlIHVucmVzdHJpY3RlZCBwZXJtaXNzaW9uIG9mIHRoZQpjb3B5cmlnaHQgb3duZXIgdG8gZ3JhbnQgRFNVIHRoZSByaWdodHMgcmVxdWlyZWQgYnkgdGhpcyBsaWNlbnNlLCBhbmQgdGhhdApzdWNoIHRoaXJkLXBhcnR5IG93bmVkIG1hdGVyaWFsIGlzIGNsZWFybHkgaWRlbnRpZmllZCBhbmQgYWNrbm93bGVkZ2VkCndpdGhpbiB0aGUgdGV4dCBvciBjb250ZW50IG9mIHRoZSBzdWJtaXNzaW9uLgoKSUYgVEhFIFNVQk1JU1NJT04gSVMgQkFTRUQgVVBPTiBXT1JLIFRIQVQgSEFTIEJFRU4gU1BPTlNPUkVEIE9SIFNVUFBPUlRFRApCWSBBTiBBR0VOQ1kgT1IgT1JHQU5JWkFUSU9OIE9USEVSIFRIQU4gRFNVLCBZT1UgUkVQUkVTRU5UIFRIQVQgWU9VIEhBVkUKRlVMRklMTEVEIEFOWSBSSUdIVCBPRiBSRVZJRVcgT1IgT1RIRVIgT0JMSUdBVElPTlMgUkVRVUlSRUQgQlkgU1VDSApDT05UUkFDVCBPUiBBR1JFRU1FTlQuCgpEU1Ugd2lsbCBjbGVhcmx5IGlkZW50aWZ5IHlvdXIgbmFtZShzKSBhcyB0aGUgYXV0aG9yKHMpIG9yIG93bmVyKHMpIG9mIHRoZQpzdWJtaXNzaW9uLCBhbmQgd2lsbCBub3QgbWFrZSBhbnkgYWx0ZXJhdGlvbiwgb3RoZXIgdGhhbiBhcyBhbGxvd2VkIGJ5IHRoaXMKbGljZW5zZSwgdG8geW91ciBzdWJtaXNzaW9uLgo=Repositório InstitucionalPUBhttps://repositorio.ufpe.br/oai/requestattena@ufpe.bropendoar:22212019-10-25T15:43:05Repositório Institucional da UFPE - Universidade Federal de Pernambuco (UFPE)false
dc.title.pt_BR.fl_str_mv Analysis of techniques for implementing software product lines variabilities
title Analysis of techniques for implementing software product lines variabilities
spellingShingle Analysis of techniques for implementing software product lines variabilities
Osandy Alves Matos Junior, Pedro
Software Product Lines
Aspect-Oriented Programming
Mixins
title_short Analysis of techniques for implementing software product lines variabilities
title_full Analysis of techniques for implementing software product lines variabilities
title_fullStr Analysis of techniques for implementing software product lines variabilities
title_full_unstemmed Analysis of techniques for implementing software product lines variabilities
title_sort Analysis of techniques for implementing software product lines variabilities
author Osandy Alves Matos Junior, Pedro
author_facet Osandy Alves Matos Junior, Pedro
author_role author
dc.contributor.author.fl_str_mv Osandy Alves Matos Junior, Pedro
dc.contributor.advisor1.fl_str_mv Henrique Monteiro Borba, Paulo
contributor_str_mv Henrique Monteiro Borba, Paulo
dc.subject.por.fl_str_mv Software Product Lines
Aspect-Oriented Programming
Mixins
topic Software Product Lines
Aspect-Oriented Programming
Mixins
description Linhas de Produtos de Software (LPS) são conjuntos de sistemas de software que compartilham uma base comum de funcionalidades e satisfazem a necessidades especificas de determinados segmentos de mercado. LPS são desenvolvidas a partir de uma arquitetura comum e compartilham um conjunto de artefatos reusaveis (projetados para um dominio de aplicacão especifico). Entre as atividades principais na construcão e manutencão de uma LPS esta a gerência das variacões nos diversos artefatos que a compõem. Em particular, a escolha de tecnicas de programacão que possibilitem a introducão de variacões em artefatos de implementacão e uma atividade que merece bastante atencão. A escolha de qual tecnica utilizar para lidar com determinados tipos de variacões nos artefatos de implementacão de uma LPS pode gerar impactos significativos tanto na qualidade desses artefatos como na qualidade dos produtos finais gerados. Apesar da importância dessa atividade, poucos estudos publicados mostram comparacões entre as diversas tecnicas que permitem a implementacão de variacões em software. A maioria dos trabalhos existentes limita-se a avaliacões qualitativas dessas tecnicas, não analisando o impacto dessas tecnicas nos atributos de qualidade de LPS existentes atraves de metricas de software. O foco do presente trabalho e a comparacão entre algumas das tecnicas de implementa cão de variacões usadas na industria de software. Para tal, primeiro apresentamos um catalogo de tipos de variacões, onde variacões são classificadas de acordo com a sua estrutura e localizacão no codigo da aplicacão. As variacões apresentadas no catalogo foram identificadas atraves de uma analise realizada em uma LPS do dominio de jogos para dispositivos moveis. Em seguida, apresentamos propostas de solucão que utilizam algumas das principais tecnicas de programacão para lidar com cada tipo de variacão espec ico. Como parte desse trabalho, analisamos o impacto da utilizacão de cada solução proposta atraves de dados qualitativos e quantitativos. Analisamos ainda a composicão do uso dessas solucões para implementar variacões em LPS e como um catalogo de tipos reestruturacão de variacões em uma LPS.
publishDate 2008
dc.date.issued.fl_str_mv 2008-01-31
dc.date.accessioned.fl_str_mv 2014-06-12T15:54:11Z
dc.date.available.fl_str_mv 2014-06-12T15:54:11Z
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.citation.fl_str_mv Osandy Alves Matos Junior, Pedro; Henrique Monteiro Borba, Paulo. Analysis of techniques for implementing software product lines variabilities. 2008. Dissertação (Mestrado). Programa de Pós-Graduação em Ciência da Computação, Universidade Federal de Pernambuco, Recife, 2008.
dc.identifier.uri.fl_str_mv https://repositorio.ufpe.br/handle/123456789/2055
identifier_str_mv Osandy Alves Matos Junior, Pedro; Henrique Monteiro Borba, Paulo. Analysis of techniques for implementing software product lines variabilities. 2008. Dissertação (Mestrado). Programa de Pós-Graduação em Ciência da Computação, Universidade Federal de Pernambuco, Recife, 2008.
url https://repositorio.ufpe.br/handle/123456789/2055
dc.language.iso.fl_str_mv eng
language eng
dc.rights.driver.fl_str_mv Attribution-NonCommercial-NoDerivs 3.0 Brazil
http://creativecommons.org/licenses/by-nc-nd/3.0/br/
info:eu-repo/semantics/openAccess
rights_invalid_str_mv Attribution-NonCommercial-NoDerivs 3.0 Brazil
http://creativecommons.org/licenses/by-nc-nd/3.0/br/
eu_rights_str_mv openAccess
dc.publisher.none.fl_str_mv Universidade Federal de Pernambuco
publisher.none.fl_str_mv Universidade Federal de Pernambuco
dc.source.none.fl_str_mv reponame:Repositório Institucional da UFPE
instname:Universidade Federal de Pernambuco (UFPE)
instacron:UFPE
instname_str Universidade Federal de Pernambuco (UFPE)
instacron_str UFPE
institution UFPE
reponame_str Repositório Institucional da UFPE
collection Repositório Institucional da UFPE
bitstream.url.fl_str_mv https://repositorio.ufpe.br/bitstream/123456789/2055/4/arquivo1967_1.pdf.jpg
https://repositorio.ufpe.br/bitstream/123456789/2055/1/arquivo1967_1.pdf
https://repositorio.ufpe.br/bitstream/123456789/2055/2/license.txt
https://repositorio.ufpe.br/bitstream/123456789/2055/3/arquivo1967_1.pdf.txt
bitstream.checksum.fl_str_mv ad8397e644787aae8d2f060270246315
c02392abf0809cdb2a823828412d659c
8a4605be74aa9ea9d79846c1fba20a33
7fc797a11659e207854b1cb548cc4796
bitstream.checksumAlgorithm.fl_str_mv MD5
MD5
MD5
MD5
repository.name.fl_str_mv Repositório Institucional da UFPE - Universidade Federal de Pernambuco (UFPE)
repository.mail.fl_str_mv attena@ufpe.br
_version_ 1802310657791492096