Bacharelado em Ciência da Computação (Sede)
URI permanente desta comunidadehttps://arandu.ufrpe.br/handle/123456789/6
Siglas das Coleções:
APP - Artigo Publicado em Periódico
TAE - Trabalho Apresentado em Evento
TCC - Trabalho de Conclusão de Curso
Navegar
9 resultados
Resultados da Pesquisa
Item Aplicação de métodos ágeis em desenvolvimento global de software(2021-07-22) Alves, Annelyelthon Ferreira; Marinho, Marcelo Luiz Monteiro; http://lattes.cnpq.br/3362360567612060; http://lattes.cnpq.br/8410367808658970O Desenvolvimento de Software Global (Global Software Development GSD) Continua crescendo substancialmente e está rapidamente se tornando um padrão, fundamentalmente diferente do desenvolvimento local da Engenharia de Software. Com o desenvolvimento ágil de software (Agile Software Development ASD), tornouse uma escolha atraente para empresas que tentam melhorar seu desempenho, embora seus métodos tenham sido originalmente projetados para equipes pequenas e individuais. A literatura atual não fornece uma imagem coesa de como as práticas ágeis são levadas em consideração na natureza distribuída do desenvolvimento de software: como fazer, quem envolver e o que funciona na prática. Este estudo tem como objetivo destacar como as práticas de ASD são aplicadas no contexto do GSD, a fim de desenvolver um conjunto de técnicas que podem ser relevantes tanto na pesquisa quanto na prática. Para responder à pergunta de pesquisa, “Como as práticas ágeis são adotadas em equipes de desenvolvimento de software ágil global?” Conduzimos uma revisão sistemática da literatura e um survey com engenheiros de software no contexto de ASD e GSD. Uma síntese das soluções encontradas em setenta e seis estudos forneceu 48 práticas distintas que as organizações podem implementar, incluindo “colaboração entre equipes”, “arquitetura ágil”, “coaching”, “demonstração do sistema” e “automação de teste”. Assim, realizamos uma verificação com engenheiros de software e identificamos que essas práticas implementáveis fornecem soluções para gerenciar equipes GSD e assim, abraçar a agilidade.Item Verificação eficiente de robôs educacionais(2021-03-03) Correia, Lucas Francisco Pereira de Gois; Nogueira, Sidney de Carvalho; http://lattes.cnpq.br/9171224058305522; http://lattes.cnpq.br/1957154709677653Robótica educacional é uma área de interesse crescente dentro das instituições de ensino. Devido ao seu baixo custo e facilidade de aquisição, ambientes virtuais de programação para robôs têm sido desenvolvidos para suportar o ensino de conceitos de computação, programação e robótica. A principal ferramenta de depuração disponível nestes ambientes é a simulação do robô dentro de um ambiente virtual. Nestes ambientes, a depuração acontece de forma visual: não é possível analisar de forma automática se um programa vai convergir para um objetivo específico. Soluções para analisar de forma automática programas de robôs virtuais são ferramentas de ensino importantes para a avaliação eficiente e precisa dos programas. O objetivo deste projeto é aperfeiçoar uma abordagem de verificação automática de programas de robô. Esta abordagem traduz programas na linguagem ROBO para a notação formal CSP e utiliza o verificador de modelos FDR para analisar o comportamento do programa. O resultado retornado pelo verificador é utilizado para informar se o programa analisado possui o comportamento esperado. O aperfeiçoamento corresponde a implementação de um tradutor de ROBO para CSP que gera um modelo CSP mais eficiente de ser analisado do que o modelo produzido pelo tradutor atual. Através de avaliação empírica, pode-se observar uma redução significativa no tempo para análise dos modelos CSP obtidos a partir do tradutor desenvolvido neste trabalho. O tempo de análise observado foi praticamente constante para os mapas analisados, enquanto o tempo de análise dos modelos gerados pelo tradutor anterior, produzido antes deste trabalho, apresentou um crescimento exponencial com relação ao tamanho do mapa onde o programa é analisado. Uma contribuição adicional deste trabalho é que o tradutor transforma em CSP programas com qualquer sintaxe da linguagem ROBO, enquanto o tradutor anterior lidava apenas com um subconjunto da sintaxe.Item Engenharia de requisitos ágil: extensão de uma revisão sistemática da literatura(2021-02-24) Menezes, Renato Vieira de; Sampaio, Suzana Cândido de Barros; http://lattes.cnpq.br/0066131495297081; http://lattes.cnpq.br/5357825214092807A realidade recente do dia a dia dos engenheiros de software é determinada pela prática dos métodos ágeis, motivando questionamentos frequentes na comunidade sobre como adotar uma Engenharia de Requisitos (ER) mais flexível e dinâmica, distinta do modelo tradicional. Os métodos ágeis não apresentam regras estabelecidas para uma definição única de como as atividades de Engenharia de Requisitos devem ser realizadas. Explorar os avanços da ER ágil em ambientes diversos e desafiadores tornase adequado. Portanto, o objetivo deste Trabalho de Conclusão de Curso (TCC) é identificar e compreender o cenário atual da variedade do uso das práticas / técnicas que compõem tais atividades, os importantes desafios e lições aprendidas. Uma extensão de estudo de revisão sistemática da literatura foi conduzida para realização desta análise e as evidências são sintetizadas a partir de fontes publicadas entre 2017 e 2020. Além de verificar, descrever e direcionar a pesquisa a respeito da Engenharia de Requisitos ágil, o trabalho entrega um compilado de práticas, observando os diferentes contextos de projetos e organizações.Item Scaling agile methods in global software projects: Is it possible with SAFe?(2020-09-03) Figueredo, Rafael da Camara; Marinho, Marcelo Luiz Monteiro; http://lattes.cnpq.br/3362360567612060; http://lattes.cnpq.br/1583800948677235A desenvolvimento de software global continua crescendo substancialmente e está rapidamente se tornando uma norma do desenvolvimento de software, sendo fundamentalmente diferente do da engenharia de software local. Embora os métodos ágeis terem sido originalmente construídos para times pequenos, o desenvolvimento ágil de software vem se tornando uma opção atraente para empresas que tentam melhorar sua produtividade em times globais. O uso de práticas ágeis no desenvolvimento de software global tornaram-se a principal opção para executar projetos em ambientes distribuídos devido aos seus benefícios relacionados a uma melhor comunicação, coordenação, produtividade e qualidade do projeto. Entretanto, enquanto empresas continuam crescendo, junto a complexidades e desafios que surgem rapidamente, muitos dos seus projetos vem se tornando globais e de larga escala, o que faz elas buscarem constantemente como adaptar o ágil nesses cenários e consequentemente como escalar o ágil para uma melhor coordenação. A literatura atual não fornece uma imagem coesa de como as práticas ágeis são de fato implementadas em um ambiente distribuído, e também como elas podem ser escaladas em projetos globais de larga escala. Faltam informações sobre como como usar e escalar o ágil em cenários distribuídos, quais práticas ágeis e escaláveis funcionam nas equipes de desenvolvimento de software global, e por fim, quem deve aplicá-las. Com base nessa lacuna da literatura, este estudo tem como objetivo destacar como as práticas ágeis são aplicados no contexto de desenvolvimento de software global, a fim de desenvolver um conjunto de técnicas que possam ser relevantes tanto na pesquisa quanto na prática. Além disso, o estudo visa destacar um conjunto de práticas ágeis usadas pelas equipes de desenvolvimento de software global para escalar o ágil e mapear essas práticas com as práticas do “Scaled Agile Framework” (SAFe). Para responder as duas perguntas de pesquisa, sendo a primeira: “Como as práticas ágeis são adotadas nas equipes de desenvolvimento de software global ágil?” e a segunda: “Quais são as práticas relatadas na literatura de desenvolvimento de software global ágil que adotam práticas do SAFe ao adotar o desenvolvimento ágil escalável?”, foi conduzida uma revisão sistemática da literatura nas áreas de desenvolvimento de software ágil, global e global ágil. Uma síntese das soluções encontradas em setenta e seis estudos forneceu 48 práticas ágeis distintas que empresas podem implementar em ambientes distribuídos globalmente. Além disso, dessas 48 prátias ágeis, foi possível identificar 18 práticas ágeis escaláveis que adotam as práticas do SAFe. Essas práticas implementáveis são úteis para fornecer soluções para gerenciar times globais com agilidade, enquanto as práticas do SAFe vinculadas as práticas ágeis escaláveis fornecem diretrizes para melhor escalar o ágil em projetos globais de larga escala.Item Os efeitos da (in)felicidade no processo dedesenvolvimento de software(2019) Falcão, Tiago Coutinho; Marinho, Marcelo Luiz Monteiro; http://lattes.cnpq.br/3362360567612060; http://lattes.cnpq.br/8796523691341550No processo de desenvolvimento de software o principal ator e responsável por impactar diretamente na produção, é o indivíduo. Com o aumento da literatura e das vivências profissionais, assim como a importância de se estudar o ser humano, estudos recentes envolvendo os aspectos humanos na engenharia de software procuram relacionar fatores psicológicos com ciências exatas. Estudos mostram que emoções como a(in)felicidade num ambiente de desenvolvimento de software estão diretamente ligadas a qualidade do software , afetando o desempenho do desenvolvedor. Compreender a felicidade e a infelicidade é possível elaborar formas que melhorem as condições do ambiente de trabalho,a produtividade e motivação do desenvolvedor.O presente trabalho busca identificar os efeitos da (in)felicidade no desempenho dos desenvolvedores de software atuantes no estado de Pernambuco. Neste trabalho, serão analisados os efeitos e os fatores moderadores que influenciam o desempenho dos desenvolvedores quando estão felizes e infelizes durante o processo de desenvolvimento de software.Baseada em uma revisão bibliográfica e na opinião de envolvidos no desenvolvimento de software, através de um questionário, que contou com a participação de 71 desenvolvedores, foram levantados os fatores moderadores capazes de influenciar emocionalmente o indivíduo acarretando na melhora ou piora do seu desempenho. Dentre eles estão: saúde mental e física influenciando negativamente e a motivação do time como fator moderador positivo. Apesar de algumas empresas terem flexibilidade em diversos sentidos como por exemplo, a vestimenta,coffee breakse espaços de lazer,a atenção ao desenvolvedor muitas vezes não é explorada individualmente. Nesse trabalho, podemos concluir que fatores como a Saúde Mental comprovam que o cuidado com o bem-estar do individuo é de extrema importância para um bom funcionamento do processo de desenvolvimento.Item A Diagnoses Instrument for Software Engineers’ Soft Skills(2019) Bastos, Thiago Alves; Sampaio, Suzana Cândido de Barros; http://lattes.cnpq.br/0066131495297081; http://lattes.cnpq.br/9312633017399857O uso de Metodologias Ágeis em meio aos Projetos de Desenvolvimento de Software têm crescido nos últimos anos. Essas metodologias tem um conjunto de valores e princípios que são centrado nas pessoas, aumentando a importância dos fatores humanos para o sucesso dos projetos que utilizam Metodologias Ágeis. Entretanto, esses fatores nem sempre são completamente entendidos pelos profissionais que trabalham dentro de times ágeis. Essa realidade levou ao surgimento de um ”gap” entre o que as empresas esperam dos Engenheiros de Software e o que eles realmente têm, em termos de Soft Skills, especialmente em seus primeiros empregos. Por isso, baseado em uma Revisão da Literatura e na opinião dos Engenheiros de Software que trabalham em times ágeis dentro do Porto Digital de Recife, esse trabalho desenvolveu um MVP de um instrumento capaz de fazer uma auto avaliação das 8Soft Skills mais importantes para um Engenheiro de Software que trabalha em um ambiente Ágil. Elevando a atenção para a relevância das Soft Skills para carreira de um Engenheiro de Software,destacando quais são as Soft Skills mais importantes para eles e também reduzindo o ”gap” existente no mercado de TI. Além disso, durante esse estudo foi criado um Catálogo de Soft Skills contendo os seus sinôimos e suas definições encontradas na Literatura. Por fim, pode-se perceber que as Soft Skills são muito importantes para os Engenheiros de Software, sendo Liderança e Negociação as menos relevantes e Comunicação a mais relevante, e o MVP do instrumento desenvolvido se mostrou de extrema relevância, principalmente para engenheiros de Software no começo da carreira. Além disso, também foi possível perceber que não existem atividades suficientes dentro das empresas para melhorar as Soft Skills dos Engenheiros de Softwaer e as atividades existentes não estão alinhadas com as expectativas deles.Item Políticas para desenvolvimento de software seguro em times ágeis(2019) Bezerra, Carlos Magnum Matias; Sampaio, Suzana Cândido de Barros; http://lattes.cnpq.br/0066131495297081; http://lattes.cnpq.br/9077153013471246Os valores e princípios das metodologias ágeis visam entregar valor ao negócio deforma rápida, sendo essa agilidade, um dos fatores críticos para o sucesso dessas abordagens. Sucesso esse, crucial para atender uma demanda crescente por software, gerada pela necessidade de digitalização dos negócios. Atualmente, outra preocupação,também advinda dessa necessidade, vem ganhando mais visibilidade, a segurança ci-bernética. Muitos negócios que migraram para o mundo digital não tiveram a devida preocupação com as ameaças presentes nesse novo cenário. Como consequência, muitos problemas de segurança vem sendo expostos nos últimos anos, tais problemas,muitas vezes, acarretam em prejuízos de natureza financeira e social. Sendosoft-ware um dos ativos computacionais mais expostos a ameaças de segurança, a busca por desenvolvê-los de forma segura, torna-se uma demanda, cada vez mais evidente.Neste cenário, surge a necessidade de incluir práticas de segurança no cotidiano dos times de ágeis. Com o intuito de contribuir para a resolução desses desafios,este trabalho tem como objetivo: estabelecer políticas de desenvolvimento seguro,agregando práticas destinadas a inclusão de atributos de segurança em projetos de software, a serem desenvolvidos por times ágeis. Para tanto, se fez necessário, realizar uma pesquisa exploratória por meio de um levantamento bibliográfico, a fim de se obter uma compreensão inicial do problema e das principais abordagens utilizadas para tratá-lo. A partir da bibliografia encontrada, foram consideradas as pesquisas que apresentavam práticas para a inclusão de atividades de segurança em projetos de software. Com base em critérios predefinidos, foi conduzida uma filtragem inicialdas práticas levantadas. O sub-conjunto resultante, foi avaliado por um time ágil de desenvolvimento, com experiência em segurança. O resultado dessa avaliação,evidenciou as 14 (catorze) práticas mais relevantes e as etapas do processo de desenvolvimento, ao qual elas pertenciam. A partir das práticas selecionadas, 5 (cinco)políticas foram estruturadas e organizadas, em seguida avaliadas por especialistas,através de entrevistas, para julgar, seus benefícios para segurança e aplicabilidade em times ágeis. Por meio do resultado dessa avaliação, foi possível concluir, que 3(três) das políticas, eram suficientemente aplicáveis a times ágeis e contribuíam para segurança do projeto. Já 2 (duas) delas, apesar dos benefícios para segurança, ainda necessitam de ajustes para que a incorporação seja viável, no mundo ágil.Item Engenharia de software e métodos ágeis como forma de Inclusão(2019) Silva, Anderson Mateus da; Sampaio, Suzana Cândido de Barros; http://lattes.cnpq.br/0066131495297081; http://lattes.cnpq.br/5385133978429474As Metodologias Ágeis trouxeram uma nova visão sobre como desenvolver software,traçando foco sobre os indivíduos e relações, sobre as pessoas e não sobre o software desenvolvido. Os Métodos Ágeis também prezam pela relação de times que possuam diversidade, mas é considerada apenas a diversidade profissional, onde times com profissionais com habilidades e conhecimentos distintos facilitam a auto-suficiência e consequentemente o auto-desempenho. Porém, o conceito de diversidade vai além desta perspectiva, é necessário pensar sobre diversidade social, pensar sobre inclusão e mais do que apenas incluir, integrar as pessoas ao time, integrá-las na organização. Os aspectos humanos sobre a engenharia de software, estudados a mais de 40anos, relacionam como o indivíduo pode desenvolver suas habilidades comportamentais dentro do contexto de ambientes de construção de software. Tais aspectos podem ser potencializados através das práticas ágeis, porém, tais práticas não possuem de fato a perspectiva de inclusão, principalmente quando se fala de pessoas portadoras de deficiência, cabendo assim ao time criar suas próprias adaptações quando existe esta necessidade. Nesse contexto, o objetivo deste trabalho é identificar as principais técnicas presentes na literatura, confrontá-las com a realidade de especialistas que trabalham ou gerenciam times ágeis, sendo estes portadores de deficiência ou pessoas que trabalharam coordenando times com pessoas com deficiência, além de compreender os desafios enfrentados pelos mesmos durante os projetos desenvolvidos.Baseada em uma revisão bibliográfica e na opinião de praticantes de métodos ágeis através de entrevistas, foram levantadas uma série de técnicas e estratégias para auxiliar a promoção de inclusão em times ágeis. Dentre elas estão a Reunião Diária, Programação em Par, Reunião de Planejamento, Reunião de Avaliação, Retrospectiva,Estimativa dos Esforços, Workshop e Desafios de código. Apesar da utilização dessas técnicas, a dependência de fatores externos, como ferramentas específicas ou conhecimento sobre de linguagem de sinais e a desatenção em tornar o ambiente propício para os profissionais se sentirem confiantes e empoderados são os principais desafios enfrentados pelos times ágeis que possuem pessoas com deficiência. Por fim, é proposto ainda um catálogo para apoiar iniciativas de Inclusão em times ágeis, contendo as principais técnicas mencionadas tanto pela literatura quanto pelos profissionais de métodos ágeis.Item Uma abordagem para tradução de uma linguagem de programação de robôs para um modelo formal(2018) Pereira, Iverson Luís; Nogueira, Sidney de Carvalho; http://lattes.cnpq.br/9171224058305522; http://lattes.cnpq.br/1186672408246777O interesse por ambientes de programação de robôs virtuais para fins educacionais tem crescido nos últimos anos. Estes ambientes são uma alternativa para o uso de robôs reais que possuem um alto custo de aquisição. No entanto, não existem ambientes gratuitos que oferecem mecanismos automatizados para verificação dos programas de robôs virtuais, o que impossibilita que alunos e professores tenham um feedback rápidoeautomáticosobreofuncionamentodosprogramas.Estetrabalhopropõe umaabordagemdeverificaçãoautomáticadeprogramasderobôsvirtuaisescritosna linguagemeducacionalROBO.DesenvolvemosumcompiladorquelêprogramasescritosemROBOetraduzosprogramasparaumanotaçãoformalchamadaCSP(Communicating Sequential Processes), que é a entrada para uma ferramenta de verificação automática de modelos chamada FDR (Failures-Divergences Refinement). As fases da compilação foram implementadas usando a plataforma Spoofax, onde definimos a gramática da linguagem ROBO e especificamos regras de tradução de ROBO para CSP. Estetrabalhoremoveumalimitaçãodanossaabordagemanteriordeverificação que não permite a análise de programas ROBO contendo variáveis e procedimentos. Uma importante contribuição deste trabalho é a extensão da abordagem de verificação para permitir a análise automática de programas ROBO com variáveis e procedimentos. A extensão consiste na modificação da gramática do compilador pela inclusão de variáveis e procedimentos e na inclusão de novas regras de tradução que definem a semântica formal para os elementos adicionados na gramática. O trabalho propõe uma ferramenta que torna transparente o processo de tradução de ROBO para CSP e a verificação automática usando FDR. Validamos a abordagem utilizando a ferramenta proposta para verificar o comportamento de um programa ROBO com variáveis e procedimentos.
