• Refine Query
  • Source
  • Publication year
  • to
  • Language
  • 78
  • 34
  • 5
  • 5
  • 3
  • 2
  • 1
  • 1
  • 1
  • Tagged with
  • 134
  • 134
  • 134
  • 53
  • 37
  • 30
  • 26
  • 26
  • 26
  • 24
  • 22
  • 22
  • 21
  • 19
  • 18
  • About
  • The Global ETD Search service is a free service for researchers to find electronic theses and dissertations. This service is provided by the Networked Digital Library of Theses and Dissertations.
    Our metadata is collected from universities around the world. If you manage a university/consortium/country archive and want to be added, details can be found on the NDLTD website.
1

A multi-method research approach to understand the adoption of software product lines in small and medium-sized enterprises

BASTOS, 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 Lines

Olaechea 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 Lines

Olaechea 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 lines

de 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 variabilities

Osandy 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 lines

Moraes, 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 lines

Motta 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 tool

Lima 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 Approach

Mü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 Clafer

Bak, 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