Spelling suggestions: "subject:"softwareproduktlinien"" "subject:"softwareproducts""
11 |
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
|
12 |
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
|
13 |
Capturing Architectural Knowledge of Software Product LinesHerbas, Jose Antonio Mercado January 2011 (has links)
The architecture of a software system is defined by significant decisions that drive the way in which the software is designed implemented and maintained. In the context of software product lines, these decisions will determine the design of an architec- ture that provides the software with the ability to be configured for different product variants and extended to accommodate future requirements. Although, variability models describe the different configurations of current and fu- ture products that the product line supports, the knowledge of how the architecture was designed to support variations of a product in space and time exists only in the architects’ mind or remains implicit in architectural models. This thesis argues that the knowledge found in architectural models and design rationale can be used to facilitate the derivation of product variants and the evolution of the product line. To support this notion, we propose the AKinSPL method for capturing the architec- tural knowledge in software product lines. The method is founded on the factors that architects take into consideration when designing the architecture, and a meta-model that represents the mental models and processes architects follow during the creation of a product line architecture. To validate the concepts of AKinSPL, its guidelines were mapped to activities of the PuLSE-DSSA methodology and new artifacts were created to capture architectural knowledge on the basis of those guidelines. Next, it was applied to capture the archi- tectural knowledge of an embedded software system for automatic control of agricul- tural equipment. The results showed that diagrams augmented with design rationale enable a faster understanding of the purpose of the architectural models. Similarly, the prescriptions of the architecture with respect to the implementation are conveyed more easily. / jmercadoh@gmail.com Tel: +4916099058545
|
14 |
Variability in Evolving Software Product Lines / Variabilitet i evolverande mjukvaruproduktlinjerSvahnberg, Mikael January 2000 (has links)
Software reuse is perceived as the key to successful software development because of the potential for shortened time to market, increased quality and reduced costs. In recent years software product lines have emerged as a promising way to achieve large scale software reuse. Challenges against successful reuse when developing in a software product line involves management of the differences between products, and the differences between different releases of the products. In this thesis we present the experiences from a series of case studies within four software companies. Based on these we present a taxonomy of the technical solutions to manage product differences, a historical essay of how components in a software product line can evolve and what mechanisms that are used to support this evolution. From this we elaborate on the connection between evolution and variability, i.e. the ability of the software architecture and components to support the differences between products. We argue that evolution is strongly connected to variability, and that by foreseeing the evolution, the software can be instrumented with appropriate variability mechanisms accordingly. Moreover, we argue that some types of evolution are more frequent than others, and that the efforts should mainly go in the direction of foreseeing and instrumenting for these types of evolution.
|
15 |
Integration of Service-Oriented Embedded Systems with External Systems in Software Product LinesJohansson, Nils January 2024 (has links)
Developing software for complicated systems is often done by collaboration and consists of deliverables by a multitude of organisations. The deliverables can range from smaller devices and commercial-off-the-shelf software components, to larger systems. This is the situation during the development of the embedded system for large vehicles or machines. Many companies within the embedded industry are transitioning to using Service-Orientation to develop high-quality software and reduce costs. However, when integrating different external systems with an internal, service-oriented system there may arise difficulties since the communication patterns, i.e. interface, cannot be changed to fit the internal system. This study aims to develop a design solution that can be used to integrate different external systems with an internally developed service-oriented system in an entire software product line, including the handling of variability by parametrization. The solution is evaluated by software developers at a company in such a situation. To develop the design solution design science methodology is applied, which is an iterative process that continuously improves the candidate solution until satisfactory according to various stakeholders. The resultant design solution includes the use of wrappers-based interaction between systems, where so-called adapters are used when the internal system acts as a client to an external system, and using gateways for when the internal systems acts as a server to an external system. We also observe the need for a system integration view to describe the relations and available communication mechanisms between systems, i.e. the gateways and adapters. We conclude that to integrate a service-oriented software system with non-service-oriented systems, there can be benefits to using an abstraction layer between systems to protect the internally developed software architecture from being affected by the nature of the external system. Attempting to integrate external systems with an internal system as if also developed internally may become troublesome in terms of defining and upholding an appropriate service-oriented architecture. This is especially important when considering variability of the complete system, where different external systems are used or replaced in specific variants.
|
16 |
RiPLE-EM: a process to manage evolution in software product linesOliveira, Thiago Henrique Burgos de 31 January 2009 (has links)
Made available in DSpace on 2014-06-12T15:53:51Z (GMT). No. of bitstreams: 2
arquivo1933_1.pdf: 2116074 bytes, checksum: 1144c9fce7906fba6fc1437ad2a4c27b (MD5)
license.txt: 1748 bytes, checksum: 8a4605be74aa9ea9d79846c1fba20a33 (MD5)
Previous issue date: 2009 / Reuso de software é um aspecto chave para organizações interessadas em obter melhorias
de produtividade, qualidade e redução de custos. Linhas de Produto de Software é uma
abordagem de reúso de software que provou seus benefícios em diferentes contextos
industriais (Weiss et al., 2006). Em termos de evolução, uma linha de produtos é um
conjunto em contínua evolução, e por isso, sua evolução precisa ser gerenciada para que
se alcance os benefícios dessa abordagem.
O fato de um core asset ser compartilhado entre produtos, e todas as mudanças neste
core asset poder ter efeito sobre diversos produtos (McGregor, 2003), aliado ao fato que
em linhas de produto de software é preciso lidar com evolução no tempo (versões) e
também evolução no espaço (variabilidade) (Krueger, 2002), faz com que o gerenciamento
da evolução (mudanças) em linhas de produto de software seja mais complexo e mais
desafiador do que o desenvolvimento tradicional de sistemas únicos (Pussinen, 2002).
Portanto, a evolução dos core assets e também dos produtos precisa ser bem gerenciada
para minimizar os problemas causados por ela.
Este desafio envolve diferentes soluções, como questões técnicas, gerenciais e processuais.
Desta forma, o foco desta dissertação está nos problemas ligados ao processo de
gerenciamento evolução em linhas de produto de software.
Neste contexto, este trabalho apresenta o RiPLE-EM, que é um processo para gerenciamento
da evolução. Este processo é uma forma sistemática de guiar e gerenciar a
evolução de cada core asset e cada produto, englobando atividades de gerenciamento de
mudanças, builds, e entregas.
Esta dissertação também apresenta a validação inicial do RiPLE-EM, seguindo guias
bem estabelecidos de experimentação de software (Wohlin et al., 2000), e de acordo com
os dados coletados e analisados na experimentação, RiPLE-EM mostra indicações de
que seja um processo viável para o gerenciamento da evolução em linhas de produto de
software
|
17 |
MODEL DRIVEN SOFTWARE PRODUCT LINE ENGINEERING: SYSTEM VARIABILITY VIEW AND PROCESS IMPLICATIONSGómez Llana, Abel 20 March 2012 (has links)
La Ingeniería de Líneas de Productos Software -Software Product Line Engineerings
(SPLEs) en inglés- es una técnica de desarrollo de software que busca aplicar
los principios de la fabricación industrial para la obtención de aplicaciones informáticas:
esto es, una Línea de productos Software -Software Product Line (SPL)-
se emplea para producir una familia de productos con características comunes, cuyos
miembros, sin embargo, pueden tener características diferenciales. Identificar
a priori estas características comunes y diferenciales permite maximizar la reutilización,
reduciendo el tiempo y el coste del desarrollo. Describir estas relaciones
con la suficiente expresividad se vuelve un aspecto fundamental para conseguir el
éxito.
La Ingeniería Dirigida por Modelos -Model Driven Engineering (MDE) en
inglés- se ha revelado en los últimos años como un paradigma que permite tratar
con artefactos software con un alto nivel de abstracción de forma efectiva. Gracias
a ello, las SPLs puede aprovecharse en granmedida de los estándares y herramientas
que han surgido dentro de la comunidad de MDE.
No obstante, aún no se ha conseguido una buena integración entre SPLE y MDE,
y como consecuencia, los mecanismos para la gestión de la variabilidad no son suficientemente expresivos. De esta manera, no es posible integrar la variabilidad de
forma eficiente en procesos complejos de desarrollo de software donde las diferentes
vistas de un sistema, las transformaciones de modelos y la generación de código
juegan un papel fundamental.
Esta tesis presenta MULTIPLE, un marco de trabajo y una herramienta que persiguen
integrar de forma precisa y eficiente los mecanismos de gestión de variabilidad
propios de las SPLs dentro de los procesos de MDE. MULTIPLE proporciona
lenguajes específicos de dominio para especificar diferentes vistas de los sistemas
software. Entre ellas se hace especial hincapié en la vista de variabilidad ya que es
determinante para la especificación de SPLs. / Gómez Llana, A. (2012). MODEL DRIVEN SOFTWARE PRODUCT LINE ENGINEERING: SYSTEM VARIABILITY VIEW AND PROCESS IMPLICATIONS [Tesis doctoral]. Universitat Politècnica de València. https://doi.org/10.4995/Thesis/10251/15075
|
18 |
X-Tools: A Case Study in Building World Class SoftwareCooke, Alan 10 1900 (has links)
ITC/USA 2010 Conference Proceedings / The Forty-Sixth Annual International Telemetering Conference and Technical Exhibition / October 25-28, 2010 / Town and Country Resort & Convention Center, San Diego, California / X-Tools is a collection of utilities for validation, translation, editing and report generation designed to enable the Flight Test Instrumentation (FTI) community to quickly adopt the XidML 3.0 meta-data standard. This paper discusses the challenges of developing such software that meets the current and future needs of the FTI community, and meets the increasingly high quality standards expected of modern software. The paper first starts by discussing the needs of the FTI community and the specific functional requirements of software. These include the ability to fit in with legacy systems, the ability to handle many tens of thousands of parameters, support for new networked-based technologies and support for hardware from any vendor. The non-functional requirements of FTI orientated software are also described and it is suggested that the key non-functional requirements include testability, modifiability, extensibility and maintainability. Finally, as a case study, the X-Tools from ACRA CONTROL are presented. The paper discusses their design, and the tactics used to meet the functional and non-functional requirements of the FTI industry. The paper then outlines how the rigorous quality standards were met and describes the specific mechanisms used to verify the quality of the software.
|
19 |
Industrialising software development in systems integrationMinich, Matthias Ernst January 2013 (has links)
Compared to other disciplines, software engineering as of today is still dependent on craftsmanship of highly-skilled workers. However, with constantly increasing complexity and efforts, existing software engineering approaches appear more and more inefficient. A paradigm shift towards industrial production methods seems inevitable. Recent advances in academia and practice have lead to the availability of industrial key principles in software development as well. Specialization is represented in software product lines, standardization and systematic reuse are available with component-based development, and automation has become accessible through model-driven engineering. While each of the above is well researched in theory, only few cases of successful implementation in the industry are known. This becomes even more evident in specialized areas of software engineering such as systems integration. Today’s IT systems need to quickly adapt to new business requirements due to mergers and acquisitions and cooperations between enterprises. This certainly leads to integration efforts, i.e. joining different subsystems into a cohesive whole in order to provide new functionality. In such an environment. the application of industrial methods for software development seems even more important. Unfortunately, software development in this field is a highly complex and heterogeneous undertaking, as IT environments differ from customer to customer. In such settings, existing industrialization concepts would never break even due to one-time projects and thus insufficient economies of scale and scope. This present thesis, therefore, describes a novel approach for a more efficient implementation of prior key principles while considering the characteristics of software development for systems integration. After identifying the characteristics of the field and their affects on currently-known industrialization concepts, an organizational model for industrialized systems integration has thus been developed. It takes software product lines and adapts them in a way feasible for a systems integrator active in several business domains. The result is a three-tiered model consolidating recurring activities and reducing the efforts for individual product lines. For the implementation of component-based development, the present thesis assesses current component approaches and applies an integration metamodel to the most suitable one. This ensures a common understanding of systems integration across different product lines and thus alleviates component reuse, even across product line boundaries. The approach is furthermore aligned with the organizational model to depict in which way component-based development may be applied in industrialized systems integration. Automating software development in systems integration with model-driven engineering was found to be insufficient in its current state. The reason herefore lies in insufficient tool chains and a lack of modelling standards. As an alternative, an XML-based configuration of products within a software product line has been developed. It models a product line and its products with the help of a domain-specific language and utilizes stylesheet transformations to generate compliable artefacts. The approach has been tested for its feasibility within an exemplarily implementation following a real-world scenario. As not all aspects of industrialized systems integration could be simulated in a laboratory environment, the concept was furthermore validated during several expert interviews with industry representatives. Here, it was also possible to assess cultural and economic aspects. The thesis concludes with a detailed summary of the contributions to the field and suggests further areas of research in the context of industrialized systems integration.
|
20 |
Towards Dynamic Software Product Lines: Unifying Design and Runtime AdaptationsParra, Carlos 04 March 2011 (has links) (PDF)
Pour profiter des nombreux matériels actuellement, les logiciels s'exécutant sur des téléphones mobiles doivent devenir sensibles au contexte, c'est-à-dire, qu'ils doivent surveiller les événements provenant de leur environnement et réagir en conséquence. Nous considérons que ces logiciels peuvent bénéficier d'une approche basée sur les Lignes de Produits Logiciels (LPL). Les LPLs sont définies pour exploiter les points communs par la définition d'éléments réutilisables. Néanmoins, les LPLs ne prennent pas en compte les modifications à l'exécution des applications. Cette thèse propose une ligne de produits logiciels dynamique (LPLD) qui étend une LPL classique en fournissant des mécanismes pour adapter les produits à l'exécution. Notre objectif principal est d'unifier les adaptations à la conception et à l'exécution en utilisant des artefacts logiciels de haut niveau. Concrètement, nous introduisons un modèle de variabilité et un modèle de composition pour modulariser les produits sous forme de modèles d'aspect. Chaque modèle d'aspect a trois parties : l'architecture, les modifications, et le point de coupe. Ensuite, nous proposons deux processus de dérivation du produit : un pour la conception que vise à construire un produit, et un pour l'exécution que vise à adapter un produit. Ce travail de recherche s'est déroulé dans le cadre du projet FUI CAPPUCINO. Nous avons défini une LPLD pour une étude de cas de vente d'un hypermarché sensible au contexte. Le scénario démontre les avantages de notre approche et, en particulier, l'unification réalisée par les modèles d'aspect utilisés à la fois à la conception et à l'exécution.
|
Page generated in 0.0544 seconds