Spelling suggestions: "subject:"5oftware product lines"" "subject:"1software product lines""
1 |
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.
|
2 |
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.
|
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 |
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
|
5 |
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.
|
6 |
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
|
7 |
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
|
8 |
SPLMT-TE: a software product lines system test case toolLima Neto, Crescencio Rodrigues 31 January 2011 (has links)
Made available in DSpace on 2014-06-12T16:01:17Z (GMT). No. of bitstreams: 2
arquivo7562_1.pdf: 3512712 bytes, checksum: d7dd3b157b1e7c89309ff683efdc8a2f (MD5)
license.txt: 1748 bytes, checksum: 8a4605be74aa9ea9d79846c1fba20a33 (MD5)
Previous issue date: 2011 / Atualmente a decisão de trabalhar, ou não, com Linhas de Produtos de Software (LPS) se
tornou um requisito obrigatório para o planejamento estratégico das empresas que trabalham
com domínio específico. LPS possibilita que as organizações alcancem reduções
significativas nos custos de desenvolvimento e manutenção, melhorias quantitativas na
produtividade, qualidade e satisfação do cliente.
Por outro lado, os pontos negativos em adotar LPS são demanda extra de investimentos
para criar os artefatos reusáveis, fazer mudana¸s organizacionais, etc. Além disso, teste
é mais complicado e crítico em linhas de produtos do que em sistemas simples. Porém,
continua sendo a forma mais efetiva para garantia de qualidade em LPS.
Por isso, aprender a escolher as ferramentas certas para teste em LPS é um benefício
que contribui pra redução de alguns desses problemas enfrentados pelas empresas.
Apesar do crescente número de ferramentas disponíveis, teste em LPS ainda necessita
de ferramentas que apoiem o nível de teste de sistema, gerenciando a variabilidade dos
artefatos de teste.
Neste contexto, este trabalho apresenta uma ferramenta de teste de linhas de produtos
de software para construir testes de sistema a partir dos casos de uso que endereçam
desafios para teste em LPS identificados na revisão literária. A ferramenta foi desenvolvida
com o intuito de reduzir o esforço necessário para realizar as atividades de teste
no ambiente de LPS.
Além disso, esta dissertação apresenta um estudo exploratório sistemático que tem
como objetivo investigar o estado da arte em relação a ferramentas de teste, sintetizando as
evidências disponíveis e identificar lacunas entre as ferramentas, disponíveis na literatura.
Este trabalho também apresenta um estudo experimental controlado para avaliar a eficácia
da ferramenta proposta
|
9 |
Generating Graphical User Interfaces for Software Product Lines: A Constraint-based ApproachMüller, Johannes 12 March 2012 (has links) (PDF)
Due to a high competitive pressure on the global software market, in many
areas the software industry is moving from hand crafting to semi-automatic or automatic software construction based on Software Product Lines (SPL). Techniques to automate the construction of software products from SPLs are widely available. These can handle variability in source code artifacts but they are inappropriate to handle variability in Graphical User Interfaces (GUIs). The main reason is that they are not designed to handle such fine grained configurations as they are required to configure GUI frameworks or toolkits. To nevertheless employ them in GUI generation tasks is complex and time consuming. However, in the Human Computer Interaction (HCI) community approaches to develop GUIs in a model-based manner and with constraint-based techniques are worked on that help automate the construction of GUIs. Therefore, the main hypothesis of the proposed research is that constraint-based GUIs techniques are a well suited basis for reducing the customization effort of generated GUIs of SPLs. The paper proposes a research plan to employ these new HCI techniques in generating GUIs for SPLs.
|
10 |
Modeling and Analysis of Software Product Line Variability in ClaferBak, Kacper 24 October 2013 (has links)
Both feature and class modeling are used in Software Product Line (SPL) engineering to model variability. Feature models are used primarily to represent user-visible characteristics (i.e., features) of products; whereas class models are often used to model types of components and connectors in a product-line architecture.
Previous works have explored the approach of using a single language to express both configurations of features and components. Their goal was to simplify the definition and analysis of feature-to-component mappings and to allow modeling component options as features. A prominent example of this approach is cardinality-based feature modeling, which extends feature models with multiple instantiation and references to express component-like, replicated features. Another example is to support feature modeling in a class modeling language, such as UML or MOF, using their profiling mechanisms and a stylized use of composition. Both examples have notable drawbacks: cardinality-based feature modeling lacks a constraint language and a well-defined semantics; encoding feature models as class models and their evolution bring extra complexity.
This dissertation presents Clafer (class, feature, reference), a class modeling language with first-class support for feature modeling. Clafer can express rich structural models augmented with complex constraints, i.e., domain, variability, component models, and meta-models. Clafer supports: (i) class-based meta-models, (ii) object models (with uncertainty, if needed), (iii) feature models with attributes and multiple instantiation, (iv) configurations of feature models, (v) mixtures of meta- and feature models and model templates, and (vi) first-order logic constraints.
Clafer also makes it possible to arrange models into multiple specialization and extension layers via constraints and inheritance. On the other hand, in designing Clafer we wanted to create a language that builds upon as few concepts as possible, and is easy to learn. The language is supported by tools for SPL verification and optimization.
We propose to unify basic modeling constructs into a single concept, called clafer. In other words, Clafer is not a hybrid language. We identify several key mechanisms allowing a class modeling language to express feature models concisely. We provide Clafer with a formal semantics built in a novel, structurally explicit way. As Clafer subsumes cardinality-based feature modeling with attributes, references, and constraints, we are the first to precisely define semantics of such models.
We also explore the notion of partial instantiation that allows for modeling with uncertainty and variability. We show that Object-Oriented Modeling (OOM) languages with no direct support for partial instances can support them via class modeling, using subclassing and strengthening multiplicity constraints. We make the encoding of partial instances via subclassing precise and general. Clafer uses this encoding and pushes the idea even further: it provides a syntactic unification of types and (partial) instances via subclassing and redefinition.
We evaluate Clafer analytically and experimentally. The analytical evaluation shows that Clafer can concisely express feature and meta-models via a uniform syntax and unified semantics. The experimental evaluation shows that: 1) Clafer can express a variety of realistic rich structural models with complex constraints, such as variability models, meta-models, model templates, and domain models; and 2) that useful analyses can be performed within seconds.
|
Page generated in 0.8877 seconds