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
7 resultados
Resultados da Pesquisa
Item Geração automática de sistemas backend com o suporte de IA generativa seguindo a arquitetura limpa(2024-03-06T03:00:00Z) Costa, Henrique Sabino da; Burégio, Vanilson André de Arruda; http://lattes.cnpq.br/3518416272921878; http://lattes.cnpq.br/5381537544189009Neste trabalho, investigou-se a potencial contribuição das tecnologias de Síntese Automática de Código, particularmente o GPT-4 da OpenAI, para a manutenção e aderência às boas práticas de arquitetura de software em startups. Dada a característica dessas empresas de operarem em ambientes de rápida mudança e inovação, mas com recursos limitados, práticas como testes unitários e documentação muitas vezes são negligenciadas. Contrariamente, enfatizamos a importância de tais práticas pela sua contribuição à manutenibilidade e escalabilidade das aplicações. Como meio de conciliar o ritmo acelerado de desenvolvimento com a necessidade de boas práticas, propusemos o uso de modelos de linguagem generativos (MLG), especificamente o GPT-4, para a geração de código seguindo os princípios da arquitetura limpa, um conjunto de conceitos definidos por Robert C. Martin para o desenvolvimento de projetos escaláveis e de boa manutenibilidade. A abordagem metodológica foi uma combinação de análise qualitativa e quantitativa, focada na exploração e adaptação de prompts para a geração de código e no desenvolvimento de exemplificações práticas em diversas linguagens de programação. Destaca-se a produção de três projetos em C#, JavaScript e Python, os quais foram avaliados segundo métricas de abstração, instabilidade, e aderência à Sequência Principal - conceitos chave na manutenção de uma arquitetura limpa. Os resultados indicaram que, apesar do potencial da tecnologia proposta para acelerar o desenvolvimento e promover a aderência às boas práticas através da automação, existem lacunas significativas na capacidade do GPT-4 de gerar código totalmente alinhado à arquitetura limpa e executável sem intervenção manual. Problemas relacionados à inconsistência na estrutura do projeto e na integridade do código gerado foram observados, sugerindo que, enquanto a ferramenta oferece uma base promissora para a potencialização da eficiência em projetos de menor complexidade, sua aplicabilidade em contextos complexos e diversificados ainda apresenta desafios. Portanto, conclui-se que o emprego de MLGs como o GPT-4, na geração automática de código representam uma ferramenta auxiliar valiosa para startups no desenvolvimento de software. No entanto, a necessidade de ajustes manuais no código e a garantia de aderência completa às práticas recomendadas de arquitetura de software reforçam a ideia de que tais tecnologias devem ser vistas como complementares ao trabalho humano e não como substitutas completas. Para futuros trabalhos, recomenda-se o aprofundamento na investigação de MLGs especializados em geração de código e a expansão dos experimentos para abarcar uma gama maior de linguagens de programação e frameworks, visando maximizar a aplicabilidade e eficácia dessa abordagem inovadora.Item Como a (in)felicidade impacta nos engenheiros de software em ambientes ágeis?(2019-12-04T03:00:00Z) Amorim, Luís Felipe Cavalcanti de; Marinho, Marcelo Luiz Monteiro; http://lattes.cnpq.br/3362360567612060; http://lattes.cnpq.br/6498416955849459Diante de um cenário cada vez mais ágil dentro das organizações de T.I, onde o indivíduo é o centro das ações no processo de desenvolvimento de software, é importante entender os fatores humano-sociais como felicidade e infelicidade inerentes a cada indivíduo e como tais fatores impactam neste tipo de ambiente. Com o objetivo de identificar como a (in)felicidade impacta nos engenheiros de software em ambientes ágeis, foram desenvolvidos 5 estudos de caso dentro de projetos ágeis em uma empresa que preza por inovação. De acordo com as respostas obtidas de 67 participantes por meio de um survey e com a utilização de uma análise cruzada, foram identificadas características ligadas à (in)felicidade que impactam no ambiente, tais como ansiedade e frustração nos participantes mais jovens e infelizes, e alta satisfação e colaboração nos mais felizes.Item Relações entre as personalidades e o clima de trabalho de equipes ágeis de desenvolvimento de software(2021-12-09T03:00:00Z) Teixeira, Marcus Vinícius Ferreira; Sampaio, Suzana Cândido de Barros; http://lattes.cnpq.br/0066131495297081; http://lattes.cnpq.br/8422770381149615A modernização nos processos de desenvolvimento de software das últimas décadas tem trazido uma preferência pela adoção de metodologias ágeis de desenvolvimento de software. Essas metodologias também valorizam a qualidade das interações dos membros das equipes, usando os conceitos de clima de trabalho e sucesso de uma equipe. Já existem ferramentas suficientes para analisar características de indivíduos e como seus grupos se comportam, entretanto a literatura ainda carece de trabalhos que analisem diferentes combinações de personalidades em times de desenvolvimento ágil de software e sua relação com a percepção de sucesso dessas equipes. Tendo isso em mente, é possível tentar prever a interação entre indivíduos e usar esse conhecimento para formar equipes ágeis de desenvolvimento de software, visando maximizar a qualidade das interações entre seus membros. Este trabalho de conclusão de curso tem como objetivo analisar a relação entre as personalidades MBTI (Myers Briggs Type Indicator) e seus efeitos na percepção do bem estar pelos membros de uma equipe, por meio do conceito de Sucesso de equipe. Para este processo, foi feita uma análise exploratória da literatura para entender melhor os conceitos e métodos mais adequados para a pesquisa. Após isso, foi formada uma base de dados real, por meio de entrevistas e questionários, e então foi analisada a relação entre as personalidades dos membros e o Sucesso de suas equipes. Por fim, o Sucesso das equipes apresentou correlações significativas não só com a diversidade de personalidades das equipes entrevistadas no trabalho, mas também com a presença de traços de personalidade específicos entre seus membros.Item Aplicação de métodos ágeis em desenvolvimento global de software(2021-07-22T03:00:00Z) 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 Engenharia de requisitos ágil: extensão de uma revisão sistemática da literatura(2021-02-24T03:00:00Z) 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-03T03:00:00Z) 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 Como comunidades de práticas apoiam o desenvolvimento ágil em larga escala?(2022-06-02T03:00:00Z) Monte, Iury Tavares do; Marinho, Marcelo Luiz Monteiro; Araújo, Carlos Julian Menezes; http://lattes.cnpq.br/3156174527107999; http://lattes.cnpq.br/3362360567612060; http://lattes.cnpq.br/1840503626525287O desenvolvimento ágil de software tornou-se uma opção 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 os métodos ágeis são escalonados em consideração na natureza de projetos grandes e, muitas vezes distribuídos de desenvolvimento de software. Alguns estudos afirmam que as Comunidades de Práticas (CoPs) podem ser uma parte importante de uma adoção bem-sucedida das práticas ágeis, especialmente em grandes organizações. As CoPs são grupos de especialistas que compartilham um interesse ou tópico comum e desejam coletivamente aprofundar seu conhecimento. Este estudo tem como objetivo destacar como as CoPs são aplicadas e utilizadas para promover e escalanar os métodos ágeis em grandes projetos. Para responder à pergunta da pesquisa, “Como Comunidades de práticas têm sido utilizadas para apoiar as equipes de desenvolvimento ágil em larga escala?”, realizamos uma Revisão Sistemática da Literatura (RSL) no contexto de “métodos ágeis em larga escala” e “Comunidades de Prática”. Assim, uma síntese das soluções encontradas em vinte e um estudos forneceu 13 categorias distintas que as organizações podem implementar, incluindo “coordenação entre equipes”, “compartilhamento do conhecimento”, “comunidade aberta”.
