• Refine Query
  • Source
  • Publication year
  • to
  • Language
  • 7534
  • 5170
  • 1352
  • 678
  • 657
  • 587
  • 436
  • 370
  • 206
  • 103
  • 92
  • 92
  • 92
  • 87
  • 75
  • Tagged with
  • 21217
  • 7162
  • 5834
  • 2352
  • 2064
  • 2051
  • 1983
  • 1930
  • 1740
  • 1678
  • 1475
  • 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.
521

Busca e recuperação de componentes de software utilizando agrupamento de componentes

Veras, Ronaldo Cisneiros 31 January 2008 (has links)
Made available in DSpace on 2014-06-12T15:54:38Z (GMT). No. of bitstreams: 2 arquivo1985_1.pdf: 1669122 bytes, checksum: d80eb6d9d156dc4d5fea44c91a40a019 (MD5) license.txt: 1748 bytes, checksum: 8a4605be74aa9ea9d79846c1fba20a33 (MD5) Previous issue date: 2008 / O desenvolvimento de software com reuso é uma abordagem que pode ser utilizada para alcançar dois benefícios principais: 1) incremento de produtividade nos projetos de software e 2) melhorias na qualidade final dos projetos. A abordagem de reuso de software pode ser instanciada através da estratégia de desenvolvimento de software baseada em componentes. De acordo com essa estratégia, grandes aplicações de software podem ser desenvolvidas a partir de partes reutilizáveis e pré-existentes, que devem estabelecer uma colaboração entre elas para prover as funcionalidade requeridas pela aplicação. Os locais onde esses componentes são armazenados (repositórios), e os processos para a busca e recuperação dos mesmos, são considerados pontos de constante pesquisa e discussão. Em um outro contexto, soluções baseadas em aprendizagem de máquina e inteligência artificial começam a produzir contribuições relevantes para problemas pertencentes ao ciclo de desenvolvimento de projetos de software, compreendendo campos como a estimativa de esforço de projetos de software e a predição de falhas, por exemplo. Esse trabalho possui o objetivo de investigar a utilização de técnicas de agrupamento de dados (clustering) (que fazem parte das técnicas de aprendizagem de máquina) ao problema do reuso de software. Para esse trabalho foram analisadas as técnicas de agrupamento por mapas auto-organizáveis (SOM), mapas autoorganizáveis que crescem hierarquicamente (GHSOM) e o agrupamento por árvores de sufixos (STC). É importante ressaltar que a aplicação de STC a este problema foi feita originalmente no nosso trabalho. Nesse cenário, a solução proposta foi implementada, gerando uma ferramenta web para busca e recuperação de componentes de software. A ferramenta Cluco (Clustering of Components) apresenta os resultados de uma busca por componentes, que satisfazem os critérios de uma consulta, na forma de grupos de componentes similares, onde esses grupos são gerados pelo algoritmo STC. Essa característica pode ser considerada uma contribuição relevante, pois o grande esforço manual em busca de similaridades, que deveria ser realizado pelos usuários, é executado automaticamente pelo sistema, à medida que os resultados de uma busca tornam-se disponíveis. Esta dissertação apresenta avaliações qualitativas e quantitativas da solução proposta. Vários usuários com vários níveis de experiência em engenharia de software avaliaram a ferramenta, através de realização de buscas e respondendo a um questionário contendo perguntas relativas à usabilidade e à qualidade da solução. Métricas para a avaliação de sistemas de recuperação de informação como, por exemplo, as métricas recall e precision foram utilizadas para fornecer validações quantitativas sobre a solução. Uma análise de desempenho comparando as técnicas investigadas nesse trabalho foi realizada. Esta análise mostrou a superioridade da técnica STC no problema de agrupamento dos componentes de software utilizados nesse trabalho (componentes Java). Considerando todos os resultados obtidos, pode ser concluído que a solução proposta contribui de forma positiva e relevante para o problema de busca e recuperação de componentes de software
522

RiPLE-TE: a software product lines testing process

MACHADO, Ivan do Carmo 31 January 2010 (has links)
Made available in DSpace on 2014-06-12T15:56:08Z (GMT). No. of bitstreams: 2 arquivo2740_1.pdf: 2644880 bytes, checksum: fe1eea41159301d1e53e77c4a7ffac36 (MD5) license.txt: 1748 bytes, checksum: 8a4605be74aa9ea9d79846c1fba20a33 (MD5) Previous issue date: 2010 / Conselho Nacional de Desenvolvimento Científico e Tecnológico / Linhas de Produtos de Software (SPL) pode ser considerada uma estratégia eficiente para o reuso de software. SPL oferece significativos benefícios econômicos para as empresas, tais como redução de custos, melhoria da qualidade e, redução do tempo de entrega de produtos. SPL baseia-se no reuso sistemático de artefatos, através da exploração de commonalities (pontos em comum), e o gerenciamento de variabilities (pontos de variação), entre os produtos, desenvolvidos sob uma arquitetura comum. Em SPL, atenção especial deve ser dada à qualidade dos artefatos produzidos. Em termos de garantia de qualidade, enquanto que no desenvolvimento tradicional, um programa é dito válido se pudermos garantir que ele irá funcionar corretamente, no contexto de SPL, para este mesmo cenário ser garantido, é necessário ter confiança de que qualquer instância de produto irá funcionar corretamente. Reforça-se, então, a atenção necessária mencionada anteriormente. Da mesma forma, é maior também o esforço necessário para tratar aspectos de garantia de qualidade em projetos de SPL. No entanto, a entrega de softwares com qualidade é fundamental e, talvez, a principal prática a se adotar, para que seja possível experimentar os benefícios mencionados. Neste contexto, a entrega de produtos com qualidade deve contar com o apoio de processos bem definidos, para o estabelecimento e coordenação das atividades relacionadas. Assim, testes, como ainda a técnica de garantia de qualidade mais conhecida e aplicada, exige uma atenção especial, devido a sua característica conhecida de ser uma atividade deveras custosa. Testes em SPL é complexo e oneroso, podendo tornar-se um gargalo em projetos de SPL. Assim, esta dissertação descreve um processo para apoiar as atividades de testes em projetos de SPL. Estabelecemos este processo com o objetivo de fornecer às organizações uma estratégia de redução de esforço na condução de atividades de teste em projetos de SPL. O processo é parte do projeto RiPLE, um esforço para a construção de um framework para SPL, que engloba o conjunto das disciplinas que compõem o ciclo de vida de desenvolvimento. Nossa pesquisa fundamenta-se em um systematic mapping study, realizado com o objetivo de fornecer a base teórica sobre o tema de investigação, bem como identificar tópicos de pesquisa a explorar. Esta dissertação apresenta ainda uma avaliação inicial da proposta, conduzida através da realização de estudos experimentais, objetivando coletar e reunir evidências sobre a eficácia da proposta, bem como compreender, na prática, como a atividade de testes em SPL pode ser melhorada, no sentido de alcançar os benefícios e metas da SPL
523

A regression testing approach for software product lines architectures

Silveira Neto, Paulo Anselmo da Mota 31 January 2010 (has links)
Made available in DSpace on 2014-06-12T15:57:06Z (GMT). No. of bitstreams: 2 arquivo3140_1.pdf: 4172532 bytes, checksum: b7cc6b23a678d29aa1a5c9c9da0617e9 (MD5) license.txt: 1748 bytes, checksum: 8a4605be74aa9ea9d79846c1fba20a33 (MD5) Previous issue date: 2010 / Fundação de Amparo à Ciência e Tecnologia do Estado de Pernambuco / Com o objetivo de produzir produtos individualizados, muitas vezes, as empresas se deparam com a necessidade de altos investimentos, elevando assim os preços de produtos individualizados. A partir dessa necessidade, muitas empresas, começaram a introduzir o conceito de plataforma comum, com o objetivo de desenvolver uma grande variedade de produtos, reusando suas partes comuns. No contexto de linha de produto de software, essa plataforma em comum é chamada de arquitetura de referência, que prove uma estrutura comum de alto nível onde os produtos são construídos. A arquitetura de software, de acordo com alguns pesquisadores, está se tornando o ponto central no desenvolvimento de linha de produtos, sendo o primeiro modelo e base para guiar a implementação dos produtos. No entanto, essa arquitetura sofre modificações com o passar do tempo, com o objetivo de satisfazer as necessidades dos clientes, a mudanças no ambiente, além de melhorias e mudanças corretivas. Desta forma, visando assegurar que essas modificações estão em conformidade com as especificações da arquitetura, não introduziram novos erros e que as novas funcionalidades continuam funcionando como esperado, a realização de testes de regressão é importante. Neste contexto, este trabalho apresenta uma abordagem de regressão utilizada tanto para reduzir o número de testes que precisam ser reexecutados, da arquitetura de referência e da arquitetura dos produtos, quanto para tentar assegurar que novos erros não foram inseridos, depois que essas arquiteturas passaram por uma evolução ou mudança corretiva. Como regressão é vista como uma técnica que pode ser aplicada em mais de uma fase de teste, neste trabalho regressão é aplicado durante a fase de integração, uma vez que, ao final desta fase teremos as arquiteturas da linha de produto testadas. Desta forma, uma abordagem de integração também foi proposta. Esta dissertação também apresenta uma validação inicial da abordagem, através de um estudo experimental, mostrando indícios de que será viável a aplicação de testes de regressão nas arquiteturas de uma linha de produto de software
524

MAPS : um modelo de adaptação de processos de software

COELHO, Ciro Carneiro January 2003 (has links)
Made available in DSpace on 2014-06-12T15:58:44Z (GMT). No. of bitstreams: 2 arquivo4682_1.pdf: 626196 bytes, checksum: 1fb1dc5d0a7cd2ad5b76df6668bf1f92 (MD5) license.txt: 1748 bytes, checksum: 8a4605be74aa9ea9d79846c1fba20a33 (MD5) Previous issue date: 2003 / Como conseqüência do aumento da complexidade dos softwares e das maiores exigências do mercado, a busca de processos que venham organizar e melhorar o desenvolvimento de software tem crescido nos últimos anos. Apesar do grande número de processos disponíveis atualmente, não existe um processo de software único que se adeqüe a todas as situações. A eficiência de um processo varia de organização para organização e até entre os diferentes projetos de uma mesma organização. Uma solução comumente adotada é a definição de um processo padrão para a organização, em conjunto com diretrizes e critérios para a adaptação desse processo. A definição das diretrizes e dos critérios de adaptação é uma tarefa não-trivial, e vem sendo abordada de várias formas diferentes dentro da comunidade de Engenharia de Software. Este trabalho apresenta o Modelo de Adaptação de Processos de Software - MAPS, um modelo compatível com o Capability Maturity Model CMM, e que auxilia a adaptação de um processo padrão para projetos específicos e promove o reuso e melhoria de processos de software. O MAPS é constituído por três componentes principais. A Base de Processos armazena o conhecimento adquirido sobre a utilização de processos em projetos passados. O Modelo de Caracterização de Projetos realiza uma comparação de projetos de software, permitindo identificar projetos semelhantes e facilitando, assim, o reuso de processos. O PConfig é responsável por configurar o processo padrão para projetos específicos com base nos artefatos do processo padrão. O MAPS objetiva a criação de uma base de processos adaptados, todos gerados a partir do processo padrão e adaptados às características específicas dos projetos, definindo, também, como esses processos adaptados podem ser reusados em projetos futuros de acordo com as características dos projetos. Para avaliar o MAPS, foi realizado um estudo de caso comparando os processos utilizados em dois projetos reais com os processos sugeridos pelo MAPS
525

Um processo para seleção de metodologias de desenvolvimento de software

Luciano Leite Silva, Pedro January 2003 (has links)
Made available in DSpace on 2014-06-12T15:58:52Z (GMT). No. of bitstreams: 2 arquivo4737_1.pdf: 1391363 bytes, checksum: 855faf4ae322ae49deddd5210ea88639 (MD5) license.txt: 1748 bytes, checksum: 8a4605be74aa9ea9d79846c1fba20a33 (MD5) Previous issue date: 2003 / A sobrevivência de uma companhia está relacionada a questões sociais, econômicas e políticas. Ela deve lutar num mercado competitivo que cresce, pressionada pela necessidade de oferecer maior qualidade no desenvolvimento dos produtos, num curto espaço de tempo, de modo a satisfazer seus clientes. As companhias gastam fortunas em projetos de software que são cancelados, que ultrapassam os custos previstos, que são entregues além do tempo estimado e que não atendem às necessidades quando concluídos. Há muitas pesquisas em andamento na tentativa de solucionar estes problemas, principalmente nos campos da tecnologia e de processos de desenvolvimento e gerenciamento de software, resultando em novas metodologias disponíveis no mercado. As organizações de software precisam selecionar uma metodologia que suporte o desenvolvimento do projeto, visando a liberação de produtos dentro dos custos e prazos estimados, e com a qualidade exigida pelo cliente. Este trabalho propõe um processo para selecionar uma metodologia para o desenvolvimento de um projeto de software. O processo de seleção se fundamenta em vários trabalhos correlatos, tais como a norma ISO/IEC-14102 e o modelo de Aquisição de Software (SA-CMM), proposto pelo Software Engineering Institute. Além do processo de seleção, o trabalho também apresenta o protótipo de uma ferramenta de apoio ao mesmo, partindo do pressuposto que os requisitos da metodologia para o projeto foram definidos e que as metodologias disponíveis foram previamente avaliadas
526

Um método para seleção de testes de regressão para automação

Viana, Virginia Maria Araújo January 2006 (has links)
Made available in DSpace on 2014-06-12T15:59:52Z (GMT). No. of bitstreams: 2 arquivo5653_1.pdf: 1284363 bytes, checksum: d62473b945b8dfdb62f3b28ec04d7fe3 (MD5) license.txt: 1748 bytes, checksum: 8a4605be74aa9ea9d79846c1fba20a33 (MD5) Previous issue date: 2006 / A realização de testes é vital para o desenvolvimento de software com qualidade e demanda grande esforço e tempo de projeto. Muitas empresas têm investido pesado no processo de testes visando a prevenção e detecção eficiente de defeitos. Durante os ciclos de desenvolvimento e manutenção do software, testes de regressão são realizados com o objetivo de garantir que manutenções realizadas no software ou a integração de novas funcionalidades não inseriram novos erros em áreas do sistema anteriormente testadas. Testes de regressão são normalmente muito repetitivos e demandam um esforço considerável de tempo quando realizados manualmente. A realização de testes de regressão automáticos, além de possibilitar a redução do ciclo de testes, aumento da cobertura do software e, conseqüentemente, da sua qualidade, permite que os testadores foquem seus esforços em outros tipos de teste ou em testes que não possam ser automatizados. Por isso, muitas empresas têm investido em projetos de automação de testes. Um problema clássico no caso de automação de testes de regressão é identificar que casos de teste devem ser automatizados para que seja possível obter bons resultados dos testes automatizados. Este trabalho estabelece um método para apoiar a seleção de testes de regressão para automação, a partir de um conjunto já existente, possibilitando definir um escopo mais efetivo para os projetos de automação e atuar nos casos de teste cuja automação trará maiores benefícios para a organização de teste
527

Um sistema de padrões para injeção de falhas por software

Leme, Nelson Guilherme Mendes 22 August 2001 (has links)
Orientadores : Eliane Martins, Cecilia Mary Fischer Rubira / Dissertação (mestrado) - Universidade Estadual de Campinas, Instituto de Computação / Made available in DSpace on 2018-07-28T21:35:01Z (GMT). No. of bitstreams: 1 Leme_NelsonGuilhermeMendes_M.pdf: 5349075 bytes, checksum: 294466c6a29f791fd6d78925cf3f02ff (MD5) Previous issue date: 2001 / Resumo: O uso de sistemas computacionais tem se expandido cada vez mais. Esses sistemas vêm sendo usados em aplicações críticas, que devem dar uma resposta esperada mesmo na presença de falhas. Uma das formas encontradas de se garantir isso é testar o sistema usando Injeção de Falhas. Nesse processo são simuladas falhas e observada a resposta do sistema nessas circunstâncias. Uma das formas mais populares de se fazer isso é através de Injeção de Falhas por Software, onde um trecho especial de código, associado ao sistema sob teste, procura simular a presença de falhas. Várias ferramentas e programas que realizam Injeção de Falhas por Software já foram desenvolvidas. Entretanto, novos tipos de sistema são criados, e é difícil encontrar ferramentas para esses sistemas. Portanto, há a necessidade de se desenvolver novos programas para realizar Injeção de Falhas por Software. Uma maneira de se facilitar isso é através da criação de Padrões para desenvolver tais sistemas. Através de Padrões, pode-se descrever a arquitetura de programas de Injeção de Falhas por Software, bem como estruturas que esses programas usariam. Isso de uma maneira já determinada e independente de linguagem de programação, e dessa maneira apta a ser utilizada pelo maior número possível de desenvolvedores. Esses Padrões para Injeção de Falhas por Software, organizados na forma de um Sistema, estão expostos neste trabalho. Também é mostrada aqui a ferramenta de Injeção de Falhas JACA, criada com base nesses Padrões, não só como exemplo da aplicação dos mesmos, mas também com utilidade própria, de testar sistemas na presença de falhas / Abstract: The utilization of computing systems has increased continuos1y. That includes the increase in use of systems running in critical applications, when those systems must give an expected answer even in the presence of faults. One way of guaranteeing this is testing the system through Fault Injection. In that process, faults are simulated and the answer of the system to those conditions is observed. One of the most popular ways of doing this is using Software Fault Injection, in which a special piece of code, associated with the system under test, tries to simu1ate the presence of faults. Many too1s and programs that perfonn Software Fau1t Injection have already been deve10ped. However, new kinds of systems are being created, and there are no too1s for such systems. Therefore, there is a need of deve10pment of new programs that make Software Fau1t Injection. This process could be eased through the creation of Patterns to deve10p such programs. Through the use of Patterns, the architecture and structures used by Software Fault Injection programs could be described. And that would be done in a standard and programming 1anguage independent way, and therefore it cou1d be used by the majority af deve10pers. Those Software Fault Injection Patterns, organized in a System, are exposed in the present paper. Also, a Fault Injection Too1, JACA, is described. That too1 was designed based on the Pattern System. It is not on1y an examp1e of the imp1ementation of those Patterns in a real program, but also as Fault Injection too1 with its own usefulness, which is able to test systems in the presence of faults / Mestrado / Mestre em Ciência da Computação
528

Tecnicas de estruturação de software no desenvolvimento de sistemas-de-sistemas confiaveis

Silva, Ricardo de Mendonça 03 August 2018 (has links)
Orientador : Cecilia Mary Fischer Rubira / Dissertação (mestrado) - Universidade Estadual de Campinas, Instituto de Computação / Made available in DSpace on 2018-08-03T19:49:59Z (GMT). No. of bitstreams: 1 Silva_RicardodeMendonca_M.pdf: 768343 bytes, checksum: 05119a6c2b6052ce1e0b55ed9c3919c6 (MD5) Previous issue date: 2003 / Mestrado
529

Uma abordagem arquitetural com tratamento de exceções para sistemas de software baseados em componentes

Pagano, Vinícius Asta 14 August 2004 (has links)
Orientador: Cecilia Mary Fischer Rubira / Dissertação (mestrado profissional) - Universidade Estadual de Campinas, Instituto de Computação / Made available in DSpace on 2018-08-04T00:07:27Z (GMT). No. of bitstreams: 1 Pagano_ViniciusAsta_M.pdf: 6761909 bytes, checksum: 684aea3316ddd5dc962dfe7151461d42 (MD5) Previous issue date: 2004 / Resumo: A especificação da arquitetura de software é fundamental para a construção de um sistema de software que atenda a requisitos de confiabilidade e que seja baseado em componentes de software reutilizáveis. Componentes reutilizáveis podem ser implementados sem o conhecimento de um sistema onde serão reutilizados. A arquitetura de software deste sistema deve fornecer o contexto de utilização de componentes de modo que eles possam ser devidamente identificados e integrados a este sistema, atendendo aos requisitos de confiabilidade. Para isto, a arquitetura deve ser bem organizada e apresentar tanto a especificação normal quanto a especificação excepcional de seus componentes, além dos conectores que interligam esses componentes. Este trabalho propõe uma solução centrada na arquitetura baseada em um método para a especificação de componentes da arquitetura de um sistema e de seu comportamento excepcional (MECE). O método MECE promove a definição de uma arquitetura com a especificação normal e excepcional de seus componentes e a identificação de conectores. Através da especificação excepcional identifica-se quais exceções cada componente deve lançar em suas interfaces providas, e quais exceções associadas as suas interfaces requeridas o componente deve tratar. Mesmo com uma arquitetura bem especificada pode ser que não se encontre um componente reutilizável que atenda à sua especificação excepcional, sendo necessário um trabalho de adaptação no momento da integração deste componente na arquitetura definida. A solução apresentada neste trabalho propõe o uso de estratégias de estruturação arquitetural para tratamento de exceções, que auxiliam este trabalho de adaptação e a integração de componentes a um sistema. A solução proposta foi implementada num estudo de caso de um sistema real, onde inicialmente foi especificado e implementado o comportamento normal do sistema e depois o seu comportamento excepcional, usando o método MECE e as estratégias de estruturação arquitetural para tratamento de exceções / Abstract: The software architecture specification is the base for a component-based software construction that must be compliant with dependability requirements. A component-based software is constructed with reusable components. Reusable components can be implemented without knowing the context of the systems where these components would be reused. The software architecture of a system must provide the reuse context in order to allow the identification of reusable components and the integration of these components to this system. The software architecture must be well organized and present the normal and exceptional specification of its components and the connectors that must be used to connect these components. This work proposes one architecture solution based on a method for normal and exceptional specification of system components (MECE). The method MECE provides the definition of architecture with the normal and exceptional specification of its components and the definition of the connectors. The component exceptional specification identifies the exceptions that must be thrown by a component in its provided interfaces, and the exceptions that must be caught in its required interfaces. Even with a well-specified architecture, maybe it is not possible to identify a reusable component that is totally compliant with the exceptional specification, which requires adaptation activities to integrate this reusable component to the defined architecture. The solution presented in this work proposes the use of architectural strategies for exception handling that guides the adaptation activities and the components integration to a system. The proposed solution was implemented in a study case of a real system, where firstly the normal behavior of the system was implemented, and secondly the exceptional behavior was implemented, applying the method MECE and the architectural strategies for exception handling / Mestrado / Mestre em Ciência da Computação
530

Secure Software Development : Identification of Security Activities and Their Integration in Software Development Lifecycle

Ahmed, Syed Rizwan January 2007 (has links)
Today’s software is more vulnerable to attacks due to increase in complexity, connectivity and extensibility. Securing software is usually considered as a post development activity and not much importance is given to it during the development of software. However the amount of loss that organizations have incurred over the years due to security flaws in software has invited researchers to find out better ways of securing software. In the light of research done by many researchers, this thesis presents how software can be secured by considering security in different phases of software development life cycle. A number of security activities have been identified that are needed to build secure software and it is shown that how these security activities are related with the software development activities of the software development lifecycle.

Page generated in 0.0675 seconds