fga-eps-mds / fga-eps-mds/2022-1-MeasureSoftGram-Doc
Utilizar uma pré-configuração existente
- 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.