Atributos de Qualidade e Táticas


Para iniciar o desenvolvimento de um projeto é preciso saber o que queremos entregar para o nosso cliente e, definindo métricas não garantimos que seja o melhor produto porém garantimos que tenha um alto nível de qualidade. Para alcançar esses objetivos contamos com o apoio da ferramenta SonarQube, que é capaz de analisar o código e fornecer um relatório contendo informações sobre: Bugs, vulnerabilidades, code smels, cobertura que os testes unitários estão atingindo e duplicação de código.

Com base no conceito de entregas continuas que faz parte do manifesto ágil, a cada entrega de um produto ao cliente é avaliado anteriormente com base na ferramenta a qualidade do produto desenvolvido pela equipe, a cada entrega tem como meta tentar melhorar a versão anterior, seja refatorando o código para evitar códigos duplicados, comentários em métodos para deixar o mais claro possível a quem for pegar futuramente para dar manutenção, cobertura mais abrangente de testes para evitar entregar um produto com muitos bugs e exigir mais tempo para corrigir bugs.

Quanto aos atributos de qualidade, devemos manter os seguintes, ordenados por prioridade:

  • Disponibilidade
  • Usabilidade
  • Testabilidade
  • Modificabilidade
  • Segurança
  • Desempenho

As táticas empregadas foram:

Detecção de falhas

  • Ping/echo

     Aplicada para verificação de resposta do servidor e disponibilidade das rotas
    
  • Heart beat

     Aplicada para verificação de disponibilidade do servidor e consistência dos serviços REST
    
  • exceções

    Aplicada internamente no código em regiões críticas, como por exemplo, acesso ao servidor e upload de imagem.

Recuperação de falhas

-> Preparação e reparo

  • Redundância ativa

    Foi desenvolvido dois servidores, utilizando linguagens diferentes, isto foi feito para garantir a disponibilidade do serviço, em vista que tivemos problemas ao subir a aplicação.

  • Redundancia passiva

    Não implementamos

  • Componente reserva

    Mantivemos o servidor "antigo" funcional

-> Táticas para evitar propagação

  • Utilização de protocolos padrões de comunicação

      - JSON
    
  • Acesso via servidor REST

  • Utilização de padrões de projeto

results matching ""

    No results matching ""