TCC - Bacharelado em Sistemas da Informação (Sede)

URI permanente para esta coleçãohttps://arandu.ufrpe.br/handle/123456789/427

Navegar

Resultados da Pesquisa

Agora exibindo 1 - 5 de 5
  • Imagem de Miniatura
    Item
    Técnicas de comitês para a estimação de esforço na correção de software
    (2019-12-10) Guimarães, Ariana Lima; Soares, Rodrigo Gabriel Ferreira; http://lattes.cnpq.br/2526739219416964; http://lattes.cnpq.br/2605671850587343
    O planejamento bem definido de um projeto de software, desde os estágios iniciais, é imprescindível para o sucesso do desenvolvimento, seja ele referente à criação ou à manutenção do produto. Em anuência ao ciclo de vida de software, a manutenção é realizada de forma contínua após o produto ter sido construído e entregue, em paralelo à execução de testes por engenheiros e/ou usuários. Nessa etapa, surgem primariamente os documentos de Histórias de Usuário e Relatórios de Problemas, que descrevem, em linguagem natural, especificações de negócio, cenários de erros encontrados, correções esperadas e melhorias para o sistema. Esses documentos visam, dentre outras coisas, o mapeamento das atividades a serem realizadas durante o projeto. Por conseguinte, em consonância com os recursos disponíveis – humanos, financeiros e temporais -, torna-se possível estimar o esforço necessário no desenvolvimento das atividades e gerar informações essenciais a um planejamento eficaz e eficiente. Como esses documentos são escritos em textos naturais, surge a oportunidade de utilizar o Processamento de Linguagem Natural e o Aprendizado de Máquina (AM) para predição automatizada do esforço de software. Na prática, no dia-a-dia das fábricas de software, é comum a utilização da opinião de especialistas e da equipe do projeto para julgar o esforço requisitado por uma atividade durante sessões de Planning Poker. Nessa técnica, normalmente o esforço é medido em Pontos de História que seguem a sequência Fibonacci. Porém, esse modo de planejamento requer o escalonamento de muitos recursos para sua execução. A aplicação do AM acarreta em um sistema, após a fase de treinamento, capaz de apreender a experiência da equipe e replicá-la de forma rápida e automática para estimar o esforço das atividades. Dessa forma, este trabalho atinge a área de AM, propondo uma abordagem de Comitê de PVDM na extração de características de Relatórios de Problemas para estimar Pontos de História, os indicadores de esforço. Comparada a outras duas abordagens de BoW e PV-DM tradicional, a técnica proposta apresentou bons resultados, com f-measure de cerca de 80% em um classificador de SVM com aprendizado supervisionado. Os resultados dos experimentos inspiram um ponto de partida no aprofundamento do estudo da abordagem de Comitê de PV-DM e no seu aprimoramento.
  • Imagem de Miniatura
    Item
    Liferay Portal Upgrade: definição de um processo eficiente para upgrade de clientes em versões legadas
    (2022-10-11) Ferreira, Nícolas Moura do Canto; Medeiros, Victor Wanderley Costa de; http://lattes.cnpq.br/7159595141911505
    A Liferay propõe que o setor de engenharia intervenha no processo de migração do Liferay Portal, das versões mais antigas para a mais atual disponível no mercado. Processo anteriormente feito pelo departamento de consultoria, o upgrade é um trabalho que demanda tempo da equipe e acaba sendo repassado em valores altos para os clientes que optam por permanecer em versões desatualizadas. Para atingir suas metas, o time faz uso de tecnologias internas do produto Liferay Portal DXP com arquitetura separada em três camadas de User Interface: core, serviços e opcional. Elas consistem em aplicações DXP web para adicionar portais, sites, páginas, widgets e conteúdos para os diversos produtos. Além de trabalhar com scripts de upgrade de versões para tabelas nos bancos de dados dos clientes e fazer automações para esse processo na ferramenta interna de formatação de código da empresa. A engenharia apresenta assim uma nova proposta para processos de upgrades de clientes visando agilizar o trabalho do time de consultoria. Além de contribuir com documentação interna e automação para migrações futuras. Este trabalho visa discorrer sobre os eventos que circundam este projeto desde sua concepção, à organização do fluxo de trabalho, além da influência da graduação em sistemas de informação pela UFRPE no atual mercado de trabalho.
  • Imagem de Miniatura
    Item
    Sistema de aprendizado de máquina para predição do tempo de esforço de tarefas de desenvolvimento de software
    (2021-12-14) Sitonio, Tiago Pedro da Silva; Monteiro, Cleviton Vinicius Fonsêca; http://lattes.cnpq.br/9362573782715504; http://lattes.cnpq.br/0915757895643807
    A estimativa de esforço é uma das principais métricas para o planejamento e gerenciamento do processo de desenvolvimento de software, pois proporciona auxílio na previsão de custos e prazos para realização de um projeto. Em consideração a isso, este trabalho teve como objetivo realizar uma análise do processo de construção de um modelo de Aprendizado de Máquina com base na metodologia CRISP-DM, utilizando Algoritmo de Aprendizado de Máquina Automatizado (AutoML) para encontrar o melhor algoritmo de regressão como objetivo de encontrar a estimativa de tempo de determinada atividade. Para esta análise, dados de atividades realizadas por 29 empresas foram utilizados. O banco de dados é constituído por diferentes tipos de dados como, por exemplo, dado Numérico em formato de Linguagem Natural para descrever as atividades. Por causa disso foi realizado o processo de Tokenização a fim de transformar em dados totalmente regressivos para execução dos algoritmos. Em conjunto a isto, métodos de análise dos dados, pré-processamento, métodos de afunilamento como Seleção de Feaures, Alteração de Pesos e Combinação de Colunas serão aplicados para realizar análises do banco de dados.Este projeto foi desenvolvido através da linguagem de programação Python com apoio das suas bibliotecas, dentre elas a biblioteca Pandas para manipulação e análise de dados e Scikitlearn para acesso a algoritmos de Aprendizado de Máquina. Os resultados obtidos e avaliados apontam que o tratamento individual para cada empresa com pré-processamento e construção do modelo de algoritmo de previsão devem ser levados em consideração para encontrar os melhores resultados de estimativa de esforço por meio dos algoritmos.
  • Imagem de Miniatura
    Item
    QA Metrics: integração das métricas de qualidade de software, em ambiente Docker, para exibição de dashboards Grafana alimentado pelo banco de dados temporal InfluxDB via Newman
    (2022-07-15) Silva, Lucas Ferreira da; Bocanegra, Silvana; Assad, Rodrigo Elia; http://lattes.cnpq.br/3791808485485116; http://lattes.cnpq.br/4596111202208863; http://lattes.cnpq.br/9075508106025707
    As métricas e indicadores de qualidade de software são capazes de auxiliar um testador de software, conhecido como Quality Assurance (QA), a avaliar o que precisa ser realizado para melhorar o desempenho de um projeto de desenvolvimento de software. Além disso, possibilita monitorar o progresso de um projeto a fim de sugerir iniciativas baseadas nos dados coletados. Entretanto, unificar as métricas obtidas de fontes distintas para apresentá-las em tempo real não é uma tarefa fácil para algumas empresas. Apesar disso, com o uso de APIs, é possível coletar os dados, analisar e apresentá-los em dashboards, além de reduzir o tempo de retrabalho dos QAs. Neste trabalho, foi desenvolvido um sistema capaz de coletar dados de três serviços com o intuito de apresentar, em dashboards, as métricas que são essenciais na área de Qualidade de Software. Ademais, a coleta e o armazenamento destas métricas são realizados de forma automatizada e orquestrada através de uma aplicação compacta, rápida, eficiente, segura, portátil e isolada.
  • Imagem de Miniatura
    Item
    Um sistema de apoio à decisão para priorização e estruturação de histórias de usuários: um suporte para equipe ágeis
    (2018-08) Calado, Alex Rogério da Silva; Garrozi, Cícero; Sampaio, Suzana Cândido de Barros; http://lattes.cnpq.br/0066131495297081; http://lattes.cnpq.br/0488054917286587; http://lattes.cnpq.br/1189807442146524
    Apesar dos avanços obtidos na Engenharia de Software com os métodos ágeis o mercado ainda apresenta taxas de sucesso em projetos insatisfatórias. Ao longo de um projeto de software, mudanças de requisitos e prioridades são inevitáveis e recorrentes. Esse é um fator importante para empresas de desenvolvimento de software principalmente as de pequeno porte que possuem recursos limitados. O uso de técnicas ágeis como Scrum e Histórias de Usuário (US) beneficiam as empresas e as tornam mais competitivas. Um dos problemas enfrentados com requisitos ágeis é obter uma priorização de US segura de acordo com o valor de negócio dado pelo cliente em consenso com especificações técnicas. Esse trabalho se propõe em apresentar um ensaio que serve de base para construção de uma ferramenta de apoio à decisão na priorização das US. Para tanto foi considerado um projeto de software como uma organização temporária e sugeridas métricas que melhor se adequem às necessidades de pequenas equipes evitando retrabalho, aumento de prazos e custos, sem desconsiderar a satisfação do cliente nas entregas interativas. Baseado no modelo de levantamento de requisitos Volere e na revisão de literatura foi proposto a adoção de cinco métricas a serem consideradas na priorização de Histórias de Usuários: a satisfação do cliente em receber a US e a insatisfação do cliente em não receber a US, substituindo o tradicional valor de negócio; a já usual complexidade; necessidade de aprendizagem da equipe e; riscos de software. Usando formulários online foram captados dados sobre essas métricas e a priorização dada a cada US em projetos de software que usam o método ágil Scrum. Árvore de Decisão foi a sugestão proposta para predição de priorização de US por possuir visualização prática e interpretação mais intuitiva, facilitando a aceitação como método de apoio a decisão de profissionais da área. Apesar do baixo volume da base de dados os resultados obtidos através da ferramenta Weka, como a Curva ROC e a precisão, mostraram-se satisfatórios sem tendências de predição e com bons índices de acertos, após ajustes dos algoritmos e da base de dados para evitar overfitting e underfitting.