• Refine Query
  • Source
  • Publication year
  • to
  • Language
  • 7537
  • 5170
  • 1355
  • 678
  • 657
  • 587
  • 436
  • 370
  • 206
  • 103
  • 92
  • 92
  • 92
  • 87
  • 75
  • Tagged with
  • 21224
  • 7164
  • 5837
  • 2353
  • 2064
  • 2051
  • 1984
  • 1930
  • 1740
  • 1679
  • 1476
  • 1246
  • 1179
  • 1135
  • 1134
  • 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.
541

Integration of Service-Oriented Embedded Systems with External Systems in Software Product Lines

Johansson, Nils January 2024 (has links)
Developing software for complicated systems is often done by collaboration and consists of deliverables by a multitude of organisations. The deliverables can range from smaller devices and commercial-off-the-shelf software components, to larger systems. This is the situation during the development of the embedded system for large vehicles or machines. Many companies within the embedded industry are transitioning to using Service-Orientation to develop high-quality software and reduce costs. However, when integrating different external systems with an internal, service-oriented system there may arise difficulties since the communication patterns, i.e. interface, cannot be changed to fit the internal system. This study aims to develop a design solution that can be used to integrate different external systems with an internally developed service-oriented system in an entire software product line, including the handling of variability by parametrization. The solution is evaluated by software developers at a company in such a situation. To develop the design solution design science methodology is applied, which is an iterative process that continuously improves the candidate solution until satisfactory according to various stakeholders. The resultant design solution includes the use of wrappers-based interaction between systems, where so-called adapters are used when the internal system acts as a client to an external system, and using gateways for when the internal systems acts as a server to an external system. We also observe the need for a system integration view to describe the relations and available communication mechanisms between systems, i.e. the gateways and adapters. We conclude that to integrate a service-oriented software system with non-service-oriented systems, there can be benefits to using an abstraction layer between systems to protect the internally developed software architecture from being affected by the nature of the external system. Attempting to integrate external systems with an internal system as if also developed internally may become troublesome in terms of defining and upholding an appropriate service-oriented architecture. This is especially important when considering variability of the complete system, where different external systems are used or replaced in specific variants.
542

Evolution of Security in Automated Migration Processes

Tayefeh Morsal, Seyed Parsa January 2022 (has links)
As users’ requirements change in today’s fast-paced business market, computer software has to adapt to new hardware, technologies and requirements to keep up with the trend. Therefore, to avoid depreciation and obsolescence, which can have detrimental effects on a product, software needs to be constantly maintained and, when passed a certain point in its lifecycle, needs to be migrated or re-developed from scratch. Automated migration enables software vendors to decrease the cost of the migration process by source code generation. However, as security is a crucial requirement in any system, it is not guaranteed that the previously satisfied security requirements are satisfied in the migrated software. Therefore, it is critical to study the evolution of security throughout the automated migration process to predict where new security vulnerabilities may emerge and to understand the scale on which the security is affected. / Thesis / Master of Applied Science (MASc)
543

Ambiente de apoio ao desenvolvimento de aplicações distribuídas e reconfiguráveis utilizando agentes de busca e classificação inteligentes / Environment to aid the development of distributed and reconfigurable applications using software agents to intelligent search and classification

Rossi, Ednilson Geraldo 11 August 2009 (has links)
A área de engenharia de software passou por muitas alterações desde sua criação. Vista como uma técnica para aumentar a produtividade e baixar os custos, a reutilização de software é um dos principais estudos dos pesquisadores da área de computação. Como a reconfiguração de software é na verdade a reutilização de um software, porém com algumas adaptações, este trabalho tem por objetivo desenvolver uma metodologia e um conjunto de ferramentas que agilizem e facilitem o processo de reutilização/reconfiguração de componentes de software. A associação destas ferramentas constitui um mecanismo de armazenamento, indexação, busca e recuperação de artefatos de software. Este mecanismo trabalha com a estrutura dos projetos de software e também com as relações semânticas existentes entre os termos utilizados no software. Para representar a estrutura interna do software (características e relacionamentos) utiliza-se de um metamodelo. Já as relações semânticas são representadas por meio de um tesauro. Por fim, todas as informações do metamodelo e do tesauro são armazenadas em um repositório de software que é manipulado por agentes de software. / Software engineering area suffered many transformations since its creation. Usually seen as a technique to raise productivity and decrease costs, softwares reusing is one of the main studies in computer field. Since softwares reconfiguration is, in essence, a software reuse, although with some adaptations, this work aims to develop a methodology and a set of tools that speed up and facilitate the process of reuse/reconfiguration of software components. These tools association constitute a mechanism of storing, indexing, search and recovering of software artifacts. This mechanism works with the structure of software projects and also with semantic relationships that exist between the software\'s terms. To represent software\'s inner structure (features and relationships) a metamodel is used. Semantic relationships are represented by a thesaurus. Finally, all the informations from metamodel and thesaurus are stored in a software repository, which is manipulated by software agents.
544

Método para manutenção de sistema de software utilizando técnicas arquiteturais. / Method for software system maintenance using architectural techniques.

Guimarães, Júlio Henrique dos Nogueira e Oliveira 24 September 2008 (has links)
Diversos negócios hoje são suportados por sistemas de software. Acredita-se que o uso de Arquitetura de Software é fundamental para atingir alcançar as metas de negócio e qualidade. Visto que o conjunto de requisitos que levou à construção de uma determinada arquitetura pode mudar, tal arquitetura pode tornar-se inadequada. Em diversas situações é preciso conviver com os sistemas existentes, portanto é preciso alterá-los para as novas necessidades. Manutenção de sistemas usando técnicas de evolução arquiteturais tem se mostrado um eficaz caminho para alterar um sistema à nova situação. O objetivo deste trabalho é apresentar um método para manutenção de sistemas de software usando técnicas arquiteturais de forma a convergir mais rapidamente à adequação da arquitetura destes sistemas. Algumas técnicas do método incluem avaliação de arquitetura de software, levantamento de riscos, provas de conceito construtivas e destrutivas e métricas estáticas e dinâmicas de software. O método proposto foi aplicado em contextos de laboratório e da indústria, permitindo a verificação de pontos fortes e críticos para realizar seu refinamento e tais aplicações são também relatadas neste trabalho. Embora as aplicações do método proposto tenham sido diferentes, tanto no objetivo principal quanto no desenrolar das atividades, seus resultados foram considerados bastante satisfatórios, tanto no contexto de ensino quanto no contexto de indústria. / Several business today are supported by software systems. It is believed that the use of software architecture is fundamental to achieve the business goals and quality. Since the set of requirements that led to the construction of a given architecture may change, such an architecture may become inadequate. In many situations we must live with existing systems, so we must change them to meet the new needs. Systems maintenance using architectural evolution techniques has proven to be an effective path to take a system to the new situation. This works goal is to provide a method for maintenance of software systems using architectural techniques in order to converge more rapidly to match the architecture of these systems. Some techniques used in the method include software architecture evaluation, risks survey, constructive and destructive proofs of concept, static and dynamic software metrics. The proposed method was applied in contexts of laboratory and industry, allowing the verification of strengths and critical points to guide its refinement and such applications are also reported in this work. Although the applications of the proposed method has been different in both the main goal and the conduct of activities, their results were considered very satisfactory, both in the education and the industry context.
545

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.
546

Ambiente de apoio ao desenvolvimento de aplicações distribuídas e reconfiguráveis utilizando agentes de busca e classificação inteligentes / Environment to aid the development of distributed and reconfigurable applications using software agents to intelligent search and classification

Ednilson Geraldo Rossi 11 August 2009 (has links)
A área de engenharia de software passou por muitas alterações desde sua criação. Vista como uma técnica para aumentar a produtividade e baixar os custos, a reutilização de software é um dos principais estudos dos pesquisadores da área de computação. Como a reconfiguração de software é na verdade a reutilização de um software, porém com algumas adaptações, este trabalho tem por objetivo desenvolver uma metodologia e um conjunto de ferramentas que agilizem e facilitem o processo de reutilização/reconfiguração de componentes de software. A associação destas ferramentas constitui um mecanismo de armazenamento, indexação, busca e recuperação de artefatos de software. Este mecanismo trabalha com a estrutura dos projetos de software e também com as relações semânticas existentes entre os termos utilizados no software. Para representar a estrutura interna do software (características e relacionamentos) utiliza-se de um metamodelo. Já as relações semânticas são representadas por meio de um tesauro. Por fim, todas as informações do metamodelo e do tesauro são armazenadas em um repositório de software que é manipulado por agentes de software. / Software engineering area suffered many transformations since its creation. Usually seen as a technique to raise productivity and decrease costs, softwares reusing is one of the main studies in computer field. Since softwares reconfiguration is, in essence, a software reuse, although with some adaptations, this work aims to develop a methodology and a set of tools that speed up and facilitate the process of reuse/reconfiguration of software components. These tools association constitute a mechanism of storing, indexing, search and recovering of software artifacts. This mechanism works with the structure of software projects and also with semantic relationships that exist between the software\'s terms. To represent software\'s inner structure (features and relationships) a metamodel is used. Semantic relationships are represented by a thesaurus. Finally, all the informations from metamodel and thesaurus are stored in a software repository, which is manipulated by software agents.
547

Modelo de gestão do processo de venda e desenvolvimento de software on-demand para MPE\'s / Management model of selling and on-demand software development process

Jubileu, Andrea Padovan 16 December 2008 (has links)
A maioria das micro e pequenas empresas (MPEs) de desenvolvimento de software brasileiras são voltadas para o desenvolvimento de software on-demand. Normalmente, essas MPEs têm dificuldades em formalizar um processo de software padrão. O presente trabalho de pesquisa tem por objetivo apresentar uma proposta de integração de modelos/normas de capacidade de processo com modelos de ciclo de vida de software, em um contexto de gestão de processos de negócio. Como resultado, obteve-se o modelo de gestão do processo de venda e desenvolvimento de software on-demand para MPEs (ProcSoftVD - Gestão), composto pelo método de melhoria de processo de software (ProcSoftVD - Melhoria) e pelo modelo de processo de venda e desenvolvimento de software on-demand para MPEs (ProcSoftVD). O método de melhoria de processo de software foi criado a partir de abordagens existentes e complementares, voltadas às MPEs. O ProcSoftVD foi originado com base no framework unified process, possibilitando a visualização do processo em duas perspectivas - fases e áreas de conhecimento, e nos modelos/normas de capacidade de processo CMMI-DEV e ISO/IEC 15504-5, elaborado em um processo iterativo e evolutivo de pesquisa-ação com a participação de duas MPEs. Um diferencial dessa proposta é a consideração de atividades de comercialização do software junto ao processo de desenvolvimento de software, o que auxilia na delimitação do escopo do projeto de desenvolvimento de software para um acordo contratual. Outro diferencial é o detalhamento das atividades do processo por meio de tarefas, sugestão de papéis desempenhados pelos responsáveis das atividades e disponibilização de templates com exemplos para cada um dos artefatos elaborados na execução da atividade. / The majority of the software development micro and small companies are turned to the development of on-demand software. Usually, for these small companies the formalization of a standard process for software development is very difficult. For that reason the goal of this research is to propose an integration of capability processes models/standards within software life cycle models, in a perspective of business process management. The main result of this research is a management model of selling and on-demand software development process, which embraces the software process improvement method and the selling and on-demand software development process model. The software process improvement method was build from complementary and existents tailored approaches for micro and small companies. The selling and on-demand software development process model was created based on the models/standards of process capability CMMI-DEV and ISO/IEC 15504-5 and on the unified process framework, allowing the process view from two perspectives - phases and knowledge areas. The model was elaborated in an iterative and evolutionary action-research process carried out within two micro and small companies. The originality of this proposal is the consideration of software sale activities jointly with software development process, assisting the scope delimitation of a software development project for contractual agreement. Other aspect of this research which makes it distinctive is the detail of the process activities by mean of tasks, suggestions of people roles for each activities and provision of templates with examples for each artifact created during the activities.
548

Libviews - uma ferramenta web para visualização de bibliotecas e suas dependências em sistemas de informação / Libviews - a web application for visualization of software projects and their dependencies

Ferrarezi, Juliana Cassiano [UNESP] 30 January 2017 (has links)
Submitted by Juliana Cassiano Ferrarezi null (juliana.ferrarezi@fc.unesp.br) on 2017-02-21T19:58:33Z No. of bitstreams: 1 dissertacao.pdf: 4721300 bytes, checksum: aa217c83d703c5b25017bc890d505b4f (MD5) / Approved for entry into archive by Juliano Benedito Ferreira (julianoferreira@reitoria.unesp.br) on 2017-02-24T19:07:35Z (GMT) No. of bitstreams: 1 ferrarezi_jc_me_sjrp.pdf: 4721300 bytes, checksum: aa217c83d703c5b25017bc890d505b4f (MD5) / Made available in DSpace on 2017-02-24T19:07:35Z (GMT). No. of bitstreams: 1 ferrarezi_jc_me_sjrp.pdf: 4721300 bytes, checksum: aa217c83d703c5b25017bc890d505b4f (MD5) Previous issue date: 2017-01-30 / Bibliotecas de software são importantes e comumente usadas por permitir que os desenvolvedores utilizem funções básicas já implementadas e se concentrem em atividades complexas relacionadas diretamente às regras de negócio do software em desenvolvimento. Além do que, a disponibilização de bibliotecas na internet facilita sua utilização em larga escala. No entanto, pode haver problemas no desenvolvimento de software quanto a utilização de várias bibliotecas desenvolvidas por terceiros, uma vez que são projetos independentes que funcionarão em conjunto. Este trabalho apresenta o LibViews, um software que, por meio de técnicas de Visualização da Informação, disponibiliza uma representação gráfica de projetos de software e as bibliotecas que eles utilizam. A ferramenta apresentada também possibilita a análise de cada biblioteca utilizada através de métricas que permitem analisar a evolução de bibliotecas. O LibViews foi desenvolvido para proporcionar uma melhor compreensão das bibliotecas e suas versões, bem como a utilização de bibliotecas em projetos de software. Dessa forma, o software permite o entendimento das dependências do software, ou seja, bibliotecas de terceiros utilizadas que interferem diretamente no funcionamento do software. Pode-se afirmar, portanto, que o LibViews ajuda no planejamento, desenvolvimento e manutenção de projetos, permitindo a descoberta de informações até então desconhecidas. Como exemplo, o LibViews foi aplicado em um projeto de software administrativo de uma universidade, comprovando os benefícios de sua utilização para compreender a relação entre o projeto de software e suas dependências. / Software libraries are important and commonly used for allowing developers to use basic functions already implemented and to focus on complex activities directly related to the business rules of the software being developed. In addition, the availability of libraries on the Internet facilitates their mass use. However, there may be problems in software development regarding the use of various libraries developed by third parties, since they are independent projects that will work together. This work presents the LibViews, a software for visualization of software projects and their dependencies; And analysis of each library used through metrics that allow to analyze the evolution of libraries. LibViews was developed to provide a better understanding of libraries and their versions, as well as the use of libraries in software projects. Thus, the software allows the understanding of the software’s dependencies, that is, third-party libraries used that interfere directly in the operation of the software. LibViews, therefore, can assist in the planning, development, and maintenance of projects, allowing the discovery of previously unknown information. As a use case, LibViews has been applied in a university administrative software project, proving the gains from its use to understand the relationship between the software project and its dependencies.
549

Método para manutenção de sistema de software utilizando técnicas arquiteturais. / Method for software system maintenance using architectural techniques.

Júlio Henrique dos Nogueira e Oliveira Guimarães 24 September 2008 (has links)
Diversos negócios hoje são suportados por sistemas de software. Acredita-se que o uso de Arquitetura de Software é fundamental para atingir alcançar as metas de negócio e qualidade. Visto que o conjunto de requisitos que levou à construção de uma determinada arquitetura pode mudar, tal arquitetura pode tornar-se inadequada. Em diversas situações é preciso conviver com os sistemas existentes, portanto é preciso alterá-los para as novas necessidades. Manutenção de sistemas usando técnicas de evolução arquiteturais tem se mostrado um eficaz caminho para alterar um sistema à nova situação. O objetivo deste trabalho é apresentar um método para manutenção de sistemas de software usando técnicas arquiteturais de forma a convergir mais rapidamente à adequação da arquitetura destes sistemas. Algumas técnicas do método incluem avaliação de arquitetura de software, levantamento de riscos, provas de conceito construtivas e destrutivas e métricas estáticas e dinâmicas de software. O método proposto foi aplicado em contextos de laboratório e da indústria, permitindo a verificação de pontos fortes e críticos para realizar seu refinamento e tais aplicações são também relatadas neste trabalho. Embora as aplicações do método proposto tenham sido diferentes, tanto no objetivo principal quanto no desenrolar das atividades, seus resultados foram considerados bastante satisfatórios, tanto no contexto de ensino quanto no contexto de indústria. / Several business today are supported by software systems. It is believed that the use of software architecture is fundamental to achieve the business goals and quality. Since the set of requirements that led to the construction of a given architecture may change, such an architecture may become inadequate. In many situations we must live with existing systems, so we must change them to meet the new needs. Systems maintenance using architectural evolution techniques has proven to be an effective path to take a system to the new situation. This works goal is to provide a method for maintenance of software systems using architectural techniques in order to converge more rapidly to match the architecture of these systems. Some techniques used in the method include software architecture evaluation, risks survey, constructive and destructive proofs of concept, static and dynamic software metrics. The proposed method was applied in contexts of laboratory and industry, allowing the verification of strengths and critical points to guide its refinement and such applications are also reported in this work. Although the applications of the proposed method has been different in both the main goal and the conduct of activities, their results were considered very satisfactory, both in the education and the industry context.
550

Improving the search for refactoring opportunities on object-oriented and aspect-oriented software / Melhorando a busca por oportunidades de refatoração em software orientado a objetos e orientado a aspectos

Piveta, Eduardo Kessler January 2009 (has links)
Refatoração é o processo de melhorar o projeto de sistemas de software sem modificar seu comportamento externamente observável. O processo de refatoração pode auxiliar a incrementalmente melhorar a qualidade de software de um sistema através da aplicação de transformações que preservam comportamento chamadas de padrões de refatoração. O principal objetivo da pesquisa que esta tese descreve é prover um processo detalhado para refatoração, incluindo mecanismos para (i) seleção e criação de modelos de qualidade, padrões de refatoração e funções heurísticas, (ii) a busca e priorização de oportunidades de refatoração, (iii) a avaliação dos efeitos da refatoração na qualidade de software e (iv) a análise de vantagens e desvantagens e a aplicação de padrões de refatoração. Para exemplificar como os mecanismos propostos funcionam e como o processo pode ser usado, diferentes estudos de caso são usados ao longo da tese. A seleção dos padrões de refatoração, dos modelos de qualidade e das funções heurísticas são exemplificados para software orientado a objetos, bem como os mecanismos de busca e priorização. A avaliação dos efeitos da refatoração na qualidade de software, a análise de vantagens e desvantagens e a aplicação de padrões de refatoração são discutidos no contexto de programação orientada a aspectos. Além da definição de um processo de refatoração, um conjunto adicional de contribuições desta tese são: (i) a definição de uma abordagem para a seleção e ranking de padrões de refatoração baseada no AHP (Analytic Hierarchy Process), (ii) uma abordagem para reduzir o espaço de busca para oportunidades de refatoração ao manipular refatorações sucessivas, (iii) a definição de mecanismos de busca para oportunidades de refatoração, (iv) uma abordagem para avaliar os efeitos de refatoração na qualidade de software, (v) um catálogo de problemas encontrados em software orientado a aspectos e seus padrões de refatoração associados, e também um conjunto de recomendações para evitar estes problemas e (vi) um estudo de métricas orientadas a aspectos, incluindo a sua definição formal, avaliação analítica e interpretação de dados. / Refactoring is the process of improving the design of software systems without changing their externally observable behaviour. Refactoring can help to incrementally improve the quality of a software system through the application of behavioural preserving transformations called refactoring patterns. The main goal of the research this thesis reports is to provide a detailed process for refactoring, including mechanism for (i) the selection and creation of quality models, the selection of refactoring patterns, and the creation and use of heuristic rules, (ii) the search for refactoring opportunities and prioritisation, (iii) the assessment of the effects of refactoring on software quality, and (iv) the trade-off analysis and the application of refactoring patterns. To exemplify how the approach works and how the process can be used, different case studies are being used throughout the thesis. The selection of refactoring patterns, quality models and heuristic rules, and the search and prioritisation mechanisms are exemplified for object-oriented software. The assessment of refactoring effects on software quality, the trade-off analysis and the application of refactoring patterns are discussed in the context of aspect-oriented programming. Besides the definition of a refactoring process, a set of additional contributions of this thesis are (i) the definition of an approach for the selection and ranking of refactoring patterns, (ii) an approach for reducing the search space for refactoring opportunities when dealing with successive refactoring, (iii) the definition of search mechanisms for refactoring opportunities, (iv) an approach to evaluate the effects of refactoring on software quality, (v) a catalogue of shortcomings in aspect-oriented software and their related refactoring patterns, and (vi) an study of metrics for aspect-oriented software, including their formal definition, analytical evaluation and data interpretation.

Page generated in 0.0367 seconds