Spelling suggestions: "subject:"asoftware"" "subject:"8oftware""
521 |
Busca e recuperação de componentes de software utilizando agrupamento de componentesVeras, 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 processMACHADO, 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 architecturesSilveira 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 softwareCOELHO, 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 softwareLuciano 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çãoViana, 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 softwareLeme, 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 confiaveisSilva, 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 componentesPagano, 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 LifecycleAhmed, 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