Spelling suggestions: "subject:"productline"" "subject:"productlines""
91 |
Variabilidade em tratamento de exceções em linha de produtos de software / Variability of exception handling software product lineIizuka, Bruno de Abreu, 1985- 22 August 2018 (has links)
Orientador: Cecília Mary Fischer Rubira / Dissertação (mestrado) - Universidade Estadual de Campinas, Instituto de Computação / Made available in DSpace on 2018-08-22T01:16:52Z (GMT). No. of bitstreams: 1
Iizuka_BrunodeAbreu_M.pdf: 5618330 bytes, checksum: 684e091ec25c7c909bfbdfeae38b8487 (MD5)
Previous issue date: 2012 / Resumo: Atualmente, muitos esforços vêm sendo feitos para se obter um maior grau de reutilização durante o desenvolvimento de sistemas. Linha de Produtos de Software (LPS) é uma abordagem que promove a reutilização de software. A Arquitetura de Linha de Produtos (ALP) provê uma perspectiva global das variabilidades da linha, ao passo que engloba os conceitos tradicionais de uma arquitetura de software. Devido às variabilidades de software de uma ALP, a evolução arquitetural é ainda mais complexa, do que quando comparado com evolução de arquiteturas de software convencionais. Tratamento de exceções é uma técnica bastante conhecida para a detecção e tratamento de erros em sistemas de software. Porém, apesar da sua popularidade, o seu projeto e a sua implementação são constituídos de tarefas muito complexas que não recebem uma atenção adequada dos processos de desenvolvimento existentes. Separação de interesses é um dos objetivos do tratamento de exceções para separar o comportamento normal e excepcional do sistema de software. No contexto de uma LPS, a separação de interesses é importante para o design das variabilidades de software relacionadas às estratégias do comportamento normal e do comportamento excepcional, como a escolha de diferentes tratadores de exceções por diferentes características. O objetivo principal deste trabalho é apresentar um método para especificar e implementar a variabilidade de tratamentos de exceções em LPS baseadas em componentes. O método MVTE (Método de Variabilidade de Tratamento de Exceções) é uma combinação de métodos já conhecidos na literatura (PLUS e UML Components) e os modelos COSMOS* e COSMOS*-VP. Para validar o método MVTE foram utilizados dois estudos empíricos, e para medir a sua qualidade foram utilizadas as métricas de impacto de mudanças, acoplamento entre módulos e difusão de interesses / Abstract: Nowadays, many efforts are being made to achieve a higher degree of reuse during the development of systems. Software Product Lines (SPL) is an approach to improve software reuse. A PLA provides a global view of the variability's of a SPL, while it embodies the concepts and advantages of the traditional software architecture. Due to its variability's, a PLA is harder to evolve than a conventional software architecture. Exception handling is a well known technique to detect and treat errors in software systems. However, despite its popularity, its design and implementation are constituted of very complex tasks that do not receive the adequate attention from the existing development processes. Separation of concerns is one of the overarching goals of exception handling in order to keep separate normal and exceptional behavior of a software system. In the context of a software product line (SPL); this separation of concerns is also important for designing software variability's related to normal and exceptional behavior, such as the choice of different handlers depending on the set of selected features. The main goal of this work is to present a method to specify and implement the variability of exception handling in SPL components-based. The method MVTE (Variability of Exception Handler Method) is a combination of methods known in the literature (PLUS and UML Components) and models COSMOS* and COSMOS*-VP. To validate the method MVTE, it was studied two empirical studies, and to measure their quality it was used the metrics impact change, coupling between modules and diffusion over concerns / Mestrado / Ciência da Computação / Mestre em Ciência da Computação
|
92 |
A development process for building adaptative software architectures / Un processus de développement d'architectures logicielles adaptativesHuynh, Ngoc Tho 30 November 2017 (has links)
Les logiciels adaptatifs sont une classe de logiciels qui peuvent modifier leur structure et comportement à l'exécution afin de s'adapter à des nouveaux contextes d'exécution. Le développement de logiciels adaptatifs a été un domaine de recherche très actif les dix dernières années. Plusieurs approches utilisent des techniques issues des lignes des produits afin de développer de tels logiciels. Ils proposent des outils, des frameworks, ou des langages pour construire des architectures logicielles adaptatives, mais ne guident pas les ingénieurs dans leur utilisation. De plus, ils supposent que tous les éléments spécifiés à la conception sont disponibles dans l'architecture pour l'adaptation, même s'ils ne seront jamais utilisés. Ces éléments inutiles peuvent être une cause de soucis lors du déploiement sur une cible dont l'espace mémoire est très contraint par exemple. Par ailleurs, le remplacement de composants à l'exécution reste une tâche complexe, elle doit assurer non seulement la validité de la nouvelle version, mais aussi préserver la terminaison correcte des transactions en cours. Pour faire face à ces problèmes, cette thèse propose un processus de développement de logiciels adaptatifs où les tâches, les rôles, et les artefacts associés sont explicites. En particulier, le processus vise la spécification d'informations nécessaires pour construire des architectures logicielles adaptatives. Le résultat d'un tel processus est une architecture logicielle adaptative qui contient seulement des éléments utiles pour l'adaptation. De plus, un mécanisme d'adaptation est proposé basé sur la gestion de transactions pour assurer une adaptation dynamique cohérente. Elle assure la terminaison correcte des transactions en cours. Nous proposons pour cela la notion de dépendance transactionnelle : dépendance entre des actions réalisées par des composants différents. Nous proposons la spécification de ces dépendances dans le modèle de variabilité, et de l'exploiter pour décider des fonctions de contrôle dans les composants de l'architecture, des fonctions qui assurent une adaptation cohérente à l'exécution. / Adaptive software is a class of software which is able to modify its own internal structure and hence its behavior at runtime in response to changes in its operating environment. Adaptive software development has been an emerging research area of software engineering in the last decade. Many existing approaches use techniques issued from software product lines (SPLs) to develop adaptive software architectures. They propose tools, frameworks or languages to build adaptive software architectures but do not guide developers on the process of using them. Moreover, they suppose that all elements in the SPL specified are available in the architecture for adaptation. Therefore, the adaptive software architecture may embed unnecessary elements (components that will never be used) thus limiting the possible deployment targets. On the other hand, the components replacement at runtime remains a complex task since it must ensure the validity of the new version, in addition to preserving the correct completion of ongoing activities. To cope with these issues, this thesis proposes an adaptive software development process where tasks, roles, and associate artifacts are explicit. The process aims at specifying the necessary information for building adaptive software architectures. The result of such process is an adaptive software architecture that only contains necessary elements for adaptation. On the other hand, an adaptation mechanism is proposed based on transactions management for ensuring consistent dynamic adaptation. Such adaptation must guarantee the system state and ensure the correct completion of ongoing transactions. In particular, transactional dependencies are specified at design time in the variability model. Then, based on such dependencies, components in the architecture include the necessary mechanisms to manage transactions at runtime consistently.
|
93 |
Test basé sur les modèles appliqué aux lignes de produits / An approach of combining model-based testing with product Ffamily managementSamih, Hamza 05 December 2014 (has links)
L'ingénierie des lignes de produits est une approche utilisée pour développer une famille de produits. Ces produits partagent un ensemble de points communs et un ensemble de points de variation. Aujourd'hui, la validation est une activité disjointe du processus de développement des lignes de produits. L'effort et les moyens fournis dans les campagnes de tests de chaque produit peuvent être optimisés dans un contexte plus global au niveau de la ligne de produits. Le model-based testing est une technique de génération automatique des cas de test à partir d'un modèle d'états et de transitions construit à partir des exigences fonctionnelles. Dans cette thèse, nous présentons une approche pour tester une ligne de produits logiciels avec le model-based testing. La première contribution consiste à établir un lien entre le modèle de variabilité et le modèle de test, à l'aide des exigences fonctionnelles. La deuxième contribution est un algorithme qui extrait automatiquement un modèle de test spécifique à un produit membre de la famille de produits sous test. L'approche est illustrée par une famille de produits de tableaux de bord d'automobiles et expérimentée par un industriel du domaine aéronautique dans le cadre du projet Européen MBAT. / Software product line engineering is an approach that supports developing products in family. These products are described by common and variable features. Currently, the validation activity is disjointed from the product lines development process. The effort and resources provided in the test campaigns for each product can be optimized in the context of product lines. Model-based testing is a technique for automatically generating a suite of test cases from requirements. In this thesis report, we present an approach to test a software product line with model-based testing. This technique is based on an algorithm that establishes the relationship between the variability model released with OVM and the test model, using traceability of functional requirements present in both formalisms. Our contribution is an algorithm that automatically extracts a product test model. It is illustrated with a real industrial case of automotive dashboards and experimented by an industrial of aeronautic domain in the MBAT European project context.
|
94 |
Uma abordagem de linhas de produtos de software para apoiar e-Science / A software product lines approach to support e-ScienceFoschiani, Fernanda Yara dos Santos, 1983- 22 August 2018 (has links)
Orientador: Cecília Mary Fischer Rubira / Dissertação (mestrado) - Universidade Estadual de Campinas, Instituto de Computação / Made available in DSpace on 2018-08-22T06:21:21Z (GMT). No. of bitstreams: 1
Foschiani_FernandaYaradosSantos_M.pdf: 49651686 bytes, checksum: 9c6b109c2f901376bfd10d30c1ea12c3 (MD5)
Previous issue date: 2013 / Resumo: Com o aumento da demanda por software no mercado, a fim de reduzir custos e esforço em desenvolvimento e reduzir o tempo de entrega de software, diversas técnicas vêm sendo utilizadas e entre elas estão as Linhas de Produtos de Software (LPS). Por outro lado, os recursos computacionais vêm sendo muito utilizados não são na indústria, mas também em ambientes de pesquisa, facilitando o compartilhamento de dados e serviços computacionais. Este contexto, em que a computação torna-se parte integrante e fundamental para o sucesso na realização de pesquisas científicas, é chamado de e-Science. A diversidade de programas, simuladores e dados computacionais envolvidos em experimentos levam a necessidade de ambientes que forneçam facilidades para o uso e combinação das tecnologias, como por exemplo, ambientes de workflows científicos. A solução proposta nesta dissertação é uma infraestrutura para a execução de workflows científicos, que permite a pesquisadores criarem seus fluxos de trabalho de maneira personalizada, podendo utilizar componentes disponibilizados pela equipe de desenvolvimento, assim como componentes criados por eles mesmos, independentemente da linguagem de programação utilizada. A base para esta infraestrutura é uma linha de produtos baseada em componentes, desenvolvida a partir de sistemas legados. O método proposto para o desenvolvimento da linha de produtos é apoiado pelo arcabouço da Reengenharia Orientada a Características, separado em quatro fases. A primeira fase, Engenharia Reversa do Sistema Legado, extrai informações do código legado a fim de entender o domínio da aplicação e coletar as características que deverão existir na linha de produtos. A segunda fase do método, Análise da LPS, refina o modelo de características obtido na fase anterior e, utilizando técnicas de modelagem do método PLUS, desenvolve artefatos de software baseados em casos de uso. A fase de Projeto da LPS, terceira fase, aplica o método FArM para obter um mapeamento do modelo de características para modelos de arquitetura de linha de produtos baseada em componentes e especifica as interfaces dos componentes, gerando assim a arquitetura final. A quarta e ultima fase trata do desenvolvimento da linha de produtos. Para o desenvolvimento dos componentes foi utilizado o padrão COSMOS* de componentização, e código legado. Foram realizados três estudos de caso: os dois primeiros para avaliar se a solução proxi posta é capaz de substituir o sistema legado e também avaliar o reuso de componentes, e o terceiro estudo para avaliar a capacidade de customização da linha de produtos, a partir da adição de um novo componente desenvolvido em MatLab. Os três estudos apresentaram resultados positivos, indicando que a solução proposta nesta dissertação facilita a modificação da linha de produtos, além de permitir aos pesquisadores a customização de fluxos de trabalho, auxiliando assim o processo de pesquisa científica / Abstract: With the increasing demand for software in order to reduce development costs and effort, and to reduce the time-to-market, several techniques are being used, including the Software Product Line (SPL). Computational resources are commonly used in the research field, in order to facilitate data and computational services sharing. The context in which computing becomes a fundamental for the success of scientific research is called e-Science. The systems diversity, simulators and computational data involved in experiments leads to the necessity of environments that provide facilities for technology use and matching, for example the scientific workflow environment. The proposed solution in this thesis is a scientific workflow environment that allows the researchers to create their own personalized workflows, using components provided by the development team as well as components developed by themselves, regardless of the language being used. The basis for this workflow environment is a component based software product line, developed from legacy systems. The proposed method for the software product line development is supported by the Feature-oriented Reengineering framework, which is divided into four steps. The first one, SPL Reverse Engineering, extracts information about the legacy system in order to understand the application domain and collect the features that need to exist in the product line. The second step, SPL Analysis, refines the feature model obtained in the previous step and, using PLUS modeling techniques, develops software assets based on use cases. The SPL Project step, which is the third approach step, applies the FArM method to obtain a mapping of the feature model to architectural components, and specifies the components' interface, creating the final architecture. The last step is the product line development. For the components development we used the COSMOS* model and legacy code. We performed three case studies: two of them to evaluate if the product line is capable of replacing the legacy system and enhance components reuse, and the third one to evaluate the workflow customization capability, by the addition of a component developed in MatLab. All the case studies had a positive result, showing that the proposed solution of this ix thesis facilitates the product line architectures evolution and allows the researchers to customize their workflows, aiding the research process / Mestrado / Ciência da Computação / Mestra em Ciência da Computação
|
95 |
Tool support for the derivation of product line use cases : A case study in the railway transportation domainForsman, Viking January 2021 (has links)
Use cases are textual artifacts used to define the expected behavior of a system. However, use cases become more complicated when applied in a product line context since they need to define the behavior of several systems. Product line use cases require knowledge of commonality and variability concepts, which all involved stakeholders do not necessarily possess. Product-specific use cases are more understandable since they do not include variability information. Therefore, it would be beneficial to derive product-specific use cases from the product line use cases once the variability has been bound. This derivation could alleviate communication and help create a shared understanding of the product's expected behavior amongst diverse stakeholders. In this thesis work, we have implemented a tool that can perform this type of derivation. The tool is divided into two collaborating parts. The first part is an extension to DOORS, which is responsible for creating and maintaining product line use cases. The second part is a third-party application responsible for binding the variability and deriving product-specific use cases. This tool was evaluated using a questionnaire with participants from Alstom, a company within the railway transportation domain. The evaluation showed that the tool has potential as a vehicle for communication amongst diverse stakeholders. / Use cases är textuella artefakter vilka används för att definiera det förväntade beteendet hos system. Dock så blir use cases mer komplicerade när de appliceras inom en produktionslinje-kontext, eftersom de då behöver definiera beteendet av flera olika system. Användandet av produktionslinje use cases kräver kännedom av kommonalitet och variabilitet koncept, vilket alla inblandade delägare inte nödvändigtvis behärskar. Därför skulle det vara gynnsamt om man kunde derivera produktspecifika use cases från produktionslinje use cases när dess variabilitet har bundits. Denna derivation skulle kunna underlätta kommunikation och skapa en gemensam förståelse av produktens förväntande beteende bland delägare med olika bakgrunder. I detta avhandlingsarbete har vi implementerat ett verktyg som kan utföra denna typ av derivation. Verktyget är uppdelat i två samarbetande delar. Den första delen är ett tilläggsprogram till DOORS, vilken är ansvarigt för att skapa och underhålla produktionslinje use cases. Den andra delen är en tredjeparts applikation vilken är ansvarig för att binda variabiliteten och derivera fram produktspecifika use cases. Verktyget evaluerades med ett frågeformulär med tio deltagare från Alstom, ett företag inom järnvägstransport området. Denna evaluering visade att verktyget har potential att användas som ett fordon för kommunikation mellan delägare med olika bakgrunder.
|
96 |
Towards a Modular Product Line of Graphical EditorsKassin, Kevin Ivo 16 January 2019 (has links)
This thesis addresses designing Product Lines (PLs) of Graphical Editors (GEs). It provides a feasible top-down design approach specialized on such Graphical Editor Product Lines (GEPLs), which can be configured dynamically. Furthermore, the end product's features are implemented modular, which has numerous positive effects on the development and maintenance processes for the family. These effects reach from decreasing the complexity of big PLs, allowing to delegate split up development tasks onto multiple isolated working teams, easier debugging and flexibility to extend or specialize a family of products as well as being able to use functionalities developed by third-party vendors. While design methods avoiding monolithic architectures and implementations exist for many PL domains, there are none known for GEPLs. Yet, the domain of those offers many challenges as GEPLs are actually comprised of Software Product Lines (SPLs) and Language Product Lines (LPLs), which is a combination untackled by any modular design approach known to me. Additionally, products in the domain require to implement multiple distinct and specific concerns, leading to artifacts which differ significantly but have to be located and managed in a single component. Overall, this justifies the need for specialized design approaches for the GEPL domain. In regard to this need, this thesis gives an overview of the existing landscape of approaches to design PLs, analyzing solutions offered by other researchers. Furthermore, a requirement analysis for the GEPL domain is conducted. Its results are the foundation for the presentation of a top-down design approach for dynamically configurable GEPLs, which are implemented feature modularly. Finally, a case study documenting the development of such a family of GEs is providing a proof of its feasibility.:1 Introduction
1.1 Motivation
1.2 Problem Definition
1.3 Outline
1.4 Terminology
2 Survey on Software and Language Product Line Design
2.1 Classification Scheme
2.1.1 Domain
2.1.2 Configuration
2.1.3 Design Method
2.1.4 Modularity
2.2 Overview
2.3 Discussion
2.3.1 Evaluation
2.3.2 Results
3 Requirements of Graphical Editor Product Lines 32
3.1 Functional Requirements
3.1.1 Edit Concerns
3.1.2 Language Family Concerns
3.2 Non-Functional Requirements
3.2.1 User Requirements
3.2.2 Development Requirements
4 Design of Graphical Editor Product Lines
4.1 Characteristics
4.2 Design Approach
4.2.1 Edit Concerns
4.2.2 Language Family Concerns
4.3 Discussion
4.3.1 Techniques
4.3.2 Evaluation
5 Case study: Modularization of a Family of Graphical Editors
5.1 Background
5.1.1 Compartment Role Object Model
5.1.2 Full-fledged Role Modeling Editor
5.1.3 Reusable Technology
5.2 Realization
5.2.1 Edit Concerns
5.2.2 Language Family Concerns
5.3 Discussion
5.3.1 Requirements
5.3.2 Limitations of the Modularization
5.3.3 Results
6 Conclusion
6.1 Summary
6.1.1 Desired Properties
6.1.2 Feasibility
6.2 Contributions
6.3 Future Work
6.3.1 Bottom-Up Design Method
6.3.2 Requirements
6.3.3 Modularization
|
97 |
Using Variability Management in Mobile Application Test ModelingPüschel, Georg, Seidl, Christoph, Schlegel, Thomas, Aßmann, Uwe 22 May 2014 (has links)
Mobile applications are developed to run on fast-evolving platforms, such as Android or iOS. Respective mobile devices are heterogeneous concerning hardware (e.g., sensors, displays, communication interfaces) and software, especially operating system functions. Software vendors cope with platform evolution and various hardware configurations by abstracting from these variable assets. However, they cannot be sure about their assumptions on the inner conformance of all device parts and that the application runs reliably on each of them—in consequence, comprehensive testing is required. Thereby, in testing, variability becomes tedious due to the large number of test cases required to validate behavior on all possible device configurations. In this paper, we provide remedy to this problem by combining model-based testing with variability concepts from Software Product Line engineering. For this purpose, we use feature-based test modeling to generate test cases from variable operational models for individual application configurations and versions. Furthermore, we illustrate our concepts using the commercial mobile application “runtastic” as example application.
|
98 |
Achieving Autonomic Computing through the Use of Variability Models at Run-timeCetina Englada, Carlos 15 April 2010 (has links)
Increasingly, software needs to dynamically adapt its behavior at run-time in response
to changing conditions in the supporting computing infrastructure and in
the surrounding physical environment. Adaptability is emerging as a necessary underlying
capability, particularly for highly dynamic systems such as context-aware
or ubiquitous systems.
By automating tasks such as installation, adaptation, or healing, Autonomic
Computing envisions computing environments that evolve without the need for human
intervention. Even though there is a fair amount of work on architectures
and their theoretical design, Autonomic Computing was criticised as being a \hype
topic" because very little of it has been implemented fully. Furthermore, given that
the autonomic system must change states at runtime and that some of those states
may emerge and are much less deterministic, there is a great challenge to provide
new guidelines, techniques and tools to help autonomic system development.
This thesis shows that building up on the central ideas of Model Driven Development
(Models as rst-order citizens) and Software Product Lines (Variability
Management) can play a signi cant role as we move towards implementing the key
self-management properties associated with autonomic computing. The presented
approach encompass systems that are capable of modifying their own behavior with
respect to changes in their operating environment, by using variability models as if
they were the policies that drive the system's autonomic recon guration at runtime.
Under a set of recon guration commands, the components that make up the architecture
dynamically cooperate to change the con guration of the architecture to a
new con guration.
This work also provides the implementation of a Model-Based Recon guration
Engine (MoRE) to blend the above ideas. Given a context event, MoRE queries the variability models to determine how the system should evolve, and then it provides
the mechanisms for modifying the system. / Cetina Englada, C. (2010). Achieving Autonomic Computing through the Use of Variability Models at Run-time [Tesis doctoral]. Universitat Politècnica de València. https://doi.org/10.4995/Thesis/10251/7484
|
99 |
SystEM-PLA: um método sistemático para avaliação de arquitetura de linha de produto de software baseada em UML / SystEM-PLA: a systematic evaluation method for UML-based software product line architectureOliveira Junior, Edson Alves de 03 September 2010 (has links)
A abordagem de linha de produto de software (LP) tem como objetivo principal promover a geração de produtos específicos de um determinado domínio com base na reutilização de uma infraestrutura central, chamada núcleo de artefatos. Um dos principais artefatos do núcleo de uma LP é a Arquitetura de LP (ALP), que representa a abstração de todas as arquiteturas de sistemas únicos que podem ser gerados, para um domínio específico. Avaliações de ALP são importantes, pois permitem aumentar a produtividade e a qualidade dos produtos da LP, bem como, seus resultados permitem a análise de metas de negócio e de retorno de investimento. Este trabalho propõe um método sistemático para avaliação de ALP, o SystEM-PLA (a Systematic Evaluation Method for Software Product Line Architectures). Tal método considera modelos de ALP em UML, por ser uma notação amplamente conhecida e consolidada. SystEM-PLA é composto por um metaprocesso de avaliação, diretrizes que guiam o usuário em como avaliar uma ALP e métricas básicas para modelos UML e atributos de qualidade. O método utiliza a abordagem SMarty (Stereotype-based Management of Variability), para gerenciar variabilidades em LP baseadas em UML. Análises de trade-off com o objetivo de priorizar atributos de qualidade para o desenvolvimento e evolução dos produtos de uma LP são realizadas com base na aplicação e coleta das métricas do SystEM-PLA em configurações de uma ALP. As métricas propostas para os atributos de qualidade complexidade e extensibilidade foram validadas por meio de um estudo experimental. Evidências indicaram a viabilidade de aplicação do método SystEM-PLA na indústria com base em um estudo experimental realizado com profissionais de uma empresa de grande porte no setor de desenvolvimento de software / The software product line (PL) approach aims at promoting the generation of specific products from a particular domain based on the reuse of a central infra-structure, so-called core assets. One of the main assets of a PL is the PL Architecture (PLA) that represents the abstraction of all possible single-product architectures that can be generated for a particular domain. PLA evaluations are important due to allow the increasing of the productivity and the quality of PL products, as well as their results allow business drivers and return on investment analyzes. This work proposes a Systematic Evaluation Method for Software Product Line Architectures, the SystEM-PLA. This method takes into account UML models with PLA variability explicitly represented, since UML is a widely known and consolidated notation. SystEM-PLA is composed of an evaluation meta-process, guidelines that drive the user on how to evaluate a PLA, and basic and quality attribute metrics. This method uses the proposed approach Stereotype-based Management of Variability (SMarty) to manage variabilities in UML-based PLs. Trade-off analyses to prioritize quality attributes for the development and evolution of PL products are carried out based on the application and collection of the SystEM-PLA metrics from PLA configurations. The quality attribute metrics were validated trough an experimental study. Evidences indicated the SystEM-PLA application feasibility in industry based on an experimental study, planned and conducted with professionals from a large software development organization
|
100 |
SystEM-PLA: um método sistemático para avaliação de arquitetura de linha de produto de software baseada em UML / SystEM-PLA: a systematic evaluation method for UML-based software product line architectureEdson Alves de Oliveira Junior 03 September 2010 (has links)
A abordagem de linha de produto de software (LP) tem como objetivo principal promover a geração de produtos específicos de um determinado domínio com base na reutilização de uma infraestrutura central, chamada núcleo de artefatos. Um dos principais artefatos do núcleo de uma LP é a Arquitetura de LP (ALP), que representa a abstração de todas as arquiteturas de sistemas únicos que podem ser gerados, para um domínio específico. Avaliações de ALP são importantes, pois permitem aumentar a produtividade e a qualidade dos produtos da LP, bem como, seus resultados permitem a análise de metas de negócio e de retorno de investimento. Este trabalho propõe um método sistemático para avaliação de ALP, o SystEM-PLA (a Systematic Evaluation Method for Software Product Line Architectures). Tal método considera modelos de ALP em UML, por ser uma notação amplamente conhecida e consolidada. SystEM-PLA é composto por um metaprocesso de avaliação, diretrizes que guiam o usuário em como avaliar uma ALP e métricas básicas para modelos UML e atributos de qualidade. O método utiliza a abordagem SMarty (Stereotype-based Management of Variability), para gerenciar variabilidades em LP baseadas em UML. Análises de trade-off com o objetivo de priorizar atributos de qualidade para o desenvolvimento e evolução dos produtos de uma LP são realizadas com base na aplicação e coleta das métricas do SystEM-PLA em configurações de uma ALP. As métricas propostas para os atributos de qualidade complexidade e extensibilidade foram validadas por meio de um estudo experimental. Evidências indicaram a viabilidade de aplicação do método SystEM-PLA na indústria com base em um estudo experimental realizado com profissionais de uma empresa de grande porte no setor de desenvolvimento de software / The software product line (PL) approach aims at promoting the generation of specific products from a particular domain based on the reuse of a central infra-structure, so-called core assets. One of the main assets of a PL is the PL Architecture (PLA) that represents the abstraction of all possible single-product architectures that can be generated for a particular domain. PLA evaluations are important due to allow the increasing of the productivity and the quality of PL products, as well as their results allow business drivers and return on investment analyzes. This work proposes a Systematic Evaluation Method for Software Product Line Architectures, the SystEM-PLA. This method takes into account UML models with PLA variability explicitly represented, since UML is a widely known and consolidated notation. SystEM-PLA is composed of an evaluation meta-process, guidelines that drive the user on how to evaluate a PLA, and basic and quality attribute metrics. This method uses the proposed approach Stereotype-based Management of Variability (SMarty) to manage variabilities in UML-based PLs. Trade-off analyses to prioritize quality attributes for the development and evolution of PL products are carried out based on the application and collection of the SystEM-PLA metrics from PLA configurations. The quality attribute metrics were validated trough an experimental study. Evidences indicated the SystEM-PLA application feasibility in industry based on an experimental study, planned and conducted with professionals from a large software development organization
|
Page generated in 0.0494 seconds