Spelling suggestions: "subject:"bproduct lines"" "subject:"2product lines""
11 |
Uma abordagem orientada a aspectos para desenvolvimento de linhas de produtos de software / An approach to develop product lines for information systems using aspectsPacios, Stanley Fabrizio 13 February 2007 (has links)
Este trabalho investiga como o desenvolvimento de linhas de produtos de software pode ser beneficiado pela utilização da programação orientada a aspectos para reduzir o acoplamento e aumentar a coesão das features da linha de produtos. Como resultado dessa investigação, uma abordagem para desenvolvimento incremental de linhas de produtos baseado em aspectos é proposta. São apresentadas as etapas, atividades e artefatos dessa abordagem. Por ser uma abordagem incremental, reduz-se a carga de trabalho necessária no início da produção da linha de produtos. Isso é conseguido graças à utilização de aspectos. Com isso, tem-se as vantagens de linhas de produtos ao mesmo tempo amenizando a desvantagem do risco do alto investimento inicial não ter o retorno esperado. A abordagem foi proposta com base em práticas estabelecidas de desenvolvimento de linhas de produtos de software e no estudo das práticas atuais para análise e projeto orientado a aspectos. Foi dada ênfase à abordagem Tema, que é utilizada neste trabalho como parte do ferramental para análise e projeto. A abordagem desenvolvida especifica práticas desde a análise de domínio até a implementação. Os aspectos são tratados desde os estágios iniciais do desenvolvimento. Técnicas para implementação com orientação a aspectos são propostas. Um estudo de caso utilizando as linguagens Java e AspectJ é apresentado para ilustrar as idéias propostas / This work investigates how the development of software product lines can benefit from the use of aspect-oriented programming to reduce coupling and increase cohesion of the product line features. As a result of this investigation, an approach to the incremental development of software product lines based on aspects is proposed. The phases, activities, and artifacts of this approach are presented. As it is an incremental approach, the amount of work needed in the beginning of the product line development is reduced. This is accomplished thanks to the use of aspects. This way, the advantages of product lines are obtained, attenuating, at the same time, the risk of the high initial investment not having the expected return. The approach has been proposed based on established practices of software product lines development and on the study of the actual practices for aspect-oriented analysis and design. Emphasis has been given to the Theme Approach, which is used in this work as part of the analysis and design tools. The proposed approach specifies practices from the domain analysis up to the implementation. Aspects are treated since the early development stages. Aspect-oriented implementation techniques are proposed. A case study using Java and AspectJ languages is presented to illustrate the proposed ideas
|
12 |
Product Line Design, Pricing and Framing under General Choice ModelsLi, Anran January 2018 (has links)
This thesis handles fundamental problems faced by retailers everyday: how do consumers make choices from an enormous variety of products? How to design a product portfolio to maximize the expected profit given consumers’ choice behavior? How to frame products if consumers’ choices are influenced by the display location? We solve those problems by first, constructing mathematical models to describe consumers’ choice behavior from a given offer set, i.e., consumer choice models; second, by designing efficient algorithms to optimally select the product portfolio to maximize the expected profit, i.e., assortment optimization. This thesis consists of three main parts: the first part solves assortment optimization problem under a consideration set based choice model proposed by Manzini and Mariotti (2014) [Manzini, Paola, Marco Mariotti. 2014. Stochastic choice and consideration sets. Econometrica 82(3) 1153-1176.]; the second part proposes an approximation algorithm to jointly optimize products’ selection and display; the third part works on optimally designing a product line under the Logit family choice models when a product’s utility depends on attribute-level configurations.
|
13 |
Variability-Modelling Practices in Industrial Software Product Lines: A Qualitative StudyNair, Divya Karunakaran 06 May 2013 (has links)
Many organizations have transitioned from single-systems development to product-line development with the goal of increasing productivity and facilitating mass customization. Variability modelling is a key activity in software product-line development that deals with the explicit representation of variability using dedicated models. Variability models specify points of variability and their variants in a product line. Although many variability-modelling notations and tools have been designed by researchers and practitioners, very little is known about their usage, actual benefits or challenges. Existing studies mostly describe product-line practices in general, with little focus on variability modelling. We address this gap through a qualitative study on variability-modelling practices in medium- and large-scale companies using two empirical methods: surveys and interviews. We investigated companies' variability-modelling practices and experiences with the aim to gather information on 1) the methods and strategies used to create and manage variability models, 2) the tools and notations used for variability modelling, 3) the perceived values and challenges of variability modelling, and 4) the core characteristics of their variability models. Our results show that variability models are often created by re-engineering existing products into a product line. All of the interviewees and the majority of survey participants indicated that they represent variability using separate variability models rather than annotative approaches. We found that developers use variability models for many purposes, such as the visualization of variabilities, configuration of products, and scoping of products. Although we observed that high degree of heterogeneity exists in the variability-modelling notations and tools used by organizations, feature-based notations and tools are the most common. We saw huge differences in the sizes of variability models and their contents, which indicate that variability models can have different use cases depending on the organization. Most of our study participants reported complexity challenges that were related mainly to the visualization and evolution of variability models, and dependency management. In addition, reports from interviews suggest that product-line adoption and variability modelling have forced developers to think in terms of a product-line scenario rather than a product-based scenario.
|
14 |
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.
|
15 |
Assessing product-line decisions with supermarket scanner data /Israilevich, Guillermo. January 2003 (has links)
Thesis (Ph. D.)--University of Chicago, The Graduate School of Business, Aug. 2003. / Includes bibliographical references (p. 54-57). Also available on the Internet.
|
16 |
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.
|
17 |
Variability-Modelling Practices in Industrial Software Product Lines: A Qualitative StudyNair, Divya Karunakaran 06 May 2013 (has links)
Many organizations have transitioned from single-systems development to product-line development with the goal of increasing productivity and facilitating mass customization. Variability modelling is a key activity in software product-line development that deals with the explicit representation of variability using dedicated models. Variability models specify points of variability and their variants in a product line. Although many variability-modelling notations and tools have been designed by researchers and practitioners, very little is known about their usage, actual benefits or challenges. Existing studies mostly describe product-line practices in general, with little focus on variability modelling. We address this gap through a qualitative study on variability-modelling practices in medium- and large-scale companies using two empirical methods: surveys and interviews. We investigated companies' variability-modelling practices and experiences with the aim to gather information on 1) the methods and strategies used to create and manage variability models, 2) the tools and notations used for variability modelling, 3) the perceived values and challenges of variability modelling, and 4) the core characteristics of their variability models. Our results show that variability models are often created by re-engineering existing products into a product line. All of the interviewees and the majority of survey participants indicated that they represent variability using separate variability models rather than annotative approaches. We found that developers use variability models for many purposes, such as the visualization of variabilities, configuration of products, and scoping of products. Although we observed that high degree of heterogeneity exists in the variability-modelling notations and tools used by organizations, feature-based notations and tools are the most common. We saw huge differences in the sizes of variability models and their contents, which indicate that variability models can have different use cases depending on the organization. Most of our study participants reported complexity challenges that were related mainly to the visualization and evolution of variability models, and dependency management. In addition, reports from interviews suggest that product-line adoption and variability modelling have forced developers to think in terms of a product-line scenario rather than a product-based scenario.
|
18 |
Uma abordagem orientada a aspectos para desenvolvimento de linhas de produtos de software / An approach to develop product lines for information systems using aspectsStanley Fabrizio Pacios 13 February 2007 (has links)
Este trabalho investiga como o desenvolvimento de linhas de produtos de software pode ser beneficiado pela utilização da programação orientada a aspectos para reduzir o acoplamento e aumentar a coesão das features da linha de produtos. Como resultado dessa investigação, uma abordagem para desenvolvimento incremental de linhas de produtos baseado em aspectos é proposta. São apresentadas as etapas, atividades e artefatos dessa abordagem. Por ser uma abordagem incremental, reduz-se a carga de trabalho necessária no início da produção da linha de produtos. Isso é conseguido graças à utilização de aspectos. Com isso, tem-se as vantagens de linhas de produtos ao mesmo tempo amenizando a desvantagem do risco do alto investimento inicial não ter o retorno esperado. A abordagem foi proposta com base em práticas estabelecidas de desenvolvimento de linhas de produtos de software e no estudo das práticas atuais para análise e projeto orientado a aspectos. Foi dada ênfase à abordagem Tema, que é utilizada neste trabalho como parte do ferramental para análise e projeto. A abordagem desenvolvida especifica práticas desde a análise de domínio até a implementação. Os aspectos são tratados desde os estágios iniciais do desenvolvimento. Técnicas para implementação com orientação a aspectos são propostas. Um estudo de caso utilizando as linguagens Java e AspectJ é apresentado para ilustrar as idéias propostas / This work investigates how the development of software product lines can benefit from the use of aspect-oriented programming to reduce coupling and increase cohesion of the product line features. As a result of this investigation, an approach to the incremental development of software product lines based on aspects is proposed. The phases, activities, and artifacts of this approach are presented. As it is an incremental approach, the amount of work needed in the beginning of the product line development is reduced. This is accomplished thanks to the use of aspects. This way, the advantages of product lines are obtained, attenuating, at the same time, the risk of the high initial investment not having the expected return. The approach has been proposed based on established practices of software product lines development and on the study of the actual practices for aspect-oriented analysis and design. Emphasis has been given to the Theme Approach, which is used in this work as part of the analysis and design tools. The proposed approach specifies practices from the domain analysis up to the implementation. Aspects are treated since the early development stages. Aspect-oriented implementation techniques are proposed. A case study using Java and AspectJ languages is presented to illustrate the proposed ideas
|
19 |
A scrum-inspired process for software product lines scopingSILVA, Ivonei Freitas da 29 October 2013 (has links)
Scoping in Software Product Lines (SPL) is the first step to identify products, features,
and assets in a market segment. Traditional approaches for SPL scoping are heavyweight
and upfront processes in scenarios with unpredictable changes and little resources. An
incurred key challenge is handling systematically the iterativeness, adaptability, and
feedback in the SPL scoping process. As a final consequence, the software industry can
hamper investment in the SPL scoping. In this context, the Scrum framework, as the
most popular agile approach to foster the iterativeness, adaptability, and feedbacks, can
address that challenge. Previous studies have combined Scrum into some SPL activities
with good results. This thesis provides a process, named of RiPLE-SCA, for SPL scoping
inspired in the Scrum practices. This process bases on industrial evidence (a case study of
a traditional SPL scoping), expert opinion on agile SPL (through a survey), and scientific
literature about agile SPL (a systematic mapping). A feasibility study and a cross-case
study carried out with two industrial partners indicated that the RiPLE-SCA is practicable
and appropriate for an industrial setting as well as fosters iterativeness, adaptability,
and feedbacks detecting early obsolete features and changes in domain, requirements,
features, and technology. / Submitted by João Arthur Martins (joao.arthur@ufpe.br) on 2015-03-12T18:58:41Z
No. of bitstreams: 2
Tese Ivonei Freitas da Silva.pdf: 9233841 bytes, checksum: 6029df71deecd12c97bd99e1787a8361 (MD5)
license_rdf: 1232 bytes, checksum: 66e71c371cc565284e70f40736c94386 (MD5) / Made available in DSpace on 2015-03-12T18:58:41Z (GMT). No. of bitstreams: 2
Tese Ivonei Freitas da Silva.pdf: 9233841 bytes, checksum: 6029df71deecd12c97bd99e1787a8361 (MD5)
license_rdf: 1232 bytes, checksum: 66e71c371cc565284e70f40736c94386 (MD5)
Previous issue date: 2013-10-29 / CNPq / A atividade de escopo em linhas de produto de software é o primeiro passo para identificar
produtos, características e ativos de software em um segmento de mercado. As abordagens
tradicionais para escopo de linhas de produto de software são processos densos
e abrangentes em cenários com mudanças imprevisíveis e com poucos recursos. Um
desafio chave nesse cenário é o gerenciamento sistemático da iteratividade, adaptabilidade
e do feedback no processo de escopo de linhas de produto de software. Como último
efeito, a indústria de software pode restringir investimentos no processo de escopo. Neste
contexto, o framework Scrum, abordagem mais popular para incentivar a iteratividade,
a adaptabilidade e o feedback, pode lidar com esse desafio. Estudos anteriores têm
combinado Scrum com algumas atividades de linhas de produto de software obtendo bons
resultados. Esta tese define um processo, denominado de RiPLE-ASC, para o escopo da
linha de produtos de software inspirado nas práticas do Scrum. Este processo basea-se
nas evidências da indústria (um estudo de caso real de escopo de linhas de produto
usando uma abordagem tradicional), na opinião de especialistas em linhas de produto de
software ágeis (através de um survey) e na literatura científica sobre linhas de produto de
software ágeis (uma mapeamento sistemático). Um estudo de viabilidade e um estudo de
caso “cross-case” executados com dois parceiros industriais de nosso grupo de pesquisa
indicaram que o RiPLE-ASC tem aplicação prática e adequa-se em um ambiente de
produção de software industrial bem como incentiva a iteratividade, adaptabilidade e o
feedback detectando cedo características obsoletas e mudanças no domínio, requisitos,
características e tecnologia
|
20 |
A regression testing approach for software product lines architecturesSilveira Neto, Paulo Anselmo da Mota 31 January 2010 (has links)
Made available in DSpace on 2014-06-12T15:57:06Z (GMT). No. of bitstreams: 2
arquivo3140_1.pdf: 4172532 bytes, checksum: b7cc6b23a678d29aa1a5c9c9da0617e9 (MD5)
license.txt: 1748 bytes, checksum: 8a4605be74aa9ea9d79846c1fba20a33 (MD5)
Previous issue date: 2010 / Fundação de Amparo à Ciência e Tecnologia do Estado de Pernambuco / Com o objetivo de produzir produtos individualizados, muitas vezes, as
empresas se deparam com a necessidade de altos investimentos, elevando assim
os preços de produtos individualizados. A partir dessa necessidade, muitas
empresas, começaram a introduzir o conceito de plataforma comum, com o
objetivo de desenvolver uma grande variedade de produtos, reusando suas partes
comuns. No contexto de linha de produto de software, essa plataforma em comum
é chamada de arquitetura de referência, que prove uma estrutura comum de alto
nível onde os produtos são construídos.
A arquitetura de software, de acordo com alguns pesquisadores, está se
tornando o ponto central no desenvolvimento de linha de produtos, sendo o
primeiro modelo e base para guiar a implementação dos produtos. No entanto,
essa arquitetura sofre modificações com o passar do tempo, com o objetivo de
satisfazer as necessidades dos clientes, a mudanças no ambiente, além de
melhorias e mudanças corretivas. Desta forma, visando assegurar que essas
modificações estão em conformidade com as especificações da arquitetura, não
introduziram novos erros e que as novas funcionalidades continuam funcionando
como esperado, a realização de testes de regressão é importante.
Neste contexto, este trabalho apresenta uma abordagem de regressão
utilizada tanto para reduzir o número de testes que precisam ser reexecutados, da
arquitetura de referência e da arquitetura dos produtos, quanto para tentar
assegurar que novos erros não foram inseridos, depois que essas arquiteturas
passaram por uma evolução ou mudança corretiva. Como regressão é vista como
uma técnica que pode ser aplicada em mais de uma fase de teste, neste trabalho
regressão é aplicado durante a fase de integração, uma vez que, ao final desta
fase teremos as arquiteturas da linha de produto testadas. Desta forma, uma
abordagem de integração também foi proposta.
Esta dissertação também apresenta uma validação inicial da abordagem,
através de um estudo experimental, mostrando indícios de que será viável a
aplicação de testes de regressão nas arquiteturas de uma linha de produto de
software
|
Page generated in 0.0574 seconds