fga-eps-mds / fga-eps-mds/2022-1-MeasureSoftGram-Doc

Utilizar uma pré-configuração existente

Open
#137 3 comments 0 reactions 1 assignee Claimed by @durvalcarvalho View on GitHub
enhancement Epic EPS R1 US
Dominant language
Jupyter Notebook
Stars
0
Forks
1
PR merge metrics
No merged PRs in 30d

Description

## História de Usuário

Como Valéria
Gostaria que **que todo repositório a ser analisado utilizasse por default um pré-configuração existente**
Para **observar os resultados dos cálculos antes de definir uma configuração específica** para necessidade do projeto.

## Critério de aceitação

- [x] Deve existir o endpoint `/api/v1/organizations/1/repository/1/current-pre-config/` que retorna a pré-configuração do modelo.
- [x] A pré-configuração default deve utilizar todas as características, subcaracterísticas e medidas disponíveis no momento pelo software, sendo elas apresentanda [neste json](https://gist.github.com/durvalcarvalho/c4a536f48e507f7ee200b00d4dc3c8f9):
- [x] A pré-configuração default deve possui pesos associados com cada entidade do modelo definida;
- [x] O somatório dos pesos dos filhos de cada entidade na árvore deve sempre ser igual a 1;
- [x] A operação que salva ou modifica uma pré-configuração deve ser atômica, ou seja, ou a pré-configuração é válida ou ela não é (criada | modificada);
- [x] Uma pré-configuração deve possuir uma identificador numérico;
- [x] Uma pré-configuração deve possuir um nome;
- [x] Uma pré-configuração não deve possuir uma entidade não suportada pelo modelo, ou seja, é preciso certificar que os valores definidos no JSON estão contidos no conjunto de (medidas | métricas | subcaracterísticas | características) suportadas pelo modelo;
- [x] Os pesos devem ser equivalentes para as características, subcaracterísticas e medidas.

## Observações para os desenvolvedores

Inicialmente, para a entrega R1, não haverá tela de modificação da pré-configuração e nem comando do CLI para cirar uma pré-configuração, mas mesmo assim será necessário ter uma pré-configuração, uma vez que já na entrega da R1 será possível calcular (medidas | subcaracterísticas) com base nos pesos definidos na pré-configuração.

Deste modo, o responsável por essa issue terá que implementar a estrutura básica para que o subsistema de pré-configurações possa evoluir nas próximas releases, deste modo é preciso prestar muita atenção para evitar falhas na modelagem e na definição de interfaces;

Inicialmente o usuário do sistema não irá poder criar e nem configurar uma pré-configuração. Desse modo é preciso que o sistema já possua uma pré-configuração que será utilizada por padrão. Assim é preciso criar toda o backbone da pré-configuração, de modo que essa pré-configuração seja utilizada pelo modelo.

O JSON do semestre passado possui a tolerância para somatório de pesos igual a `0.99`, isso por que eles permitem que os floats que definem os pesos tenham 2 digitos de ponto flutuante, e quando há um número impar de entidades o somatório é igual a `0.99`. É preciso pensar se vamos manter esta abordagem ou utilizar uma outra abordagem que o somatório dos pesos sempre será exatamente igual a 1.

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.