Analysis of techniques for implementing software product lines variabilities
Autor(a) principal: | |
---|---|
Data de Publicação: | 2008 |
Tipo de documento: | Dissertação |
Idioma: | eng |
Título da fonte: | Repositório Institucional da UFPE |
dARK ID: | ark:/64986/0013000007p3b |
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/2055ark:/64986/0013000007p3bLinhas 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 |
dc.identifier.dark.fl_str_mv |
ark:/64986/0013000007p3b |
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. ark:/64986/0013000007p3b |
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_ |
1815172751449653248 |