Git Product home page Git Product logo

source-code-inspection's People

Contributors

calebepb avatar

Watchers

 avatar  avatar

source-code-inspection's Issues

Problemas no CSU03

Listo abaixo problemas encontrados no CSU03, que consta no wiki.

  1. No sumário está descrito "Vale ressaltar que o troco também é em nota de papel-moeda".
    Defeito: não há opção para se faltar troco em papel moeda
    Tipo do defeito: omissão
    Severidade: alta

  2. No fluxo principal, no passo 1, está descrito que "O Cliente solicita devolução do saldo restante como troco."
    Defeito: se cliente não souber que deve solicitar o troco, não receberá de volta o dinheiro. Deve haver uma mensagem avisando.
    Tipo do defeito: omissão
    Severidade: alta

  3. No fluxo principal, no passo 2, está descrito que "O Sistema verifica o saldo e devolve a quantidade do saldo em notas de papel-moeda."
    Defeito: para casos de troco que não podem ser devolvidos apenas com papel moeda (exemplo: R$3,00)
    Tipo do defeito: omissão
    Severidade: alta

Problemas classe TicketMachine

  1. Os atributos valor e saldo não estão especificados na documentação.
    Tipo do defeito: comissão
    Severidade: alta

  2. A lógica da classe não utiliza o array papelMoeda corretamente.

  • Não possui a posição 6;
  • As mesmas vão de 0 à papelMoeda.length - 1 (6);
  • Erro lógico é carregado até a classe Troco, e o mesmo estoura lá
    Tipo do defeito: dados
    Severidade: alta
  1. A lógica não satisfaz o especificado.
    Tipo do defeito: comissão/excesso
    Severidade: alta

  2. O método getTroco não possui código útil, retornando um null sempre.
    Tipo do defeito: inicialização
    Severidade: alta

  3. O método imprimir não possui deveria ter a verificação do saldo, a mesma devia ser delegada.
    Tipo do defeito: computação
    Severidade: alta

Problemas Classe PapelMoeda

  1. Estão faltando os modificadores (setters), e não representados na documentação
    Tipo do defeito: comissão
    Severidade: alta

  2. A visibilidade dos atributos não batem com o especificado
    Tipo do defeito: comissão
    Severidade: alta

Interpretação ambigua

Tipo do problema: ambiguidade

Nos requisitos está definido que "as máquinas mantêm uma soma total da quantidade de dinheiro que coletou durante toda operação".

Dúvida: a operação é coletiva ou individual?

Problemas no CSU02

Listo abaixo problemas encontrados no CSU02, que está no wiki.

  1. No sumário está descrito que "Um único bilhete de transporte é impresso."
    Defeito: cliente não tem opção de comprar mais de um bilhete por vez
    Tipo do defeito: ambiguidade
    Severidade: alta

  2. Na pós condição está descrito que "Um bilhete é impresso e seu valor é debitado do saldo disponível".
    Defeito: interpretar se operação é individual ou coletiva
    Tipo do defeito: ambiguidade
    Severidade: alta

Problemas no CSU01

Listo abaixo problemas encontrados no CSU01, que está no wiki.

  1. No sumário, está escrito que "É importante ressaltar que essa quantia sempre é representada por uma única nota de papel-moeda.".
    Tipo do defeito: defeito
    Severidade: alta
    Máquina só aceita uma nota de papel-moeda. E se o cliente quiser pagar com moedas ou com duas notas para assim receber troco?

  2. Não consta pré-condições, porém, não existe mensagem de quanto cliente deve pagar.
    Tipo do defeito: omissão
    Severidade: média

  3. Na pós-condição é definido que "O valor inserido é adicionado ao saldo total disponível.".
    Defeito: A máquina soma ao total valor inserido, não importando se existe troco, desejado pelo cliente
    Tipo do defeito: informação estranha
    Severidade: alta

  4. No fluxo principal, no passo 1, é definido que "O cliente insere uma nota de papel-moeda".
    Defeito: cliente não tem opção de pagar com moedas ou com mais de uma nota.
    Tipo do defeito: ambiguidade
    Severidade: alta

  5. No fluxo de exceção 1:3a., é definido que "4. Volta ao passo 6. do fluxo principal"
    Defeito: Defeito: encerrar processo, ao invés de segunda chance para cliente inserir a nota. Deve voltar ao passo 1 do fluxo principal.
    Tipo do defeito: omissão
    Severidade: média

Problemas classe Troco

  1. As classes nesse arquivo não condizem com a especificação documentada.
    Tipo do defeito: comissão
    Severidade: alta

  2. Construtor com lógica e estruturas desnecessarias, loops poderiam ser organizados de outra forma ou completamente removidos. Algoritmo usado não garante a resolução do problema, e seu resultado não condiz com as espectativas e as estruturas de dados usadas não são adequadas para a situação em questão.
    Tipo do defeito: computação, desempenho, dados, excesso
    Severidade: alta

  3. A estrutura de dados está errada, não possibilitando alteração no tamanho do vetor.
    Tipo do defeito: dados
    Severidade: média

  4. A variavel de controle valor não é alterada em nenhum momento durante o loop. O software trava neste passo e não segue pois o loop não retorna.
    Tipo do defeito: controle, desempenho
    Severidade: alta

  5. A variavel count é sempre zerada. Seu valor não é passado adiante.
    Tipo do defeito: computação
    Severidade: alta

  6. A posição 1 do array papeisMoeda tem seu valor resetado.
    Tipo do defeito: computação
    Severidade: alta

  7. O array papeisMoeda não é inicializado corretamente. O mesmo tem 6 posições e somente 5 foram usadas/inicializadas. Posição 0 é null.
    Tipo do defeito: computação, dados
    Severidade: média

  8. Na classe interna TrocoIterator a variável Troco é dispensável, uma vez que os atributos da instância usada estão no mesmo escopo deste iterator.
    Tipo do defeito: desempenho, excesso
    Severidade: alta

  9. Na classe interna TrocoIterator, no método hasNext a iteração está errada, contador i sobe, e sai do escopo do array. Loop não retorna. Não se percorre o array e a posição atual é guardada.
    Tipo do defeito: computação, desempenho
    Severidade: alta

  10. Na classe interna TrocoIterator, no método next() a implementação está completamente errada.
    Tipo do defeito: computação, dados, desempenho
    Severidade: alta

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.