Engenharia-de-Software-UFRPE / lanterna-verde

Lanterna verde é um sistema de avaliação do nível de práticas de greenwashing de uma organização ou produto.
2 stars 5 forks source link

[Feature] Geração de relatório e melhorias na solicitação de análise #57

Closed ronaldo26rodrigues closed 2 years ago

ronaldo26rodrigues commented 2 years ago

Nesta PR implementamos as funcionalidades referentes a uma Solicitação de Análise, atribuição de análises a analistas, calculo de score e geração de reatório

Problema

A última etapa de uma análise é a geração de um relatório, que conta com toda a pontuação calculada a partir das análises de cada analista, seus comentários e um comentário feito por um administrador, e para isso os modelos e controladores deveriam ser implementados de maneira que permitisse verificações e as devidas atribuiçãoes

Implementação

Modelos

Solicitação de análise

Uma solicitação de análise é o ponto de partida de toda análise, então ela é o elemento central do processo. Uma análise completa é na verdade um conjunto de análises realizadas por vários analistas, que depois vão ser mesclados para gerar uma única pontuação. Pensando nisso, foi adicionado ao modelo SolicitacaoAnalise um atributo status, que serve para acompanhamento e verificação interna no momento de realizar operações em uma análise. Esse status pode assumir os valores:

Relatório

O relatório conta com a média da pontuação de todos os analistas para cada dimensão. A pontuação de uma dimensão consiste na divisão do número de perguntas como sim pelo total de perguntas naquela dimensão. O relatório também tem um score geral, que é a média de todas as dimensões, além de um comentário feito pelo administrador

Views

Criar análise

Este método recebe o id de uma solicitação e o número de analistas que devem ser atribuiídos, e caso a solicitação estiver Pending, são selecionados os analistas com menos análises.

gerar relatório

Este método recebe o id de uma solicitação e cria um objeto relatório, faz os cálculos de score e muda o status da solicitação para Finished

Como Testar

Notas do desenvolvedor

Inicialmente uma das ideias era excluir a solicitação de análise em algum momento do processo, mas no desenvolvimento das funcionalidades desta PR foi decidido que a solicitação é o elemento central de uma análise, é através dela que obtemos os questionários que a respondem, o relatório (quando disponível), fazemos as consultas e as verificações necessárias para o fluxo de uma análise como um todo. Assim, um objeto SolicitacaoAnalise não irá mais ser excluído em nenhum momento, permanecendo no banco de dados para realizar tais consultas.

Próximos passos

SteffanoP commented 2 years ago

Pessoal, desculpem o atraso com essa PR, vou testar nessa noite e dar um feedback, se possível já enviar para a branch main.