• Refine Query
  • Source
  • Publication year
  • to
  • Language
  • 135
  • 67
  • 7
  • 6
  • 5
  • 5
  • 2
  • 2
  • 2
  • 1
  • 1
  • Tagged with
  • 238
  • 238
  • 135
  • 90
  • 82
  • 52
  • 50
  • 44
  • 43
  • 38
  • 37
  • 36
  • 35
  • 33
  • 33
  • 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.
171

Variabilidade em tratamento de exceções em linha de produtos de software / Variability of exception handling software product line

Iizuka, 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
172

Challenges and Recommendations in Software Product Transfers : Receiving Site’s Perspective / Challenges and Recommendations in Software Product Transfers : Receiving Site’s Perspective

Norrakarnkorn, Wannee January 2013 (has links)
Context: Software transfer is one of the approaches to globalize software development that prescribes transferring a software product from an original development site to another site. This approach is challenged by transferring knowledge from experienced people to inexperienced people. Therefore, the identified challenges and recommendations related to software transfer are vital to a successful software transfer project. Objectives: The main aim of this study is to identify recommendations for transferring software products for further maintenance from receiving site’s perspective. This is achieved by an in-depth understanding of the staged model for the software life cycle, the differences of software transfer type, how software transfers impact software evolvability, and the challenges at the receiving sites after transfers. Methods: In order to fulfill the aim and objectives of the research, the author of this thesis collected data through a literature review and conducted interviews with 10 developers, who were involved in software transfer projects in three different international companies – 6 developers from Alpha company, 3 developers from Beta company, and 1 developer from Gamma company. Through the literature review, the author of this thesis found 35 primary studies relevant to research objectives. For analyzing the data, the author of this thesis used Strauss and Corbin’s open coding and axial coding techniques. Results: In total, 15 challenges for the receiving sites in maintaining transferred software products were identified and placed in 8 categories. Three factors that trigger changes from one product maintenance stage to another were identified. 19 recommendations for planning to transfer a software product were derived from challenges and factors found. These challenges, factors, and recommendations are elaborated in this report. Conclusions: The results of this study both validate and extend current knowledge of software product transfer. There should be more empirical research performed on after transfer period of software product transfer to identify the challenges and recommendations associated with transferring software products. However, the results of this study should be beneficial for companies when transferring software products to remote sites within company. / This thesis investigates the challenges in transferring software product by collecting data through a literature review and conducted interviews with 10 developers, who were involved in software transfer projects in three different international companies and contributes with recommendations to overcome these challenges. The result of the research both validates and extends current knowledge of software product transfer.
173

A development process for building adaptative software architectures / Un processus de développement d'architectures logicielles adaptatives

Huynh, 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.
174

Metamodels and feature models : complementary approaches to formalize product comparison matrices / Méta-modèles et modèles de caractéristiques : deux approches complémentaires pour formaliser les matrices de comparaison de produits

Bécan, Guillaume 23 September 2016 (has links)
Les Matrices de Comparaison de Produits (MCP) sont largement répandues sur le web. Elles fournissent une représentation simple des caractéristiques d'un ensemble de produits. Cependant, le manque de formalisation et la grande diversité des MCP rendent difficile le développement de logiciels pour traiter ces matrices. Dans cette thèse, nous développons deux approches complémentaires pour la formalisation de MCP. La première consiste en une description précise de la structure et la sémantique d'une MCP sous la forme d'un meta-modèle. Nous proposons aussi une transformation automatique d'une MCP vers un modèle de MCP conforme au meta-modèle. La seconde approche consiste à synthétiser des modèles de caractéristiques attribués à partir d'une classe de MCP. Grâce nos contributions, nous proposons une approche générique et extensible pour la formalisation et l'exploitation de MCP. / Product Comparison Matrices (PCMs) abound on the Web. They provide a simple representation of the characteristics of a set of products. However, the lack of formalization and the large diversity of PCMs challenges the development of software for processing these matrices. In this thesis, we develop two complementary approaches for the formalisation of PCMs. The first one consists in a precise description of the structure and semantics of PCMs in the form of a metamodel. We also propose an automated transformation from PCMs to PCM models conformant to the metamodel. The second one consists in synthesizing attributed feature models from a class of PCMs. With our contributions, we propose a generic and extensible approach for the formalization and exploitation of PCMs.
175

[en] SUPPORTING HETEROGENEOUS CONFIGURATION KNOWLEDGE OF SOFTWARE PRODUCT LINES / [pt] SUPORTANDO CONHECIMENTO DE CONFIGURAÇÃO HETEROGÊNEO DE LINHAS DE PRODUTOS DE SOFTWARE

ELDER JOSE REIOLI CIRILO 24 January 2017 (has links)
[pt] Softwares personalizados para as necessidades de um cliente proveem vantagem competitiva quando comparados aos softwares de proposito geral. Linhas de produtos de softwares tem como objetivo a produção de produtos personalizados a partir de um conjunto de features reutilizáveis. É conhecido que o reuso sistemático de features potencialmente leva a ganhos significativos como rápida produção de software a um baixo custo e com maior qualidade. Na prática, a construção de linhas de produtos de softwares empresariais pode se tornar uma tarefa arriscada e sujeita a erros quando se leva em consideração o uso das técnicas atuais de implementação de features. O desenvolvimento de linhas de produtos de software empresariais de fato requer a convergência coordenada de várias visões (ex., especialistas de domínio, projetistas de interface, e desenvolvedores). Neste caso, cada participante do processo de desenvolvimento tem uma linguagem particular para resolver o problema específico a sua especialidade. Os desafios para integração de diferentes linguagens, evitando uma potencial cacofonia, é o problema do conhecimento de configuração heterogêneo. Nesta tese, nos examinamos as dificuldades atuais na especificação do conhecimento de configuração heterogêneo e como solução nos propomos a noção de Linguagens de Modelagem do Conhecimento do Domínio (LMCD). O propósito das LMCDs é evidenciar os conceitos do domínio e suas interfaces de programação, o que ajuda reduzir o ofuscamento do código fonte e aumentar a compreensão. Além disso, evidenciando os conceitos específicos de domínio, somos aptos a prevenir inconsistências em produtos pela detecção de erros em toda a linha de produto de software. Outro resultado deste trabalho de pesquisa é GenArchPlus, uma ferramenta extensível que suporta de forma flexível a incorporação de LMCDs na engenharia de linhas de produtos de softwares tradicional. Nos enfatizamos os benefícios da ferramenta, incluindo simplicidade, expressividade, e a capacidade de ser independente de qualquer tecnologia de implementação do domínio. Finalmente, nos ilustramos e avaliamos o uso de LMCDs em três diferentes linhas de produtos de software. / [en] Customer-specific software can provide a competitive advantage compared to general-purpose software. A software product line (SPL) aims at tailoring customer-specific products from a set of reusable features. It is well known that systematic reuse of features potentially leads to significant gains such as faster production with low costs and high quality. In practice, building enterprise software product lines might become a laborious and error-prone task when we take into account the use of current implementation techniques. Successful development of modern enterprise software product lines requires the convergence of multiple views (e.g., domain experts, interface designers, and developers), which are usually managed via domain-specific concepts. In this case, each participant of the development process has a particular working language to solve specific problems to its expertise. The challenge of integrating these differences into the engineering process, avoiding the potential cacophony of multiple different languages, is the heterogeneous configuration knowledge problem. In this thesis, we examine the current shortcomings on the specification of heterogeneous configuration knowledge and as a solution we propose the notion of Domain Knowledge Modeling Languages (DKMLs). The purpose of DKMLs is to put in evidence the domain concepts and their programming interfaces, which help to reduce source code obfuscation and increase feature comprehension. Moreover, evidencing the domain-specific concepts, we are also able to prevent inconsistencies on products by detecting errors in the entire software product line. Another result of this research is the GenArchPlus, an extensible tool that supports the flexible incorporation of DKMLs in traditional software product line engineering. We emphasize the benefits of GenArchPlus, including simplicity, expressiveness, and being framework independent. Finally, we illustrate and evaluate the use of DKMLs in three different product lines.
176

Uma abordagem de linhas de produtos de software para apoiar e-Science / A software product lines approach to support e-Science

Foschiani, 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
177

Uma infraestrutura autoadaptativa baseada em linhas de produtos de software para composições de serviços tolerantes a falhas / A self-adaptive infrastructure based on software product line for fault-tolerant composite services

Nascimento e Silva, Amanda Sávio, 1982- 24 August 2018 (has links)
Orientador: Cecília Mary Fischer Rubira / Tese (doutorado) - Universidade Estadual de Campinas, Instituto de Computação / Made available in DSpace on 2018-08-24T09:31:42Z (GMT). No. of bitstreams: 1 NascimentoeSilva_AmandaSavio_D.pdf: 8931458 bytes, checksum: 448739042e9597c70abf120976d316b8 (MD5) Previous issue date: 2013 / Resumo: A confiabilidade é um requisito de qualidade indispensável a muitos sistemas orientados a serviços, cada vez mais disseminados em várias atividades humanas. Composições confiáveis de serviços são formadas por um conjunto de serviços com diversidade de projetos, isto é, um conjunto de serviços funcionalmente equivalentes, ou serviços alternativos, usados para implementar técnicas de tolerância a falhas. Uma determinada técnica, como por exemplo, Recovery Blocks ou N-version Programming, pode ser mais adequada para um contexto específico de execução do que outra, dependendo dos requisitos exigidos pela aplicação, como por exemplo, desempenho. Sistemas orientados a serviços são usualmente implantados num ambiente altamente dinâmico, em que são comuns alterações nos requisitos dos clientes e flutuações na qualidade de serviços. Portanto, uma composição de serviços confiável deveria poder modificar seu próprio comportamento dinamicamente em resposta a essas mudanças. Entretanto, as soluções existentes, que usam diversidade de projetos para implementar composições confiáveis, apresentam algumas limitações: (i) não apóiam a seleção de serviços alternativos adequados que garantam que a composição realmente tolere falhas de software; (ii) em geral implementam uma única técnica de tolerância a falhas, não apoiando os requisitos diversos de clientes; e (iii) não apoiam um mecanismo autoadaptativo capaz de mudar a estratégia de tolerância a falhas em tempo de execução. Nessa tese, é apresentada uma solução baseada em linhas de produtos de software, que explora a variabilidade de software existente nas técnicas de tolerância a falhas e nas mudanças ocorridas no ambiente de execução, para a implementação de composições de serviços tolerantes a falhas e autoadaptativas. A solução encompassa: (a) um conjunto de diretrizes para investigar até que ponto serviços alternativos são realmente diversos entre si para tolerar falhas de software; (b) uma família de técnicas de tolerância a falhas para construir composições confíaveis que permite a escolha de uma técnica mais adequada para o contexto; e (c) uma infraestrutura autoadaptiva que apoia a instanciação de técnicas diferentes de tolerância a falhas como resposta a mudanças ocorridas no contexto, baseando-se no gerenciamento dinâmico de variabilidades de software. Resultados de estudos empíricos sugerem que a solução é eficiente para apoiar composições de serviços tolerantes a falhas e autoadaptativas. Direções para trabalhos futuros são apresentadas / Abstract: Nowadays, society is dependent on systems based on Service-Oriented Architecture (SOA) for its basic day-to-day functioning. As a consequence, these systems should be reliable. Fault-tolerant service compositions encompass a set of services, each with equivalent functionality yet different designs, called alternate services, that are used to implement fault tolerance techniques. A particular technique, for example, Recovery Blocks or N-version Programming, might be more suitable in a context than in another one, depending on non-functional requirements of an application, for example, performance or reliability. SOA-based applications often rely in an environment that is highly dynamic and several decisions should be postponed until runtime, where we have different stakeholders with conflicting requirements, and fluctuations in the quality of services (QoS) are recurrent. Therefore, a fault-tolerant service composition should adapt itself to meet the dynamically and widely changing context. Nevertheless, the existing diversity-based solutions for fault-tolerant service compositions present some drawbacks: (i) they do not support the selection of alternate services that in fact efficient to support a reliable service composition; (ii) they usually support only one fault tolerance technique, thus not being able to face various clients' requirements; (iii) they do not support an adaptive fault tolerance mechanism able to instantiate different fault tolerance strategies at runtime to cope with dynamic changes in the context. In this thesis, we present a solution based on software product line, which explores the variability among various software fault tolerance techniques and changes in the execution environment, to implement fault-tolerant and self-adaptive service compositions. The proposed solution encompasses: (a) a set of directives to investigate to what extent alternate services are able to tolerate software faults; (b) a family of software fault tolerance techniques to support reliable service compositions, such as the most suitable technique can be chosen according to the context; (c) a self-adaptive infrastructure to instantiate at runtime appropriate fault tolerance techniques in response to changes in the context, through dynamic management of software variability. Results from empirical studies suggest that the proposed solution is efficient to support fault-tolerant and self-adaptive service compositions. Directions for future work are also presented / Doutorado / Ciência da Computação / Doutora em Ciência da Computação
178

Metody a metriky pro měření použitelnosti software / Methods and Metrics For Software Usability Measurement

Stehlíková, Petra January 2015 (has links)
The master's thesis deals with the quality of software products focusing on usability of these products and methods of its measurement. The thesis resumes the definitions of quality from different sources and quality models according to available standards. It also describes usability in detail and methods and metrics for its measurement and analyses current situation in this field. In the thesis the tool for measuring usability of desktop software products was designed and implemented.
179

Automatische Generierung von feature-orientierten Produktlinien aus Varianten von funktionsblockorientierten Modellen

Ryssel, Uwe 24 April 2014 (has links)
Zur einfacheren Entwicklung von technischen Systemen werden heutzutage vielfach funktionsblockorientierte Modellierungssprachen wie MATLAB/Simulink verwendet, die ein System als Netzwerk von miteinander verbundenen Funktionsblöcken darstellen. Aufgrund wechselnder Anforderungen entstehen dabei viele Modellvarianten, die nicht mehr effizient verwaltet werden können. Eine Lösung hierfür ist der Einsatz von Produktlinien, bei dem alle Varianten zusammengefasst und in wiederverwendbare Bestandteile zerlegt werden. Die Einzelvarianten werden dabei nur noch bei Bedarf aus diesen Bestandteilen zusammengesetzt. Die Erstellung dieser Produktlinien ist jedoch mit hohem manuellen Aufwand verbunden, besonders wenn vorhandene Modelle wiederverwendet werden sollen. Dies verhindert oft die Einführung dieses Paradigmas. Das Ziel der Dissertation war es deshalb, diese Migration vorhandener Modellvarianten und damit die Erstellung der Produktlinien zu automatisieren. Hierzu wurde eine Migrationsschrittfolge vorgeschlagen: Mithilfe eines Model-Matching-Ansatzes werden zuerst Gemeinsamkeiten und Unterschiede zwischen den Modellen identifiziert und daraus ein zusammengefasstes Modell und sogenannte Features abgeleitet. Mithilfe der Formalen Begriffsanalyse werden daraufhin die Abhängigkeiten zwischen diesen Features extrahiert und daraus ein Feature-Modell erstellt. Feature-Modell und zusammengefasstes Modell bilden dabei eine Produktlinie, die exakt die vorgegebenen Modellvarianten beschreibt.
180

A software development methodology for solo software developers: leveraging the product quality of independent developers

Moyo, Sibonile 02 1900 (has links)
Software security for agile methods, particularly for those designed for individual developers, is still a major concern. With most software products deployed over the Internet, security as a key component of software quality has become a major problem. In addressing this problem, this research proposes a solo software development methodology (SSDM) that uses as minimum resources as possible, at the same time conforming to the best practice for delivering secure and high-quality software products. Agile methods have excelled on delivering timely and quality software. At the same time research also shows that most agile methods do not address the problem of security in the developed software. A metasynthesis of SSDMs conducted in this thesis confirmed the lack practices that promote security in the developed software product. On the other hand, some researchers have demonstrated the feasibility of incorporating existing lightweight security practices into agile methods. This research uses Design Science Research (DSR) to build, demonstrate and evaluate a lightweight SSDM. Using an algorithm adapted for the purpose, the research systematically integrates lightweight security and quality practices to produce an agile secure-solo software development methodology (Secure-SSDM). A multiple-case study in an academic and industry setting is conducted to demonstrate and evaluate the utility of the methodology. This demonstration and evaluation thereof, indicates the applicability of the methodology in building high-quality and secure software products. Theoretical evaluation of the agility of the Secure-SSDM using the four-dimensional analytical tool (4-DAT) shows satisfactory compliance of the methodology with agile principles. The main contributions in this thesis are: the Secure-SSDM, which entails description of the concepts, modelling languages, stages, tasks, tools and techniques; generation of a quality theory on practices that promote quality in a solo software development environment; adaptation of Keramati and Mirian-Hosseinabadi’s algorithm for the purposes of integrating quality and security practices. This research would be of value to researchers as it introduces the security component of software quality into a solo software development environment, probing more research in the area. To software developers the research has provided a lightweight methodology that builds quality and security into the product using minimum resources. / School of Computing / D. Phil. (Computer Science)

Page generated in 0.0716 seconds