-
Notifications
You must be signed in to change notification settings - Fork 14
Relatório de Qualidade
Data | Versão | Descrição | Autor(es) |
---|---|---|---|
14/04/2017 | 0.1 | Elaboração Inicial | Naiara Andrade |
15/04/2017 | 1.0 | Finalização do Documento | Naiara Andrade, Matheus Figueiredo, Victor Hugo, Lucas Mattioli, Leonardo Arthur |
15/04/2017 | 1.1 | Revisão do documento | Leonardo Arthur |
-
Processos de Qualidade
1.1. Qualidade dos artefatos
1.2. Qualidade do código -
Custo da Qualidade
2.1. Release 1
2.2. Release 2 - Benchmarking
- GQM
-
Ferramentas
5.1. CodeClimate
5.2. Travis CI
5.3. Coveralls
5.4. Cucumber -
Monitoramento e Controle
6.1. Periodicidade
6.2. Responsáveis - Referência Bibliográfica
O ciclo PDCA será utilizado durante todo o projeto e tem por objetivo da melhoria contínua das etapas dos processos, visando a qualidade dos resultados obtidos. Resultados que serão periodicamente comparados as baselines dos artefatos e as métricas estipuladas de um software de qualidade.
Para o processo de qualidade dos artefatos é sequenciada as atividades a seguir, sabendo que o ciclo PDCA se encontra presente em uma ou mais atividades.
Confeccionar artefatos: Essa atividade engloba o planejamento e a elaboração dos artefatos (Planejar e Fazer). Os planos da gerência (GPP) para condução do projeto e os artefatos do time de desenvolvimento (MDS).
Revisar artefatos: Essa atividade consiste em Checar se os artefatos estão em conformidade. Caso estejam, como é mostrado na imagem o fluxo principal, o artefato é concluído. Caso contrário, é apontado os erros ou pontos de melhoria.
Corrigir artefatos: Essa atividade que pode acontecer simultaneamente com propor melhorias e consiste na correção dos artefatos, é a ação do PDCA. Seguindo, após a correção dos artefatos o processo retorna a revisão dos artefatos até que atingir a qualidade esperada.
Propor melhorias: Atividade que pode acontecer simultaneamente com corrigir artefatos, consiste em propor melhorias caso a qualidade ainda não tenha sido alcançada. Após a proposta, nesse fluxo alternativo, o processo retorna as atividades do início: confeccionar artefatos até que se tenha o artefato concluído.
Para o processo de qualidade do código é sequenciada as atividades a seguir, sabendo que o ciclo PDCA se encontra presente em uma ou mais atividades.
Definir métricas: Como parte do Planejar, essa atividade engloba os dados que serão coletados e as métricas que serão analisadas no código.
Coletar dados: Após a confecção do código é realizado a coleta dos dados anteriormente definidos. Essa atividade faz parte do Fazer.
Interpretar dados: Essa atividade consiste em interpretar os dados coletados.
Analisar resultados das medições: Essa atividade consiste em analisar os dados coletados, inferindo resultados. Caso a análise das medições estejam em conformidade com o planejado e obter a qualidade o software é concluído no fluxo principal. Caso contrário, será revisado o código.
Revisar código: Essa atividade consiste em Checar e revisar o código para saber que Ação tomar.
Refatorar código: Podendo ocorrer simultaneamente com a proposta de melhorias após a revisão do código, a refatoração de código é uma opção para se obter a qualidade do software. O processo retorna a atividade de coleta de dados e segue até se concluir o fluxo principal.
Propor melhorias: Podendo ocorrer simultaneamente com refatorar código a atividade de propor melhorias é uma proposta para que se alcance a qualidade planejada.
Custo de Conformidade | ||
---|---|---|
Prevenção de Custos | ||
Horas Gastas | Valor |
|
Treinamento | 30 h | 500,00 |
Ambiente | 30 h | 500,00 |
Equipamento | 30 h | 500,00 |
Documentação | 30 h | 500,00 |
Desenvolvimento | 30 h | 500,00 |
Valor | 300 h | 5000,00 |
Custos de Avaliação | ||
Testes | 30 h | 500,00 |
Inspeção | 30 h | 500,00 |
Valor | 300 h | 5000,00 |
Dinheiro gasto durante o projeto para evitar falhas
Custo da falta de Conformidade | ||
---|---|---|
Custos de falha interna | ||
Horas Gastas | Valor |
|
Refatoração | 30 h | 500,00 |
Valor | 30 h | 500,00 |
Dinheiro gasto durante e após o projeto devido a falhas
Partindo da técnica de benchmarking para uma maior agregação do grupo, para que entenda as boas práticas realizadas por outros projetos da disciplina, seus erros cometidos e as ferramentas utilizadas. Os projetos que foram utilizados nessa técnica foram a Missão Nascente, WikiLegis e Owla.
Foram realizadas pesquisas pela equipe de GPP para saber quais serviços e ferramentas se adequariam ao projeto e que atendesse a tecnologia utilizada. Por ter sido o primeiro contato da equipe com a tecnologia também foi buscado conselhos e opiniões de professores da Universidade da Brasília, coaches e alunos que entendem do assunto.
Algumas das informações obtidas foram:
- Utilização de GQM para justificar a escolha das métricas;
- A ferramenta de cobertura de teste CodeClimate;
Analisar | código produzido |
---|---|
Com o propósito de | melhorar |
Com respeito a | qualidade de código |
Sob o ponto de vista da | equipe de gerência (GPP) |
No contexto | projeto Escola X |
Q1.
- complexidade ciclomática
Q2.
Q3.
As métricas a serem medidas no projeto são: Tamanho de Bloco, Tamanho de Classe, Complexidade Ciclomática e Tamanho de Método. Abaixo segue o detalhamento de cada uma das ditas métricas.
TODO
TODO
TODO
TODO
Logo | Ferramenta | Propósito |
---|---|---|
CodeClimate | Realiza coleta de métricas | |
Travis CI | Realiza integração contínua | |
Coveralls | Realiza cobertura de teste | |
Cucumber | Realiza testes de aceitação automatizados |
O CodeClimate é a ferramenta utilizada para análise estática de código e coleta de métricas. O CodeClimate conta com o suporte de várias engines (plugins), que, basicamente, são ferramentas desacopladas desenvolvidas pelo próprio time do CodeClimate e por usuários externos. Esses plugins podem ser facilmente acoplados e desacoplados da aplicação do projeto por meio do arquivo de configuração .codeclimate.yml.
A principal engine do CodeClimate utilizada no projeto é a Rubocop. Esta faz análise de atributos como complexidade ciclomática, tamanho de métodos, tamanho de blocos e tamanho de classes.
A ferramenta Travis CI é responsável por verificar se toda modificação feita em código gera uma build funcional. Isto é, a cada commit, são verificados erros de sintaxe, erros de configuração, falha nos testes etc. Caso nada disso aconteça, a build é dita como "aceita" e o desenvolvedor tem o indicativo de que a sua alteração está, provavelmente, correta.
Para este projeto, a ferramenta Coveralls será utilizada para fazer a cobertura de testes. Com o auxílio do Travis CI, o Coveralls indica, em porcentagem, a quantidade de linhas testadas para cada arquivo do projeto, além da cobertura de testes geral do projeto.
Cucumber é uma ferramenta que permite times de desenvolvimento descrever, em texto, como o software deve se comportar. O texto é escrito em uma linguagem de domínio específica e serve como documentação e instruções para os testes automatizados
O monitoramento e controle até a release 1 ocorrerá uma vez em caso do fluxo principal chegar até o fim sem nenhum erro, em caso de entrar em fluxos alternativos será realizado a melhoria de código e quantos monitoramentos e controle forem necessários até a data de entrega (19/04/17).
Na release 2 com a utilização de métodos ágeis, o monitoramento vai ocorrer uma vez por semana, ao final de cada sprint.
Atividade | Responsáveis |
---|---|
Confeccionar artefato | Todos os membros |
Revisar artefato | GPP |
Coaches | |
Corrigir artefato | Membros que elaboraram artefato |
Propor melhorias | Todos os membros |
Coaches | |
Professor | |
Atividade | Responsáveis |
Coletar dados | Lucas Mattioli |
Victor Hugo | |
Interpretar dados | Matheus Figueiredo |
Naiara Andrade | |
Analisar resultados das medições | Matheus Figueiredo |
Naiara Andrade | |
Revisar código | Leonardo Arthur |
Victor Hugo | |
Membro de MDS que não participou da elaboração do código | |
Refatorar código | Membro(s) MDS/GPP que elaborou o código |
Propor melhorias | Qualquer membro da equipe |
-
Disponível em <https://blog.guilhermegarnier.com/2014/11/ferramentas-para-avaliacao-de-qualidade-de-codigo-ruby/>. Acesso em 15/04/2017
-
Disponível em <https://docs.codeclimate.com/v1.0/docs/list-of-engines>. Acesso em 15/04/2017
Escola - X - 2017.1
- Sprint 0
- Sprint 1
- Sprint 2
- Sprint 3
- Sprint 4
- Sprint 5
- Sprint 6
- Sprint 7
- Sprint 8
- Termo de Abertura do Projeto
- Plano de Gerenciamento do Projeto
- Plano de Gerenciamento de Escopo
- Plano de Gerenciamento de Tempo
- Plano de Gerenciamento de Riscos
- Plano de Gerenciamento de Custos
- Plano de Gerenciamento de Qualidade
- Plano de Gerenciamento dos Recursos Humanos
- Planos das Iterações
- Plano de Gerenciamento de Configuração
- Plano de Gerenciamento de Comunicação
- Plano de Gerenciamento de Integração
- Plano de Gerenciamento de Aquisicões
- Plano de Gerenciamento das Partes Interessadas