• Refine Query
  • Source
  • Publication year
  • to
  • Language
  • 49
  • 34
  • 3
  • 2
  • 1
  • Tagged with
  • 100
  • 100
  • 23
  • 19
  • 19
  • 17
  • 15
  • 15
  • 14
  • 13
  • 13
  • 13
  • 12
  • 11
  • 10
  • 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.
51

Reuse in Self-Adaptive Software Systems: A Literature Review

Dirnfeld, Ruth January 2021 (has links)
Software engineers and researchers in the field are constantly developing new technologies to manage the complexity of current software systems. There is an increasing need for mechanisms that can deal with dynamics in the systems’ environment, goals, and requirements. Self-adaptive software systems are a solution to manage the complexity caused by dynamics or runtime variations. Software reuse is a classical solution to deal with complexity and increase the quality of a system in a systematic and efficient way. Despite the large amount of research on self-adaptation, no systematic study has been found, which surveys and reports the application of reuse methods and techniques for the development of self-adaptive software systems. A systematic analysis of reuse methods and techniques for the development of self-adaptive systems is interesting as it provides useful insights for researchers and practitioners in the self-adaptive area. This study systematically reviews relevant research work published between the years 2000 and 2020 at eight well-known venues on self-adaptation and software engineering. By following the systematic litera-ture review method, 97 studies were reviewed and 40 primary studies identi-fied for addressing the research questions. The main objectives of the review are 1) to collect and analyse the reuse-based methods studied and applied for the design and development of self-adaptive software systems, 2) analyse the challenges in the application of reuse-based methods for the development of self-adaptive software systems. The review shows that most of the analysed studies support reuse with component-based software engineering. The pri-mary studies propose different reuse-based methods to allow faster and sim-pler development of self-adaptive systems. Furthermore, the analysis shows that the reviewed studies report several challenges related to the configura-tion process, design, performance and uncertainty in the application of reuse methods for the development of self-adaptive systems.
52

Analysis Of Complexity And Coupling Metrics Of Subsystems In Large Scale Software Systems

Ramakrishnan, Harish 01 January 2006 (has links)
Dealing with the complexity of large-scale systems can be a challenge for even the most experienced software architects and developers. Large-scale software systems can contain millions of elements, which interact to achieve the system functionality. Managing and representing the complexity involved in the interaction of these elements is a difficult task. We propose an approach for analyzing the reusability, maintainability and complexity of such a complex large-scale software system. Reducing the dependencies between the subsystems increase the reusability and decrease the efforts needed to maintain the system thus reducing the complexity of the system. Coupling is an attribute that summarizes the degree of interdependence or connectivity among subsystems and within subsystems. When used in conjunction with measures of other attributes, coupling can contribute to an assessment or prediction of software quality. We developed a set of metrics for measuring the coupling at the subsystems level in a large-scale software system as a part of this work. These metrics do not take into account the complexity internal to a subsystem and considers a subsystem as a single entity. Such a dependency metric gives an opportunity to predict the cost and effort needed to maintain the system and also to predict the reusability of the system parts. It also predicts the complexity of the system. More the dependency, higher is the cost to maintain and reuse the software. Also the complexity and cost of the system will be high if the coupling is high. We built a large-scale system and implemented these research ideas and analyzed how these measures help in minimizing the complexity and system cost. We also proved that these coupling measures help in re-factoring of the system design.
53

Improving Internal Software Reuse in the Context of Contemporary Software Engineering Practices

Chen, Xingru January 2023 (has links)
Context: Companies adopt many software reuse practices, such as software product line, reuse verbatim, and systematic reuse, to improve their internal software development and maximize the benefits. Contemporary software engineering (SE) practices, such as microservices and InnerSource, influence internal software reuse. Objective: In this thesis, we aim to improve internal software reuse in the context of contemporary SE practices. To do that, we want to 1) understand the state-of-the-art and the state-of-the-practice of software reuse costs and benefits and the challenges that companies are currently facing and 2) identify interventions to improve internal software reuse.  Methods: We conducted a systematic literature review to understand the state-of-the-art of software reuse costs and benefits. We performed two exploratory case studies to understand the state-of-the-practice of software reuse costs and benefits, challenges, and improvement areas in the context of contemporary SE practices.  We performed another follow-up improving case study to investigate the medium-sized case company's readiness of adopting InnerSource for software reuse. Results: Existing literature reported more software reuse benefits than costs. The most reported software reuse benefits are better product quality and improved productivity. Verbatim reuse and systematic reuse result in more reuse benefits. Most of the included primary studies are of moderate quality, with only four having high quality. Practitioners think that software reuse costs in developing reusable assets will be paid off when developers start to reuse them. Challenges in software reuse in the context of contemporary SE practices differ between medium-sized and large-sized companies. Both of the companies perceive that InnerSource can help improve internal software reuse. Asking practitioners about both current and desired InnerSource reuse status helps identify the needed InnerSource improvements, thus helping companies succeed in adopting InnerSource for reuse.   Conclusion: Both existing literature and our two case studies investigating software reuse in the context of contemporary SE practices showed that software reuse improves quality and productivity and has costs in developing and integrating reusable assets. However, the overall benefits outweigh the costs. Both case companies faced challenges in improving their internal reuse, where the most common challenges were about developing and maintaining reusable assets. The results showed that InnerSource helps develop and maintain reusable assets and further improves internal software reuse. / <p>Chapters 2 and 4 are papers submitted to journals and therefore removed from the fulltext file.</p>
54

A Social Information Foraging Approach to Improving End-User Developers’ Productivity

Jin, Xiaoyu January 2017 (has links)
No description available.
55

Definição e estabelecimento de processos de fábrica de software em uma organização de TI do setor público. / Definition and establishment of software factory processes in an IT organization of the public sector.

Nomura, Luzia 07 April 2008 (has links)
Um crescente número de empresas produtoras de software tem adotado um modelo organizacional de Fábrica de Software (FS), que facilita a terceirização por intermédio da segmentação das atividades e adoção de um sistema de produção mais flexível, dinâmico e controlado. Uma FS pode atender a múltiplas demandas de natureza e escopos distintos com o intuito de prover as necessidades específicas de cada cliente. Em face da diversidade e complexidade deste contexto, uma das questões principais a resolver é como mapear todos os processos envolvidos, identificando claramente o que, quem e, sobretudo como cada trabalho deve ser executado e controlado, visando o alinhamento dos processos à estrutura organizacional e conceitual de FS com foco nos processos de integração, alinhamento e reuso. Este estudo tem como objetivo mapear, definir, reestruturar e estabelecer processos de Fábrica de Software, conduzidos pelo método de pesquisaação em uma organização produtora de software do setor público, considerando seu contexto operacional, técnico e cultura organizacional. O desenvolvimento, execução, acompanhamento e resultados são descritos pelos ciclos da pesquisa-ação envolvendo o estudo de estruturas organizacionais, metodologias de desenvolvimento de sistemas, e mudanças organizacionais. Para isso foram definidas uma Estrutura Organizacional de Referência de FS, uma Arquitetura de Definição de Processos para FS e uma Metodologia de Desenvolvimento de Sistemas e Integração com foco organizacional, concebidos e desenvolvidos com base na literatura, experiência profissional e pesquisa empírica, que serviram como guia de condução da pesquisa-ação, culminando na associação do estudo empírico com o estudo teórico. As contribuições empíricas e teóricas geradas referem-se à melhoria dos processos organizacionais e operacionais de uma empresa de TI do setor público com base nos conceitos de FS. / A growing number of software producing companies have adopted an organizational model of Software Factory (SF), which facilitates outsourcing by segmenting activities and by adopting a more flexible, dynamic and controlled production system. A SF can serve the multiple demands of different nature and scopes with the purpose of providing each customers specific needs. Because of the diversity and complexity of this context, one of the main issues to be solved is how to map all the processes involved, clearly identifying what, who and mainly how each work must be executed and controlled, aiming at aligning the processes to the organizational and conceptual structure of SF focusing on the integration, aligning and reuse processes. The purpose of this study is mapping, defining, restructuring and establishing the Software Factory process, conducted by the action research method in a software producing organization of the public sector, considering its operational, technical and organizational culture context. The development, execution, follow-up and results are described by the action research cycles involving the study of organizational structures, system development methodologies and organizational changes. For this, a Reference Organizational Structure of SF, and Processes Definition Architecture for SF and a Integration System Development Methodology with organizational focus were defined, conceived and developed based on the literature, professional experience and empirical research, which served as a guiding line of the action research, peaking at the association of the empirical study with the theoretical study. The generated empirical and theoretical contributions refer to the improvement of the organizational and operational processes based on the SF concepts.
56

SoS-Reúso: um SoS do tipo direcionado para facilitar o reúso de software / SoS-Reuse: a directed SoS aimed at facilitating software feuse

Vargas, Iohan Gonçalves 28 September 2017 (has links)
Reúso de software, principalmente quando apoiado por ferramentas computacionais, é uma forma de enfrentar os constantes desafios da Engenharia de Software em aumentar a produtividade e qualidade no desenvolvimento de software. Diversos ambientes de apoio ao reúso de software têm sido propostos, em sua maioria com objetivos específicos, por exemplo, repositórios de componentes, ferramentas para geração de aplicações e ferramentas para configuração de linhas de produtos. Entretanto, a integração desses ambientes é, muitas vezes, deficiente e deixada por conta do próprio desenvolvedor. Por outro lado, Sistemas-de-Sistemas (SoS) constituem uma forma de integrar sistemas independentes e seus relacionamentos, formando um todo maior que a soma das partes. Dessa forma, o SoS permite alcançar objetivos complexos que não poderiam ser facilmente alcançados individualmente pelos seus sistemas constituintes. Em um SoS, comportamentos emergentes podem surgir a qualquer momento ou terem sido previamente implementados. Por serem recentes, os conceitos de SoS ainda apresentam uma vasta gama de tópicos em aberto, entre eles sua aplicação a ambientes de reúso de software. Assim, neste trabalho, investigou-se como integrar ambientes de reúso com base nos conceitos de SoS. O SoS resultante, denominado SoS-Reúso, visa facilitar a implementação de comportamentos emergentes relacionados ao reúso de software. Com isso, pode-se potencializar a atividade de reúso, facilitando a busca por ativos reusáveis em diferentes sistemas constituintes. Para colocar em prática essa ideia, desenvolveu-se um simulador do SoS-Reúso, denominado P-SoS-Reúso. Realizou-se um estudo qualitativo da usabilidade e adequação funcional do P-SoS-Reúso, a fim de obter do usuário feedbacks em relação ao seu uso. A abordagem utilizada no desenvolvimento do SoS-Reúso poderá ser adaptada futuramente para integrar outros tipos de sistemas, os quais poderiam se beneficiar da abordagem baseada em SoS. / Software reuse, specially when supported by computational tools, is a way to face the constant challenges of Software Engineering in increasing productivity and quality in software development. Several enviroments to support software reuse have been proposed, mostly for specific purposes, for example, component repositories, application generation tools, and tools for configuring product lines. However, the integration among these environments is often deficient and left to the developerss responsibility. On the other hand, Systems-of-Systems (SoS) is a way of integrating independent systems and their relationships, forming a whole greater than the sum of the parts. In this way, SoS allows us to achieve complex goals that could not be easily achieved individually by their constituent systems. In a SoS, emergent behaviors can arise at any time or have been previously implemented. Because they are recent, SoS concepts still feature a variety of open research topics, including their application to software reuse environments. Thus, in this work, we investigated how to integrate reuse environments based on SoS concepts. The resulting SoS, called SoS-Reuse, aims to facilitate the implementation of emergent behaviors related to software reuse. This allows to enhance the reuse activity, facilitating the search for reusable assets in different constituent systems. To implement this idea, it was developed a simulator of the SoS-Reuse, named P-SoS-Reuse. An qualitative study of the usability and functional adequacy of the P-SoS-Reuse was performed to obtain feedback from users regarding its use. The approach used to develop SoS-Reuse can be adapted in the future to integrate other types of systems, which could benefit from the SoS-based approach.
57

Um processo para construção e instanciação de frameworks baseados em uma linguagem de padrões para um domínio específico. / A process for construction and instantiation of frameworks based on a domain-specific pattern language.

Braga, Rosana Teresinha Vaccare 14 February 2003 (has links)
Padrões, linguagens de padrões e frameworks são formas de reuso de software. A complexidade de frameworks, causada pela dificuldade tanto em construí-los quanto em utilizá-los, é um dos inibidores do uso dessa tecnologia. Um processo para facilitar a construção e instanciação de frameworks é apresentado. Uma linguagem de padrões é utilizada para apoiar todo o processo, desde a identificação da funcionalidade do framework, seu projeto, implementação, validação, até sua instanciação para sistemas específicos do domínio. O framework obtido é do tipo caixa-branca e sua instanciação é feita especializando-se suas classes para sistemas específicos. O processo inclui, também, a construção de uma ferramenta para automatizar a instanciação do framework, por meio da qual é possível obter um sistema específico fornecendo apenas informações sobre os padrões da linguagem utilizados na sua modelagem. O processo é ilustrado com a Linguagem de Padrões para Gestão de Recursos de Negócios (GRN), que serviu de base para construção do framework GREN. Apresenta-se também o GREN-Wizard, uma ferramenta para instanciação automática do GREN para sistemas no domínio da GRN. A avaliação do processo é feita por meio de alguns experimentos e vários relatos de uso dos diversos sub-processos que compõem o processo geral, usando o GREN, a GRN e o GREN-Wizard. / Patterns, pattern languages, and frameworks are ways of enhancing software reuse. The complexity of software frameworks, caused both by the difficulty to build and to use them, is one of the inhibitors of this technology. A process to ease the construction and instantiation of frameworks is presented, in which a pattern language is used to support the whole process, starting from the identification of the framework functionality, its design, implementation, validation, and its instantiation to domain-specific systems. The framework that results from applying the proposed process is white-box and its instantiation is done by specializing its abstract classes according to a specific system. The process includes the construction of a tool to automate the framework instantiation, through which it is possible to obtain a specific system only by supplying information about the language patterns used to model it. The proposed process is illustrated with the Pattern Language for Business Resource Management (GRN), which was used as the basis for the GREN framework construction. The GREN-Wizard is also presented, which is a tool to automatically instantiate the GREN framework to specific applications in the GRN domain. The proposed process is evaluated by a few experiments and several uses of the sub-processes that compose the general process, using GRN, GREN and the GREN-Wizard.
58

An Environment For Specifying and Executing Adaptable Software Components

Unhale, Sudeep Prabhakar 27 April 2003 (has links)
One of the difficulties of Component Based Software Engineering (CBSE) [1] in reusing pre-existing components is the need to adapt these components to work within the desired target systems [2, 3, 4, 5, 6]. Third-party or in-house Commercial Off-the-shelf (COTS) components may not always have the required exact functionality demanded by the builders of the target system, so these systems have to be either modified [2, 3, 4, 5, 6] or adapted to provide this required functionality. Modifying these components may not be always practically possible. In this thesis, we propose an infrastructure that supports the active interface adaptation technique [3, 8, 9, 10]. This infrastructure directly addresses the problem of effectively packaging components for third-party use, adaptation, and deployment. Doing so we support both component designers and third party application builders. Further we evaluate our approach using several adaptations over the case studies.
59

A reuse-based approach to promote the adoption of info vis tecniques for network and service management tasks / Uma abordagem baseda em reuso para promover a adoção de técnicas de visualização de informações no contexto de gerenciamento de redes de serviços

Guimarães, Vinícius Tavares January 2016 (has links)
Ao longo dos anos, diferentes ferramentas vem sendo utilizadas pelos administradores de rede para realizar as tarefas de gerenciamento (por exemplo, protocolos de gerência e soluções de monitoramento de rede). Dentre tais ferramentas, a presente tese foca em Visualização de Informações (ou simplesmente InfoVis). Essencialmente, entende-se que o objetivo final dessas ferramentas de gestão é diminuir a complexidade e, consequentemente, otimizar o trabalho diário dos administradores. Assim, eles podem melhorar sua produtividade, o que incide diretamente na redução de custos. Com base nesse pressuposto, esta tese tem como objetivo investigar como promover a adoção de técnicas InfoVis pelos administradores de rede, com foco em melhorar produtividade e diminuir custos. A percepção chave é que, na maioria dos casos, os administradores de rede não são habilitados no domínio InfoVis. Desse modo, a escolha por adotar técnica InfoVis requer a imersão em campo desconhecido, podendo gerar, assim, um risco elevado nos indicadores de produtividade e custos. Em essência, essa tese argumenta que o emprego de técnicas InfoVis pelos administradores pode ser muito trabalhosa, despendendo um montante muito significativo de tempo, o que leva a diminuir produtividade e, consequentemente, eleva os custos de gerenciamento. Focando essa questão, é apresentada uma proposta para promover adoção de técnicas InfoVis, pelo encorajamento do reuso. Argumenta-se que os conceitos e princípios de reuso propostos e padronizados pelo campo da engenharia de software podem ser adaptados e empregados, uma vez que a construção de visualizações (ou seja, o projeto e desenvolvimento) é, primariamente, uma tarefa de desenvolvimento de software. Assim, a avaliação da proposta apresentada nesta tese utiliza o método Common Software Measurement International Consortium (COSMIC) Functional Size Measurement (FSM), o qual permite estimar o dimensionamento de software através de pontos por função. A partir deste método, torna-se então possível a estimativa de esforço e, consequentemente, produtividade e custos. Os resultados mostram a viabilidade e eficácia da abordagem proposta (em termos de produtividade e custos), bem como os benefícios indiretos que o reuso sistemático pode fornecer quando da adoção de visualizações para auxílio nas tarefas de gerenciamento de redes. / Throughout the years, several tools have being used by network administrators to accomplish the management tasks (e.g., management protocols and network monitoring solutions). Among such tools, this thesis focuses on Information Visualization one (a.k.a InfoVis). Mainly, it is understood that the ultimate goal of these management tools is to decrease the complexity and, consequently, optimize the everyday work of administrators. Thus, they can increase their productivity, which leads to the cost reduction. Based on this assumption, this thesis aims at investigating how to promote the adoption of InfoVis techniques by network administrators, focusing on enhancing productivity and lowering costs. The key insight is that, in most cases, network administrators are unskilled on InfoVis. Therefore, the choice to adopt visualizations can require an immersion into the unknown that can be too risky regarding productivity and cost. In essence, this thesis argues that the employment of InfoVis techniques by administrators can be very laborious by spending a significant amount of effort that decreases their productivity and, consequently, increases the management costs. To overcome this issue, an approach to promote the adoption of InfoVis techniques by encouraging their reuse is introduced. It is argued that the concepts and principles of software reuse proposed and standardized in the software engineering field can be adapted and employed once the building up of visualizations (i.e., the design and development) can be defined primarily as a software development task. So, the evaluation of the proposal introduced in this thesis employs the Common Software Measurement International Consortium (COSMIC) Functional Size Measurement (FSM) method that measures software sizing through Function Points (FP). From this method, it was possible estimating effort and, consequently, productivity and costs. Results show the feasibility and effectiveness of the proposed approach (in terms of productivity and cost) as well as some indirect benefits that the systematic reuse can provide in the adoption of InfoVis techniques to assist in the management tasks.
60

Rendre réutilisables des composants extraits d’une application orientée-objets / Make reusable components extracted an object-oriented implementation

Seriai, Abderrahmane 08 January 2015 (has links)
La réutilisation est l’un des principaux objectifs de l’ingénierie logicielle. De nombreux concepts et mécanismes associés ont été proposés pour promouvoir la réutilisation des fonctionnalités offertes par le logiciel. L’ingénierie logicielle à base de composants (CBSE) est l’une des plus importantes approches qui ont été proposées pour augmenter la réutilisation des logiciels.Ainsi, plusieurs travaux ont été réalisés afin de restructurer les systèmes existants en systèmes à base de composants. Néanmoins, presque toutes les approches proposées visent plus l’identification des composants que l’identification des parties ré-utilisables. Ainsi, elles sont limitées à identifier des composants, correspondant à des ensembles de classes, permettantl’extraction d’une vue architecturale de l’ancien système. Mais, les composants identifiés ne peuvent pas être implantés avec un modèle concret de composants.Dans cette thèse, nous proposons deux approches pour améliorer la réutilisation des composants extraits, mais aussi faciliter la compréhension de l’architecture sous-jacente. Ainsi, la première approche vise l’identification des interfaces du composant extrait en fonction de ses interactions avec les autres composants. La seconde a pour objectif de rendre possible l’implantation des composants extraits avec un modèle concret de composants. Ceci est fait en utilisant des instances de classes (objets) qui composent les composants extraits pour déduire des instances possibles de composant.L’évaluation des approches proposées par une étude empirique montre que i) l’ensemble des interfaces identifiées correspondent aux différents aspects fonctionnels des composants extraits. ii) et, qu’il est possible d’implanter, dans un modèle concret de composants, les composants extraits sans modifier le comportement de l’application. / Reuse is one of the main goals of software engineering. Many concepts and associated mechanisms were proposed to promote the reuse of features offered by the software. Component based software engineering (CBSE) is one of the important approaches which was proposed to increase the software reuse. Thus, several works were conducted in order to restructure legacy systems into component-based ones. Nevertheless, almost all proposed approaches are more targeted for component identification than for the identification of reusable parts. Thus, they are limited to identify components, corresponding to sets of classes, allowing an extraction of the architectural view of the legacy system. But, the identified components can not be easily implemented in a concrete component model.In this thesis, we propose two approaches to improve the reusability of the extracted components and by the way facilitate the comprehension of the underlying architecture. Thus, the first approach aims the identification of the extracted component’s interfaces according to its interactions with the other components. The second one aims to make extracted components implementable within a concrete component model. This is done by using class instances (objects) that compose the extracted components to infer possible component instances.The evaluation of the proposed approaches via an empirical study showed that i) overall the identified interfaces correspond to the different functional aspects of the extracted components. ii) and, that is possible to implement, within a concrete component model, the extracted components without altering the behavior of the application.

Page generated in 0.4151 seconds