Spelling suggestions: "subject:"cistemas computacionais"" "subject:"cistemas computacionais1""
11 |
Controle de um Sistema não Linear e Instável em Malha Aberta Mediante Controlador Adaptativo por Modelo de ReferênciaLedezma, Luis Carlos Moreno 23 February 2015 (has links)
Submitted by Marcos Samuel (msamjunior@gmail.com) on 2017-02-09T12:08:18Z
No. of bitstreams: 1
Dissertação_Luis Carlos Moreno.pdf: 1851298 bytes, checksum: f9907551df010d1d88bf2f0c7996d153 (MD5) / Approved for entry into archive by Vanessa Reis (vanessa.jamile@ufba.br) on 2017-02-09T14:46:10Z (GMT) No. of bitstreams: 1
Dissertação_Luis Carlos Moreno.pdf: 1851298 bytes, checksum: f9907551df010d1d88bf2f0c7996d153 (MD5) / Made available in DSpace on 2017-02-09T14:46:10Z (GMT). No. of bitstreams: 1
Dissertação_Luis Carlos Moreno.pdf: 1851298 bytes, checksum: f9907551df010d1d88bf2f0c7996d153 (MD5) / Para modelar o problema, é usada a abordagem de Euler-Lagrange. A qual se aplicou a um kit experimental nomeado Ball-Balancer, de modo que pudera-se obter um conjunto de equações dinâmicas que representem, no espaço de estados, seu comportamento dinâmico completo. Algumas suposições foram feitas sobre a situação experimental para evitar assim uma excessiva complexidade e ter que lidar posteriormente com fortes não linearidades que tornarem ao modelo num caso de estúdio difícil de aplicar.
Um esquema de controle adaptativo direto é aplicado a um kit Ball-Balancer, usado como planta não linear. A estabilidade do sistema em malha fechada, e o seu desempenho no rastreamento são discutidos sob o enfoque de Lyapunov, também a obtenção de uma lei de controle adequada, assumindo parâmetros conhecidos, posteriormente, utilizando a mesma metodologia foi obtido um conjunto de equações de adaptação de parâmetros que procuram precisão no seguimento do sinal, em presença de não linearidades desconhecidas.
A aplicabilidade e funcionamento do algoritmo de controle desenvolvido é implementado por meio de simulação, utilizando Matlab e Simulink para executar o controlador não linear sob uma abordagem de Controle Adaptativo por Modelo de Referência (MRAC), obtendo alguns resultados satisfatórios, como a teoria prever.
|
12 |
Simulação de sistemas distribuídos híbridos e dinâmicosFreitas, Allan Edgard Silva 17 May 2013 (has links)
Submitted by Kleber Silva (kleberbs@ufba.br) on 2017-05-30T21:07:39Z
No. of bitstreams: 1
Tese - Allan Edgar.pdf: 1175001 bytes, checksum: 05b3225aca4c54ed2100838c6ad4fbf1 (MD5) / Approved for entry into archive by Vanessa Reis (vanessa.jamile@ufba.br) on 2017-06-01T12:00:03Z (GMT) No. of bitstreams: 1
Tese - Allan Edgar.pdf: 1175001 bytes, checksum: 05b3225aca4c54ed2100838c6ad4fbf1 (MD5) / Made available in DSpace on 2017-06-01T12:00:03Z (GMT). No. of bitstreams: 1
Tese - Allan Edgar.pdf: 1175001 bytes, checksum: 05b3225aca4c54ed2100838c6ad4fbf1 (MD5) / Sistemas distribuídos são usualmente caracterizados por um conjunto de processos residentes em sítios variados de uma rede de computadores e que se comunicam através de canais de comunicação. Processos e canais são caracterizados por comportamentos temporais síncronos ou assíncronos a depender dos recursos subjacentes (sistemas operacionais e subsistema de comunicação). Diferentemente dos sistemas convencionais, as características temporais dos sistemas híbridos e dinâmicos variam com o tempo, de acordo com a disponibilidade de recursos e ocorrência de falhas. Tais sistemas estão se tornando cada vez mais comuns nos dias de hoje devido à crescente diversidade, heterogeneidade e onipresença das redes e dispositivos computacionais. Devido à sua grande complexidade, tais sistemas são difíceis de serem testados ou verificados. Nesta tese, introduzimos um novo ambiente de simulação para tais ambientes, onde diversos modelos de falhas e comportamentos temporais podem ser associados dinamicamente a processos e canais de comunicação. Tal ambiente fora utilizado no desenvolvimento e na avaliação de desempenho de diversos protocolos distribuídos, como, por exemplo, de um protocolo de comunicação em grupo adequado à ambientes híbridos e dinâmicos, onde é possível adaptar o comportamento dos algoritmos conforme o estado percebido do sistema (self-aware), de um protocolo de comunicação em grupo auto-configurável e de uma versão adaptativa do clássico protocolo PBFT, utilizado para replicação ativa de estado em ambientes sujeitos a falhas bizantinas.
|
13 |
Um Modelo de Avaliação de Usabilidade de Aplicativos para Smartphones Baseado na Captura Automática de Interações com o UsuárioKronbauer, Artur Henrique 29 May 2013 (has links)
Submitted by Kleber Silva (kleberbs@ufba.br) on 2017-05-30T21:13:49Z
No. of bitstreams: 1
Tese - Artur kronbauer.pdf: 3711111 bytes, checksum: 0893116dd63db0adde369f66d35d7de9 (MD5) / Approved for entry into archive by Vanessa Reis (vanessa.jamile@ufba.br) on 2017-06-01T12:14:35Z (GMT) No. of bitstreams: 1
Tese - Artur kronbauer.pdf: 3711111 bytes, checksum: 0893116dd63db0adde369f66d35d7de9 (MD5) / Made available in DSpace on 2017-06-01T12:14:35Z (GMT). No. of bitstreams: 1
Tese - Artur kronbauer.pdf: 3711111 bytes, checksum: 0893116dd63db0adde369f66d35d7de9 (MD5) / A onipresença de novas tecnologias associada a diferentes formas de interação, à diversidade de características dos usuários e às interferências contextuais, criam novas barreiras para a avaliação da usabilidade dos aplicativos desenvolvidos para smartphones. As propriedades móveis fornecem maneiras de interação até certo ponto inusitadas, altamente dependente do cenário de interação, o que dificulta a reprodução em laboratório. Um dos desafios nessa área é propor abordagens que permitam realizar testes de usabilidade com a associação de dados quantitativos, contextuais e subjetivos em um mesmo experimento. Este trabalho apresenta um modelo e sua infraestrutura com o objetivo de propor uma nova abordagem que possibilite obter dados estatísticos referentes à usabilidade, contextualizados ao cenário de interação e com interlocuções diretas com os usuários para a obtenção dos seus sentimentos com relação aos aplicativos utilizados. A abordagem proposta permite realizar experimentos por longos períodos de tempo, com a possibilidade da participação de um grande número de usuários e com o potencial para auxiliar a execução de experimentos tanto em cenários reais como em laboratório. Para comprovar a eficiência da abordagem, foram desenvolvidos dois experimentos: o primeiro, com usuários de aplicativos para smartphones, com o objetivo de verificar as potencialidades do processo de coleta e análise dos dados; o segundo, com desenvolvedores de softwares e analistas de banco de dados, com a finalidade de avaliar os procedimentos empregados para realizar o mapeamento das tarefas, a instrumentação dos aplicativos com métricas de rastreabilidade e validar os documentos que descrevem os processos envolvidos na configuração do ambiente de armazenamento e exploração dos dados de usabilidade, capturados durante as interações dos usuários finais.
|
14 |
Visualizando evolução de software em detalhesNovais, Renato Lima 05 August 2013 (has links)
Submitted by Kleber Silva (kleberbs@ufba.br) on 2017-05-30T21:20:41Z
No. of bitstreams: 1
thesis-final-renatonovais.pdf: 7067925 bytes, checksum: 6beae407f17c9c197c694885e80338cc (MD5) / Approved for entry into archive by Vanessa Reis (vanessa.jamile@ufba.br) on 2017-06-01T12:35:19Z (GMT) No. of bitstreams: 1
thesis-final-renatonovais.pdf: 7067925 bytes, checksum: 6beae407f17c9c197c694885e80338cc (MD5) / Made available in DSpace on 2017-06-01T12:35:19Z (GMT). No. of bitstreams: 1
thesis-final-renatonovais.pdf: 7067925 bytes, checksum: 6beae407f17c9c197c694885e80338cc (MD5) / Evolução do software tem sido destacada como um dos temas mais importantes em engenharia e manutenção de software. Durante a evolução do software, os engenheiros de software precisam compreender uma grande quantidade de dados. Visualização de Software é a área da engenharia de software que tem como objetivo ajudar as pessoas a entender o software através do uso de recursos visuais, e pode ser efetivamente usada para analisar e compreender a grande quantidade de dados produzidos durante a evolução do software. Um grande desafio da área é criar estratégias para visualizar combinadamente muitas versões, muitos módulos (pacotes, classes e métodos) e muitos atributos (e.g. métricas) de software.
As visualizações de evolução de software (VES) propostas atualmente procuram, quase sempre, apresentar os dados de forma global, incluindo todas as versões disponíveis, mostrando informações genéricas sobre o processo de evolução, sem ter acesso aos módulos do software. Entretanto, a maior parte das tarefas de engenharia de software requer o acesso aos módulos em questão, analisando o software em detalhes. Além disso, analisar todas as versões ao mesmo tempo, vai de encontro com o estado da prática, o qual, geralmente, foca na diferenciação entre duas versões sequenciais, ou, em menor quantidade, no entendimento de um número maior, porém controlável, de versões.
Esta tese explora a visualização da evolução do software em detalhes. Para este fim, ela mapeia a área, define uma abordagem e apresenta uma infraestrutura computacional para VES. Esta infraestrutura faz uso combinado de estratégias diferenciais e de estratégias temporais detalhadas, em contraposição as abordagens temporais globais normalmente utilizadas na literatura. Este trabalho contribui através do desenvolvimento de uma abordagem para VES que combina versões, módulos e atributos de software de forma controlada e coordenada. Controlada pelo fato de não mostrar todas as versões ao mesmo tempo, permitindo a análise detalhada dos módulos e seus atributos. Coordenada pelo fato de combinar estratégias complementares que interagem entre si para facilitar a compreensão do software em detalhes, adicionando assim valor ao estado da arte em VES.
O desenvolvimento da infraestrutura para dar suporte à esta abordagem foi incremental e iterativo. A cada fase, procurou-se realizar estudos experimentais com o objetivo de avaliar a abordagem desenvolvida. Os resultados indicam que a abordagem proposta pode ser utilizada para apoiar de forma efetiva a realização de atividades de análise de evolução de software.
|
15 |
Estratégias baseadas em Servidores no Escalonamento de Sistemas de Tempo Real em MultiprocessadoresMassa Neto, Ernesto de Souza 20 January 2014 (has links)
Submitted by Kleber Silva (kleberbs@ufba.br) on 2017-05-31T19:17:00Z
No. of bitstreams: 1
Ernesto Massa - Tese.pdf: 1801835 bytes, checksum: 8f11ff14bc272ec3af4ab83c894eb5db (MD5) / Approved for entry into archive by Vanessa Reis (vanessa.jamile@ufba.br) on 2017-06-06T14:41:17Z (GMT) No. of bitstreams: 1
Ernesto Massa - Tese.pdf: 1801835 bytes, checksum: 8f11ff14bc272ec3af4ab83c894eb5db (MD5) / Made available in DSpace on 2017-06-06T14:41:17Z (GMT). No. of bitstreams: 1
Ernesto Massa - Tese.pdf: 1801835 bytes, checksum: 8f11ff14bc272ec3af4ab83c894eb5db (MD5) / Sistemas de tempo real se caracterizam não somente pela necessidade do seu correto processamento lógico, mas também por terem que atender requisitos temporais, sendo a ordem escolhida para a execução das suas tarefas um aspecto particularmente relevante. Quando estes sistemas são classificados como críticos, o atendimento dos requisitos temporais é obrigatório, sob a pena de consequências catastróficas. A recente proliferação de sistemas computacionais compostos por múltiplos processadores fez com que as estratégias de escalonamento consolidadas para sistemas com uma única unidade de processamento, porém ineficientes para ambientes com múltiplos processadores, tivessem que ser substituídas por novas estratégias. As duas abordagens inicialmente adotadas, particionada e global, apresentaram problemas de eficiência ou de aplicabilidade, abrindo espaço para a abordagem semi-particionada. Esta estratégia distribui as tarefas pelos processadores, permitindo que apenas algumas tarefas específicas tenham permissão pera executar em dois ou mais processadores. Para que nenhuma destas tarefas específicas execute simultaneamente em mais de um processador, os algoritmos que seguem abordagens semi-particionadas definem reservas de tempo em que estas ocuparão os processadores, controlando a sua execução. Aproveitando-se de servidores, que garantem isolamento temporal entre tarefas que executam em um mesmo ambiente, este trabalho apresenta dois novos servidores como instrumento para implementar reservas de tempo, propondo dois novos algoritmos de escalonamento para sistemas de tempo real críticos em ambientes com múltiplos processadores que se utilizam destes servidores. Os experimentos realizados revelaram que os desempenhos destes algoritmos são comparáveis aos principais algoritmos de escalonamento relacionados, sendo que um dos algoritmos desenvolvidos foi provado ser ótimo com relação ao uso da capacidade computacional em múltiplos processadores.
|
16 |
Projeto Arquitetural Automatizado de Sistemas Self-Adaptive – Uma Abordagem Baseada em BuscaAndrade, Sandro Santos 19 December 2014 (has links)
Submitted by Kleber Silva (kleberbs@ufba.br) on 2017-05-31T20:12:19Z
No. of bitstreams: 1
tese-sandroandrade-2014.pdf: 6962942 bytes, checksum: 6e55349061fd33f307cf9f2896c56436 (MD5) / Approved for entry into archive by Vanessa Reis (vanessa.jamile@ufba.br) on 2017-06-07T10:57:53Z (GMT) No. of bitstreams: 1
tese-sandroandrade-2014.pdf: 6962942 bytes, checksum: 6e55349061fd33f307cf9f2896c56436 (MD5) / Made available in DSpace on 2017-06-07T10:57:54Z (GMT). No. of bitstreams: 1
tese-sandroandrade-2014.pdf: 6962942 bytes, checksum: 6e55349061fd33f307cf9f2896c56436 (MD5) / Ao longo dos últimos anos, uma série de novas demandas contribuíram para aumentar ainda mais a complexidade essencial de sistemas de software. Como consequência, desenvolver sistemas computacionais que atendam satisfatoriamente a essas demandas requer um controle intelectual que rapidamente se aproxima dos limites humanos.
Os Sistemas Self-Adaptive (SSA) representam uma solução promissora para este problema. Um SSA é caracterizado pela transferência, para run-time, de uma ou mais atividades do processo de desenvolvimento de software, suportadas por uma infraestrutura de adaptação que permite o raciocínio e execução automáticos de atividades antes realizadas off-line pelos desenvolvedores.
Esta tese apresenta o projeto, implementação e avaliação de uma abordagem para projeto arquitetural automatizado de SSA, baseada na representação sistemática de conhecimento refinado de projeto e na aplicação de técnicas de otimização multiobjetivo. Para isso, uma nova linguagem (DuSE) para especificação de espaços de projeto e métricas de qualidade particulares a um determinado domínio de aplicação foi proposta, associada a uma plataforma de otimização de arquiteturas de software. A DuSE viabilizou a infraestrutura de metamodelagem necessária para a especificação do SA:DuSE -- espaço de projeto responsável pela captura sistemática das principais dimensões de projeto de SSA baseados em teoria de controle.
A abordagem foi avaliada em relação à sua capacidade de manifestação de trade-offs, potencial de antecipação dos atributos de qualidade evidenciados e impacto na efetividade e complexidade dos projetos quando comparada a abordagens alternativas. Resultados indicam que a abordagem efetivamente captura o caráter multiobjetivo do projeto de SSA e que promove um melhor suporte à investigação de alternativas e tomada de decisão no projeto de aplicações deste domínio.
|
17 |
Consenso em Memória Compartilhada DinâmicaKhouri, Cátia Mesquita Brasil 15 May 2015 (has links)
Submitted by Kleber Silva (kleberbs@ufba.br) on 2017-06-01T20:12:51Z
No. of bitstreams: 1
TESE Catia Kfouri.pdf: 2112669 bytes, checksum: e502967af9c0f73e9ab91dde19276e1a (MD5) / Approved for entry into archive by Vanessa Reis (vanessa.jamile@ufba.br) on 2017-06-07T11:24:29Z (GMT) No. of bitstreams: 1
TESE Catia Kfouri.pdf: 2112669 bytes, checksum: e502967af9c0f73e9ab91dde19276e1a (MD5) / Made available in DSpace on 2017-06-07T11:24:29Z (GMT). No. of bitstreams: 1
TESE Catia Kfouri.pdf: 2112669 bytes, checksum: e502967af9c0f73e9ab91dde19276e1a (MD5) / Sistemas distribuídos modernos, sobre redes móveis ad-hoc, entre pares (P2P), grades oportunistas ou nuvens, permitem que seus participantes acessem serviços e informações independente de sua localização ou topologia da rede. Garantir tais serviços exige um projeto de sistema confiável completamente distribuído e que possa lidar com o dinamismo, falhas e falta de conhecimento global. Esta tese dedica-se ao estudo de dois problemas fortemente relacionados e que são fundamentais no desenvolvimento de sistemas distribuídos confiáveis: o problema do consenso e o problema da eleição de líder após um tempo, considerando um ambiente assíncrono, dinâmico, em que os processos entram e saem do sistema aleatoriamente, se comunicam através de uma memória compartilhada e podem falhar por parada. A maioria das propostas para esses problemas foca em sistemas estáticos onde o conjunto de participantes é conhecido e fixo, e a comunicação se dá por passagem de mensagens. Entretanto, classes importantes de sistemas como os serviços centrados em dados tolerantes a falhas e altamente disponíveis, além das máquinas com arquitetura multinúcleo, onde os processos compartilham uma única memória física, não se adequam a esse modelo. No primeiro caso, algumas aplicações relevantes são as redes de área de armazenamento (SANs); sistemas de armazenamento P2P Bizantinos; e sistemas de passagem de mensagem nos quais servidores são modelados como componentes de armazenamento. Nesta tese, é proposto um conjunto de algoritmos para o problema do consenso tolerante a falhas em sistemas assíncronos com memória compartilhada, onde o conjunto de participantes é desconhecido. Duas abordagens são exploradas. A primeira considera a abstração detector de participantes que auxilia na construção do conhecimento do sistema. A solução conta com um algoritmo de consenso genérico baseado em oráculo que, ao que se sabe, é o primeiro algoritmo de consenso para memória compartilhada que pode ser instanciado com um detector de falhas da classe ◊S, ou um detector de líder da classe Ω. A segunda apresenta um consenso genérico com outra característica inovadora: não depende do conhecimento da cardinalidade do conjunto de participantes, de modo que suporta o dinamismo do sistema. Ainda na direção de prover serviços fundamentais para ambientes dinâmicos de memória compartilhada, propõe-se um protocolo de detecção de líder após um tempo. O algoritmo é livre de tempo, no sentido de que não usa temporizadores para garantir a convergência. Ao invés disso, baseia-se num padrão de acesso à memória compartilhada. Ao que se sabe, é o primeiro algoritmo a implementar um serviço de líder ? para memória compartilhada livre de tempo. Na prática, um consenso genérico e modular é um arcabouço que permite construir sistemas dinâmicos de camadas superiores independentes do detector de falhas que está disponível. Nesse caso, a implementação do consenso pode ser melhor adaptada às características particulares de cada ambiente; principalmente quando a implementação do detector serve a muitas aplicações. Desse modo, as aplicações existentes, que já estão rodando sobre os detectores ◊S ou Ω, podem ser portadas mais facilmente.
|
18 |
Empirically investigating the human role on the code smell effectSantos, José Amâncio Macedo 18 June 2015 (has links)
Submitted by Kleber Silva (kleberbs@ufba.br) on 2017-06-01T20:18:43Z
No. of bitstreams: 1
Tese final - Amâncio.pdf: 4405750 bytes, checksum: ceb4c269d4cf1fa74d0861c679a6f10d (MD5) / Approved for entry into archive by Vanessa Reis (vanessa.jamile@ufba.br) on 2017-06-07T11:28:44Z (GMT) No. of bitstreams: 1
Tese final - Amâncio.pdf: 4405750 bytes, checksum: ceb4c269d4cf1fa74d0861c679a6f10d (MD5) / Made available in DSpace on 2017-06-07T11:28:44Z (GMT). No. of bitstreams: 1
Tese final - Amâncio.pdf: 4405750 bytes, checksum: ceb4c269d4cf1fa74d0861c679a6f10d (MD5) / Context: Code smell is a term commonly used to describe potential problems in the design of object-oriented systems. The theory about code smells, initially presented in nineties, is focused on characterization of different types of smells and heuristics for their detection and removal. Since then, empirical studies have evaluated the impact of the practical adoption of the code smell concept on software development. We call this issue the code smell effect. The findings of empirical studies on the code smell effect have presented inconsistencies with respect to what is expected by the theory. This phenomenon is not well understood. Objective: Enhancing the understanding of the code smell effect, characterizing problems hindering the practical adoption of the smell concept and investigating their origin. More specifically, we focus on the major confounding factor affecting observations on the code smell effect, which is the human role on smell detection. The human role is mostly disregarded by the theory and it strongly affects the experiments on the subject. Method: We explore the problem empirically, from two perspectives. First, we synthesize the current knowledge on the code smell effect from a set of primary studies published in the literature. To do this, we performed a systematic review based on thematic synthesis. Second, we propose the investigation of factors affecting the human evaluation of smells. To do this, we performed a family of controlled experiments. In it, we investigate an extensive number of factors affecting the human perception of smells. The factors are the use of design comprehension tool support; developer's experience, knowledge and training; and software size. From the thematic synthesis and the family of controlled experiments, we identify challenges for the area and present them as a research agenda. Results: We find out that human evaluation of smell should not be trusted. The studies indicate that the agreement on smell detection is low. They also show that demographic attributes, such as developers' experience, impact the agreement on smell detection. We also concluded that, nowadays, there are not evidences supporting the use of code smells for practical evaluation of design quality. Our evidences are divergent findings correlating code smells and software attributes, such as changes on source code. In some cases, the studies converge showing that code smells do not impact some attributes. This happens, for example, with studies correlating smells and effort on
maintenance. Conclusion: This thesis points out to the gap between the theory and the experimental findings about the code smell effect. Our evidences indicate that the main source for this gap is the low number of studies focusing on the human role on the smell effect. The researches on the subject should focus on better understanding this issue. This not seems the path followed by the area, which has directed its effort on researches focused on tool assessments, such as automatic detection or smell removal. In order to face the problem, we propose a research agenda, indicating that the area needs to: i) investigate the nature of smells, grouping them according to their characteristics; ii) explore human factors affecting smell detection, and their relationships; iii) explore cognitive aspects affecting human perception of smells; and iv) outline attributes of the experiments in order to classify the context where findings can be grouped. These challenges indicate some paths to be followed by the area in order to systematize the use of code smell in the practice of the software development. Despite difficulties, we believe that this is possible and our thesis contributes for this journey. / Contexto: Code smell ´e um termo comumente utilizado para descrever potenciais problemas
em projetos de software orientados a objetos. A teoria relacionada a code smells,
inicialmente apresentada nos anos noventa, tem foco na caracteriza¸c˜ao de diferentes tipos
de smells e nas estrat´egias para sua detec¸c˜ao e remo¸c˜ao. Desde ent˜ao, estudos emp´ıricos
tˆem avaliado o impacto da ado¸c˜ao do conceito de code smell no desenvolvimento de
software, ou seja, o “efeito code smell”. Os resultados destes estudos tˆem apresentado
inconsistˆencias com rela¸c˜ao aos efeitos propostos pela teoria. As causas deste fenˆomeno
n˜ao s˜ao bem compreendidas. Objetivo: Melhorar a compreens˜ao sobre o efeito code
smell, identificando problemas que tˆem dificultado uso do conceito no desenvolvimento
de software. Mais especificamente, nos concentramos no papel humano na detec¸c˜ao de
smells. O fator humano ´e uma vari´avel pouco considerada pela teoria, mas afeta significativamente
os resultados dos estudos emp´ıricos sobre o tema. M´etodo: N´os exploramos
o problema de forma emp´ırica, a partir de duas perspectivas. Primeiro, n´os sintetizamos
o conhecimento relacionado ao efeito code smell a partir de um conjunto de estudos
prim´arios existente na literatura. Para isso, n´os realizamos uma revis˜ao sistem´atica, com
base no m´etodo de s´ıntese tem´atica. Segundo, n´os propusemos a investiga¸c˜ao de fatores
que afetam a percep¸c˜ao humana sobre smells. Neste caso, n´os realizamos uma fam´ılia
de experimentos controlados, investigando um extensivo n´umero de fatores que afetam a
percep¸c˜ao humana sobre smells. Os fatores s˜ao: o uso de ferramentas de suporte `a compreens˜ao
do projeto de software; a experiˆencia; o conhecimento te´orico sobre code smells e
o treinamento dos desenvolvedores; e o tamanho do software. A partir da s´ıntese tem´atica
e da fam´ılia de experimentos, n´os identificamos alguns desafios para a ´area, apresentandoos
como uma agenda de pesquisa. Resultados: N´os percebemos que a avalia¸c˜ao humana
de smells n˜ao ´e confi´avel. Os estudos indicam que o grau de concordˆancia relacionado `a
avalia¸c˜ao humana ´e baixo. Al´em disso, os estudos mostram que atributos demogr´aficos,
como experiˆencia do desenvolvedor, afetam o grau de concordˆancia na detec¸c˜ao de smells.
Tamb´em conclu´ımos que n˜ao h´a evidˆencias que indiquem o uso do conceito de code smells
como ferramenta para a avalia¸c˜ao da qualidade dos projetos de software. Estas evidˆencias
s˜ao as inconsistˆencias nos resultados correlacionando os smells e atributos de software,
como mudan¸cas no c´odigo. Em alguns casos, os estudos concordam que os smells n˜ao
tem correla¸c˜ao com certos atributos. Isso ocorre, por exemplo, com estudos correlacionando
smells e esfor¸co na manuten¸c˜ao de software. Conclus˜ao: Esta tese evidencia
uma lacuna existente entre a teoria e os estudos emp´ıricos relacionados ao efeito code
smell. Nossas evidˆencias apontam o baixo n´umero de estudos abordando o papel humano
na detec¸c˜ao de smells como principal causa desta lacuna. Pesquisas na ´area devem se
concentrar em entender este aspecto. Este n˜ao parece ser o caminho seguido pela ´area,
que tem se concentrado principalmente no desenvolvimento de ferramentas de suporte, como ferramentas para detec¸c˜ao autom´atica e remo¸c˜ao de smells. Para auxiliar neste
sentido, n´os propomos uma agenda de pesquisa indicando pontos importantes a serem
considerados: i) investiga¸c˜ao da natureza dos smells, agrupando-os de acordo com suas
caracter´ısticas; ii) explora¸c˜ao de fatores humanos afetando a detec¸c˜ao de smells e seus
inter-relacionamentos; iii) explora¸c˜ao de aspectos cognitivos afetando a percep¸c˜ao humana
de smells; e iv) identifica¸c˜ao de atributos relacionados aos estudos emp´ıricos de
forma a delinear o contexto onde resultados podem ser agrupados. Estes desafios indicam
alguns caminhos que a ´area pode seguir para sistematizar o uso do conceito de
code smell no desenvolvimento de software. Apesar das dificuldades, n´os acreditamos que
isso ´e poss´ıvel e nossa tese visa a contribuir neste sentido.
|
19 |
Uma Abordagem Multi-objetivo para Redução do Risco da Insatisfação dos Stakeholders no Planejamento de Versões de SoftwarePitangueira, Antonio Mauricio da Silva 03 November 2016 (has links)
Submitted by Kleber Silva (kleberbs@ufba.br) on 2017-06-06T18:57:25Z
No. of bitstreams: 1
Antonio Mauricio Pitangueira.pdf: 3255047 bytes, checksum: faaf1eeacd57c3613d7ecec9288a6c83 (MD5) / Approved for entry into archive by Vanessa Reis (vanessa.jamile@ufba.br) on 2017-06-16T15:40:05Z (GMT) No. of bitstreams: 1
Antonio Mauricio Pitangueira.pdf: 3255047 bytes, checksum: faaf1eeacd57c3613d7ecec9288a6c83 (MD5) / Made available in DSpace on 2017-06-16T15:40:05Z (GMT). No. of bitstreams: 1
Antonio Mauricio Pitangueira.pdf: 3255047 bytes, checksum: faaf1eeacd57c3613d7ecec9288a6c83 (MD5) / Os requisitos a serem entregues na próxima versão do software são selecionados de acordo com o valor percebido pelos stakeholders, o custo esperado da implementação, a disponibilidade de orçamento da companhia de software, relações de precedência entre os requisitos e restrições técnicas, entre outros. As abordagens existentes para o problema de seleção de requisitos de software não levam em conta o risco de insatisfação dos stakeholders, possivelmente resultante da elevada incerteza e divergência nas estimativas dos valores dos requisitos realizadas pelos stakeholders.
Esta Tese tem como objetivo propor uma nova abordagem multi-objetivo que considera o risco de insatisfação dos stakeholders no desenvolvimento da próxima versão do software (RA-MONRP). A abordagem RA-MONRP foi desenvolvida através de dois solvers (Yices e Z3) que adotam uma estratégia de busca determinística com base na Satisfiability Modulo Theory (SMT). Além disso, para permitir a aplicação da formulação proposta para problemas com número elevado de requisitos, também foi implementado um algoritmo probabilístico baseado na metaheurística genética NSGA-II.
Para avaliar a abordagem foram realizados três tipos de experimentos. O primeiro experimento verificou a existência de soluções que reduzam o risco de insatisfação dos stakeholders com mínimo impacto no custo e valor médio dos requisitos. O segundo experimento comparou a escalabilidade das técnicas SMT e metaheurística. Por fim, o terceiro experimento comparou o conjunto de soluções obtido por essas técnicas.
Os resultados encontrados mostram que: (i) o risco de insatisfação dos stakeholders pode ser minimizado com mínimo impacto no custo/valor; (ii) que a abordagem é escalável na maioria das situações em que o NSGA-II é usado, enquanto que para os SMT solvers a abordagem escala para problemas que não são excessivamente grandes em termos de número de requisitos e/ou não são muito esparsos em termos de número de dependências, e (iii) nos casos em que os dados apresentam alta densidade de dependências (número de dependências dividido pelo número de requisitos), o conjunto de soluções obtido pelo NSGA-II se distancia do conjunto de soluções obtido pelas técnicas baseadas em SMT. Para casos em que o número de requisitos é elevado e há baixa densidade de dependências, o NSGA-II obtém soluções muito próximas do SMT.
Os resultados obtidos indicam um avanço no estado da arte no problema de seleção de requisitos de software através da inclusão do risco de insatisfação dos stakeholders. Sendo assim, espera-se que ao se usar a abordagem proposta nessa Tese, os usuários possam adotar o RA-MONRP ao longo do ciclo de desenvolvimento do software, gerando um produto final de acordo com as expectativas dos stakeholders.
|
20 |
CEManTIKA Test Creator: um método de geração de casos de teste para aplicativos móveis sensíveis ao contexto baseado em modelos e padrões de defeitosSantos, André Luís Monteiro Pacheco dos 30 November 2016 (has links)
Submitted by Kleber Silva (kleberbs@ufba.br) on 2017-07-21T21:56:38Z
No. of bitstreams: 1
andre_2016_CEAPG Copy.pdf: 7829168 bytes, checksum: 152763ea87b62d786c38c101ba9b0461 (MD5) / Approved for entry into archive by NUBIA OLIVEIRA (nubia.marilia@ufba.br) on 2017-07-24T17:50:16Z (GMT) No. of bitstreams: 1
andre_2016_CEAPG Copy.pdf: 7829168 bytes, checksum: 152763ea87b62d786c38c101ba9b0461 (MD5) / Made available in DSpace on 2017-07-24T17:50:17Z (GMT). No. of bitstreams: 1
andre_2016_CEAPG Copy.pdf: 7829168 bytes, checksum: 152763ea87b62d786c38c101ba9b0461 (MD5) / O número de aplicações móveis e sensíveis ao contexto aumenta a cada dia. Estas aplicações precisam ser testadas para assegurar um nível adequado de qualidade. Quando aplicação móvel depende de informações de contexto, sejam elas obtidas via sensores físicos e/ou virtuais, a complexidade e o custo relativos a etapa de testes aumenta consideravelmente,pois, os sensores fornecem à aplicação um volume maior e mais diverso tradicionais.
|
Page generated in 0.0639 seconds