1 |
Optimization techniques for enhancing middleware quality of service for software product-line architecturesKrishna, Arvind S., January 1900 (has links)
Thesis (Ph. D. in Computer Science)--Vanderbilt University, Dec. 2005. / Title from title screen. Includes bibliographical references.
|
2 |
A multi-method research approach to understand the adoption of software product lines in small and medium-sized enterprisesBASTOS, Jonatas Ferreira 31 January 2011 (has links)
Made available in DSpace on 2014-06-12T16:00:42Z (GMT). No. of bitstreams: 2
arquivo6892_1.pdf: 12551112 bytes, checksum: f5803d2f7b194b0634e5ba658aaf40fe (MD5)
license.txt: 1748 bytes, checksum: 8a4605be74aa9ea9d79846c1fba20a33 (MD5)
Previous issue date: 2011 / Conselho Nacional de Desenvolvimento Científico e Tecnológico / A abordagem de Linhas de Produtos de Software (SPL) pode ser considerada uma
estratégia eficiente para o reuso de software. SPL oferece significativos benefícios
econômicos para as empresas, tais como redução de custos, melhoria da qualidade, e
redução do tempo de entrega de produtos. SPL baseia-se no reuso sistemático de artefatos,
através da exploração de commonalities (pontos em comum), e o gerenciamento de
variabilities (pontos de variação) entre os produtos, desenvolvidos sob uma arquitetura
comum.
No entanto, a percepção das vantagens de SPL tem um custo associado. Elas demandam
maturidade nas técnicas de engenharia de software, planejamento e gerenciamento
de reuso, adequadas práticas para gerenciamento e desenvolvimento, sendo capaz de
lidar com questões organizacionais e de complexidade arquitetural. Na prática, não é
relativamente fácil adotar a abordagem de linha de produto. No contexto de pequenas
e medias empresas (SMEs), as dificuldades para adoção de linha de produto são ainda
maiores, devido a baixa maturidade organizacional e falta de recursos comum a este tipo
de organização.
Neste contexto, esta dissertação apresenta um conjunto de evidências empíricas sobre
a adoção de linhas de produto em pequenas e médias empresas. O conjunto de evidências
contribui para o entendimento da adoção de linha de produto em SMEs por documentar
barreiras, as melhores práticas existentes, experiências etc., facilitando a adoção da
abordagem de SPL no futuro.
Esta dissertação apresenta ainda uma abordagem multi-método para pesquisa empírica
em engenharia de software, conduzida através da triangulação, combinando diferentes,
mas complementares métodos de pesquisa, aumentando desta maneira a disponibilidade
de conhecimento empírico na área.
|
3 |
Comparison of Exact and Approximate Multi-Objective Optimization for Software Product LinesOlaechea Velazco, Rafael Ernesto January 2013 (has links)
Software product lines (SPLs) manage product variants in a systematical way and allow stakeholders to derive variants by selecting features. Finding a desirable variant is hard, due to the huge configuration space and usually conflicting objectives (e.g., lower cost and higher performance). This scenario can be reduced to a multi-objective optimization prob- lem in SPLs. We address the problem using an exact and an approximate algorithm and compare their accuracy, time consumption, scalability and parameter setting requirements on five case studies with increasing complexity.
Our empirical results show that (1) it is feasible to use exact techniques for small SPL multi-objective optimization problems, and (2) approximate methods can be used for large problems but require substantial effort to find the best parameter settings for acceptable approximation. Finally, we discuss the tradeoff between accuracy and time consumption when using exact and approximate techniques for SPL multi-objective optimization and guide stakeholders to choose one or the other in practice.
|
4 |
TEST CASES REDUCTION IN SOFTWARE PRODUCT LINE USING REGRESSION TESTING28 March 2012 (has links)
Application Engineering is a field where software organizations develop software products from a predefined Software Product Line. The time and cost allotted to come up with a new product variant is limited. Lack of systematic support in testing leads to redundancy. Redundancy in this context can be found in test-cases that do not contribute towards fault-detection and testing leads to an increased testing effort. This thesis work proposes a framework to reduce the testing effort, aimed at avoiding testing redundancy. Feature Model diagrams have been constructed from the assumed specification requirements. These Feature Model diagrams have been used to derive test models such as Object Model diagram and State Chart diagram. Unit testing and System testing have been performed on test models to obtain test cases that have been stored in the repository. Regression testing has been applied to these test cases to classify them into Reusable, Re-testable and Obsolete.
|
5 |
Comparison of Exact and Approximate Multi-Objective Optimization for Software Product LinesOlaechea Velazco, Rafael Ernesto January 2013 (has links)
Software product lines (SPLs) manage product variants in a systematical way and allow stakeholders to derive variants by selecting features. Finding a desirable variant is hard, due to the huge configuration space and usually conflicting objectives (e.g., lower cost and higher performance). This scenario can be reduced to a multi-objective optimization prob- lem in SPLs. We address the problem using an exact and an approximate algorithm and compare their accuracy, time consumption, scalability and parameter setting requirements on five case studies with increasing complexity.
Our empirical results show that (1) it is feasible to use exact techniques for small SPL multi-objective optimization problems, and (2) approximate methods can be used for large problems but require substantial effort to find the best parameter settings for acceptable approximation. Finally, we discuss the tradeoff between accuracy and time consumption when using exact and approximate techniques for SPL multi-objective optimization and guide stakeholders to choose one or the other in practice.
|
6 |
Towards an agile product line requirements engineering frame work : knowledge acquisition and process definition /Feng, Kunwu, January 2009 (has links)
Thesis (Ph.D.)--University of Texas at Dallas, 2009. / Includes vita. Includes bibliographical references (leaves 224-234)
|
7 |
Restructuring test variabilities in software product linesde Medeiros Ribeiro, Márcio 31 January 2008 (has links)
Made available in DSpace on 2014-06-12T15:52:05Z (GMT). No. of bitstreams: 1
license.txt: 1748 bytes, checksum: 8a4605be74aa9ea9d79846c1fba20a33 (MD5)
Previous issue date: 2008 / Conselho Nacional de Desenvolvimento Científico e Tecnológico / Linhas de Produto de Software (LPS) englobam famílias de sistemas desenvolvidos a
partir de artefatos reusáveis. Um fator importante durante a manutenção de LPS con-
siste em decidir sobre qual mecanismo deve ser utilizado para reestruturar suas variações
objetivando melhorar a modularidade de seus artefatos. Devido µa grande variedade de
mecanismos, selecionar os corretos pode ser uma tarefa difícil. Por outro lado, selecionar
os incorretos pode produzir efeitos negativos no custo de desenvolver a LPS.
E
importante salientar que este problema existe não somente no nível de código fonte,
mas também em outros artefatos como requisitos de software e testes. Assim sendo, para
reduzir tal problema no nível de testes automatizados, este trabalho prop~oe um modelo de
decisão que ajuda desenvolvedores a escolher mecanismos para reestruturar variações de
testes em LPS. Para construir o modelo, algumas variacões encontradas em casos de teste
automatizados reais desenvolvidos pela Motorola foram analisadas. Neste caso, os testes
servem para testar os sistemas de software dos telefones celulares da Motorola. Os testes
lidam com as variacões dos diferentes celulares usando condicionais if-else. Portanto,
dada uma variacão baseada em condicionais if-else, o modelo sugere um mecanismo para
prover uma melhor modularidade da variacão. Adicionalmente, uma ferramenta para
dar suporte aos desenvolvedores de LPS foi desenvolvida. A ferramenta recomenda os
mecanismos de acordo com o modelo de decisão proposto.
Aplicando o modelo de decisão e os mecanismos sugeridos por ele pode melhorar a
modularidade das variações dos casos de teste e remover problemas como códigos dupli-
cados. Ademais, mostra-se que a tarefa de reestruturar variações torna-se mais rápida e
precisa quando a ferramenta é utilizada
|
8 |
Analysis of techniques for implementing software product lines variabilitiesOsandy Alves Matos Junior, Pedro 31 January 2008 (has links)
Made available in DSpace on 2014-06-12T15:54:11Z (GMT). No. of bitstreams: 2
arquivo1967_1.pdf: 2290024 bytes, checksum: c02392abf0809cdb2a823828412d659c (MD5)
license.txt: 1748 bytes, checksum: 8a4605be74aa9ea9d79846c1fba20a33 (MD5)
Previous issue date: 2008 / Conselho Nacional de Desenvolvimento Científico e Tecnológico / 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.
|
9 |
RiPLE-SC: na agile scoping process for software product linesMoraes, Marcela Balbino Santos de 31 January 2010 (has links)
Made available in DSpace on 2014-06-12T15:56:44Z (GMT). No. of bitstreams: 2
arquivo2982_1.pdf: 2135820 bytes, checksum: df75cf5b4604b648bc295b0acd5b0db0 (MD5)
license.txt: 1748 bytes, checksum: 8a4605be74aa9ea9d79846c1fba20a33 (MD5)
Previous issue date: 2010 / Fundação de Amparo à Ciência e Tecnologia do Estado de Pernambuco / As constantes mudanças e a busca por novos benefícios na indústria de software
possibilitam o surgimento de novas áreas de pesquisa. Neste contexto, uma
tendência que tem apresentado importantes benefícios é a área de
desenvolvimento ágil de linhas de produtos de software. Linhas de produtos de
software é uma importante estratégia de reuso para minimizar custos e tempo
de entrega das aplicações, além de maximizar a qualidade e a produtividade do
desenvolvimento de software. Entretanto, desenvolver linhas de produtos
requer esforços e custos iniciais para apresentar resultados significativos, uma
vez que envolve planejamento sistemático, gerenciamento de pontos comuns e
variáveis dos produtos e design flexível e detalhado, aspectos que aumentam
sua complexidade. Por outro lado, a abordagem ágil apresenta como foco o
código e tem seu desenvolvimento realizado de forma iterativa. Além disso, esta
metodologia encoraja práticas e valores como comunicação face a face,
pequenas iterações, planejamento e design simples e incremental. Comparando
linhas de produtos de software e métodos ágeis, diferentes aspectos são
identificados. No entanto, pesquisas recentes mostram similaridades entre elas,
como: aumento de qualidade e produtividade no desenvolvimento de software e
redução de custos e tempo de entrega das aplicações. Portanto, visando
diminuir custos e esforços iniciais necessários para adoção de uma linha de
produtos de software, este trabalho propõe um processo de escopo ágil para
linhas de produtos de software, unindo os benefícios das duas abordagens. O
processo proposto é avaliado através de um estudo de caso industrial
|
10 |
Verification and refactoring of configuration knowledge for software product linesMotta Teixeira, Leopoldo 31 January 2010 (has links)
Made available in DSpace on 2014-06-12T15:56:44Z (GMT). No. of bitstreams: 2
arquivo2985_1.pdf: 5101466 bytes, checksum: 86a375e15b77076e9eb9adffbe664c52 (MD5)
license.txt: 1748 bytes, checksum: 8a4605be74aa9ea9d79846c1fba20a33 (MD5)
Previous issue date: 2010 / Conselho Nacional de Desenvolvimento Científico e Tecnológico / Uma linha de produtos de software (LPS) é definida como um conjunto de sistemas
de software que compartilham características em comum, mas que são suficientemente
distintos entre si, desenvolvidos a partir de um conjunto de artefatos reusáveis. Modelos
de features e configuração são usados para possibilitar a geração automática de produtos
a partir destes artefatos. Um modelo de features representa o conjunto de possíveis
configurações de produto de uma LPS, enquanto o modelo de configuração estabelece
o mapeamento entre features e implementação. Por exemplo, associando expressões de
features, na forma de proposições lógicas, a artefatos.
Os benefícios de produtividade que a abordagem de LPS fornece tornam possível que
uma LPS seja capaz de gerar milhares de produtos. Neste contexto, erros cometidos ao
especificar o modelo de configuração podem resultar em produtos inválidos - o problema
da composição segura. Este problema pode ser difícil de ser detectado manualmente,
já que os modelos de features e configuração podem tornar-se muito complexos. Gerar
todos os produtos de uma LPS pode não ser prático, dado que existem LPS em que é
possível gerar milhares de produtos. No entanto, mesmo modelos de configuração que não
permitem a geração de produtos inválidos podem ter problemas na sua estrutura interna,
como complexidade e duplicação, especialmente no contexto de LPS grandes, onde sua
manutenção pode se tornar difícil. Precisamos nos certificar de que não introduzimos
erros ao corrigir estes problemas.
Neste trabalho, é proposta uma abordagem automática de verificação de composição
segura para LPS baseadas em modelos de configuração. Esta abordagem é baseada na
tradução de instâncias específicas de modelos de features e configuração em lógica proposicional,
usando uma teoria codificada com Alloy. O suporte ferramental fornecido pelo
Alloy Analyzer auxilia a verificação. Também é proposto um catálogo de refatoramentos
simples para modelos de configuração, como uma maneira de evitar erros ao corrigir
problemas na estrutura interna de tais modelos. Este catálogo é formalizado usando uma teoria geral para modelos de configuração especificada com o Prototype Verification
System (PVS).
Nós avaliamos a abordagem de verificação usando sete versões de uma LPS, com modelos
de features que possibilitam a geração de até 272 produtos. Os resultados demonstram
a vantagem de usar esta abordagem ao invés de gerar todos os produtos da LPS,
já que o tempo médio para compilar um único produto da LPS é maior que o tempo para
analisá-la na maior das versões analisadas. Também avaliamos o catálogo de refatoramento
provando consistência (soundness) dos refatoramentos propostos no provador de
teoremas de PVS
|
Page generated in 0.032 seconds