SlideShare uma empresa Scribd logo
Qualitygate SourceAudit: A tool for assessing the technical
quality of software.
Felipe Neves Brito
Universidade Federal do Ceara
17 de outubro de 2016
Roteiro
• Engenharia de Requisitos
• Mudan¸cas no Software
• Medi¸c˜ao da Manutenibilidade
• SourceAudit
• ColombusQM
• Banco de Dados de Referˆencia
• Grafo do Modelo de Manutenibilidade
2 of 22
Engenharia de Requisitos
• A engenharia de requisitos ´e uma ´area muito importante no
desenvolvimento de software, onde diversas t´ecnicas ser˜ao
utilizadas para captar as necessidades do cliente.
• Falhas na fase de elicita¸c˜ao de requisitos pode levar `a necessidade
de diversas mudan¸cas no software sendo produzido.
• Al´em disso, fatores como mudan¸cas no mercado ou mudan¸cas nas
necessidades do cliente refletem em mudan¸cas no software em
desenvolvimento
3 of 22
Mudan¸cas no Software
• Essa caracter´ıstica natural de constantes mudan¸cas, no software,
impacta diretamente na deteriora¸c˜ao da sua qualidade.
• Como resultado dessa deteriora¸c˜ao:
◦ Aumento no custo de Desenvolvimento
◦ Aumento no custo de Teste
◦ Aumento nos Riscos
• A utiliza¸c˜ao de ferramentas customizadas para reduzir a eros˜ao na
qualidade do software se mostra essencial
4 of 22
Medi¸c˜ao da Manutenibilidade
• Avaliar o c´odigo fonte para medir a manutenibilidade ´e crucial para
projetos de software.
• Sem essa informa¸c˜ao, a qualidade do produto entregue ´e medida
apenas utilizando-se os testes de aceita¸c˜ao.
• Testes de aceita¸c˜ao s˜ao importantes para avaliar se o sistema
atende as necessidades do cliente, por´em ligados `as
funcionalidades.
• Testes de aceita¸c˜ao n˜ao s˜ao capazes de prover informa¸c˜oes sobre:
◦ O Custo de Manuten¸c˜ao
◦ O Risco Operacional
5 of 22
SourceAudit
• SourceAudit ´e uma ferramenta criada para o gerenciamento da
qualidade de software, no qual permite uma avalia¸c˜ao da
qualidadee de forma
◦ Imediata
◦ Autom´atica
◦ Objetiva
• Utiliza o modelo de manutenibilidade ColombusQM
• Fornece uma forma sistem´atica de visualizar as mudan¸cas na
qualidade do software
6 of 22
SourceAudik
• SourceAudit ajuda as equipes de desenvolvimento a produzirem um
c´odigo de melhor qualidade, alertando quando a qualidade do
software diminui.
• Tamb´em contribui para uma melhor performance das equipes no
desenvolvimento do software.
7 of 22
ColombusQM
• O modelo de manutenibilidade ColombusQM apresenta a
quantifica¸c˜ao da qualidade do c´odigo fonte.
• SourceAudit possui as principais caracter´ısticas de outras
ferramentas existentes como:
◦ SIG maintainability model
◦ QUAMOCO
◦ Sonar
◦ SQALE
◦ SQUALE
• SourceAudit vai al´em das funcionalidades destas ferramentas,
dando suporte a
◦ An´alise de tendˆencias
◦ Estimativa de custo de manuten¸c˜ao de software.
8 of 22
SourceAudik
• Conceitos chaves da medi¸c˜ao usando ColombusQM
◦ Banco de Dados de Referˆencia
◦ Grafo do Modelo de Manutenibilidade
9 of 22
Banco de Dados de Referˆencia
• cont´em caracter´ısticas do c´odigo fonte de in´umeros sistemas de
software
• serve de base para compara¸c˜ao com os sistemas a serem avaliados
• A manutenibilidade se tornou poss´ıvel usando o mesmo banco de
dados de referˆencia para:
◦ Diferentes sistemas
◦ Diferentes vers˜oes de um mesmo sistema
10 of 22
Grafo do Modelo de Manutenibilidade
• ´E um grafo ac´ıclico em que seus n´os representam caracter´ısticas de
alto n´ıvel e caracter´ısticas de baixo n´ıvel
• As caracter´ısticas de baixo n´ıvel representam os n´os ao qual n˜ao se
tem arestas de entrada e podem ser diretamente calculadas atrav´es
do c´odigo fonte utilizando-se an´alise est´atica.
• As caracter´ısticas de alto n´ıvel, recebem como entrada outras
caracter´ısticas e representam os atributos de qualidade com
significados subjetivos, ou seja, n˜ao podem ser computados
diretamente no c´odigo.
11 of 22
Grafo do Modelo de Manutenibilidade
Figura: Grafo do Modelo de Manutenibilidade
12 of 22
Grafo do Modelo de Manutenibilidade
• As setas produzidas no grafo representam dependˆencias e o modelo
permite a possibilidade de criar diferentes pesos para as arestas de
acordo com a opini˜ao de desenvolvedores especialistas. Os pesos
representam a distribui¸c˜ao probabil´ıstica dos votos dos
especialistas.
13 of 22
Rela¸c˜ao Manutenibilidade/Custo
A ferramenta SourceAudik mostra o custo de manutenibilidade do
software.
Figura: Rela¸c˜ao Manutenibilidade/Custo
14 of 22
Integra¸c˜ao Cont´ınua
• Plugin Jenkins
• Executa ao perceber mudan¸cas no reposit´orio
• Realiza An´alise est´atica de c´odigo:
◦ Computa¸c˜ao das M´etricas de C´odigo
◦ Detecta Viola¸c˜ao de Regras de C´odigo
◦ Detecta C´odigo Duplicado
15 of 22
Caracter´ısticas
• Visualizar Dados de Compara¸c˜oes
• Criar Novas Compara¸c˜oes
• Editar ou Remover Compara¸c˜oes
• Visualizar Modelos de Qualidade
• Criar Modelos de Qualidade
16 of 22
Caracter´ısticas
Figura: Certifica¸c˜ao de Qualidade
17 of 22
Certifica¸c˜ao
Figura: Certifica¸c˜ao de Qualidade
18 of 22
Perguntas?
19 of 22
Referˆencias
BAKOTA, Tibor et al. Qualitygate SourceAudit: A tool for assessing
the technical quality of software. In: Software Maintenance,
Reengineering and Reverse Engineering (CSMR-WCRE), 2014
Software Evolution Week-IEEE Conference on. IEEE, 2014. p.
440-445.
20 of 22
Inova¸c˜ao
A Code Refactoring Dataset and Its Assessment Regarding Software
Maintainability
• Istv´an K´ad´ar - Univ. of Szeged, Szeged, Hungary
• P´eter - Univ. of Szeged, Szeged, Hungary
• Rudolf Ferenc - Univ. of Szeged, Szeged, Hungary
• Gyim´othy - Univ. of Szeged, Szeged, Hungary
21 of 22
Inova¸c˜ao
Do automatic refactorings improve maintainability? An industrial case
study
• G´abor Sz˝oke - Department of Software Engineering, University of
Szeged, Hungary
• Csaba Nagy - Department of Software Engineering, University of
Szeged, Hungary
• P´eter Heged˝us - Department of Software Engineering, University of
Szeged, Hungary
22 of 22

Mais conteúdo relacionado

PPTX
Aula 2 modelo de processo de software1
PPT
Introdução ao RUP
PDF
[IFMG][ENGENHARIA DE SOFTWARE] - RUP
PDF
Aula - Modelos de Processos de Desenvolvimento de Software / Mobile App
PPTX
Es capítulo 2 - processos de software
PPTX
Apresentação RUP
PDF
Análise de Sistemas Orientado a Objetos - 04
PPT
Introdução à Engenharia de Requisitos e RUP
Aula 2 modelo de processo de software1
Introdução ao RUP
[IFMG][ENGENHARIA DE SOFTWARE] - RUP
Aula - Modelos de Processos de Desenvolvimento de Software / Mobile App
Es capítulo 2 - processos de software
Apresentação RUP
Análise de Sistemas Orientado a Objetos - 04
Introdução à Engenharia de Requisitos e RUP

Mais procurados (20)

PPT
Processo Unificado(RUP)
PDF
Outras Metodologias Ágeis Parte 2
PDF
Introdução ao RUP
PDF
Visao geraldorup 20slides
PDF
Qualidade de Software: MPS.BR
PPT
Uml processo unificado
PPT
Engenharia Software Rup
PDF
Outras Metodologias Ágeis Parte 3
PDF
Modelos de Processo de Software Parte 1
ODP
Modelos de processos de software
PDF
A Evolucao dos Processos de Desenvolvimento de Software
PDF
01- Introdução a programação e modelo RAD v1.0
PDF
Processos de software
PDF
Modelos de Processo de Software Parte 4
PPTX
Artigo Sbc 2009 - Gestão de requisitos de software para produtos automotivos
PDF
Modelos de Processo de Software Parte 2
PDF
A disciplina Teste no RUP
PPT
Visao Geral Rup
PDF
Metodologia Ágil
Processo Unificado(RUP)
Outras Metodologias Ágeis Parte 2
Introdução ao RUP
Visao geraldorup 20slides
Qualidade de Software: MPS.BR
Uml processo unificado
Engenharia Software Rup
Outras Metodologias Ágeis Parte 3
Modelos de Processo de Software Parte 1
Modelos de processos de software
A Evolucao dos Processos de Desenvolvimento de Software
01- Introdução a programação e modelo RAD v1.0
Processos de software
Modelos de Processo de Software Parte 4
Artigo Sbc 2009 - Gestão de requisitos de software para produtos automotivos
Modelos de Processo de Software Parte 2
A disciplina Teste no RUP
Visao Geral Rup
Metodologia Ágil
Anúncio

Destaque (19)

PDF
Back to the basics principles for constructing quality software
PPTX
Software QA Services – An Important Ingredient in Software Development
PPTX
Symptoms of Bad Quality Software
PPTX
Software Quality Assurance
ODP
Software quality - Connascence
PPTX
Midiendo la calidad del software
PPTX
software Quality management presentation
PPTX
Integrating QuickBooks Desktop with Rails Application
PDF
ISO / EC 15504: Guía de calidad para el desarrollo del Software
PDF
¿ISO 9001:2008 y Agile pueden usarse juntos?
PPTX
machine translation beginning...
PDF
Principles of effective software quality management
DOC
Manjiri.Bhogale_ Software QA
PPTX
Software quality - no more bugs!
PDF
Scrum para ejecución del planeamiento estratégico
PPTX
Studying Software Quality Using Topic Models
PPT
1-informatica-training
PPTX
Software Quality for Programmers
PPSX
DIWE - Working with MySQL Databases
Back to the basics principles for constructing quality software
Software QA Services – An Important Ingredient in Software Development
Symptoms of Bad Quality Software
Software Quality Assurance
Software quality - Connascence
Midiendo la calidad del software
software Quality management presentation
Integrating QuickBooks Desktop with Rails Application
ISO / EC 15504: Guía de calidad para el desarrollo del Software
¿ISO 9001:2008 y Agile pueden usarse juntos?
machine translation beginning...
Principles of effective software quality management
Manjiri.Bhogale_ Software QA
Software quality - no more bugs!
Scrum para ejecución del planeamiento estratégico
Studying Software Quality Using Topic Models
1-informatica-training
Software Quality for Programmers
DIWE - Working with MySQL Databases
Anúncio

Semelhante a Qualitygate SourceAudit: A tool for assessing the technical quality of software - Resumo (20)

PDF
Aula 02 - Processo de Software I.pdf
PPTX
Qualidade de software e sua influência no sucesso do projeto
PDF
Aula Modelos de Processos Tradicionais para Desenvolvimento de Software
PPTX
Aula - Revisão.pptx fundamentos de engenharia de sw
PDF
Aula 2 - Modelos de processos
PPTX
Utilização da Engenharia de Requisitos: Onde, quando e como utilizar
PPT
Modelos de ciclo de vida de software
PPS
Teste de Software
PPTX
Análise de Sistemas Orientada a Objetos Gerencia de Ruisitos.pptx
PDF
02 - GCSSSSSSSSSSSSSSSSSSSSSSSSSSSSS.pdf
PDF
Qualidade_Software_Aula_1_Final_Corrected.pdf
PDF
Aula 2 - Processos de Software
PDF
Ciclo de Vida Clássico da Engenharia de Software
PPTX
Métricas de software: modelos de contratação e planejamento de projetos
PDF
Qualidade de software
PDF
Aula01 aula alua aula aulaaa- 19 02.pdf
PDF
Capitulo 02 sommerville
PDF
Áreas de Conhecimento da Engenharia de Software
PPT
Automação de testes de desempenho para sistemas web utilizando a ferramenta J...
Aula 02 - Processo de Software I.pdf
Qualidade de software e sua influência no sucesso do projeto
Aula Modelos de Processos Tradicionais para Desenvolvimento de Software
Aula - Revisão.pptx fundamentos de engenharia de sw
Aula 2 - Modelos de processos
Utilização da Engenharia de Requisitos: Onde, quando e como utilizar
Modelos de ciclo de vida de software
Teste de Software
Análise de Sistemas Orientada a Objetos Gerencia de Ruisitos.pptx
02 - GCSSSSSSSSSSSSSSSSSSSSSSSSSSSSS.pdf
Qualidade_Software_Aula_1_Final_Corrected.pdf
Aula 2 - Processos de Software
Ciclo de Vida Clássico da Engenharia de Software
Métricas de software: modelos de contratação e planejamento de projetos
Qualidade de software
Aula01 aula alua aula aulaaa- 19 02.pdf
Capitulo 02 sommerville
Áreas de Conhecimento da Engenharia de Software
Automação de testes de desempenho para sistemas web utilizando a ferramenta J...

Último (7)

PPTX
Mapeamento de Objeto para Tabela Relacional
DOC
COMO AUTOMATIZR JOGOS SUPER NINTENDO ATRAVES DA PROGRAMAÇÃO
DOC
CODIGO PARA AUTOMATIZAR A JOGABILIDADE SUPER MARIO
PDF
apresentacao introducao computacao ead.pdf
PDF
Dos requisitos ao código: como criar código rastreável em PHP
PPTX
Curso de Windows 11 resumido na prática.pptx
PDF
Evolução em código: algoritmos genéticos com PHP
Mapeamento de Objeto para Tabela Relacional
COMO AUTOMATIZR JOGOS SUPER NINTENDO ATRAVES DA PROGRAMAÇÃO
CODIGO PARA AUTOMATIZAR A JOGABILIDADE SUPER MARIO
apresentacao introducao computacao ead.pdf
Dos requisitos ao código: como criar código rastreável em PHP
Curso de Windows 11 resumido na prática.pptx
Evolução em código: algoritmos genéticos com PHP

Qualitygate SourceAudit: A tool for assessing the technical quality of software - Resumo

  • 1. Qualitygate SourceAudit: A tool for assessing the technical quality of software. Felipe Neves Brito Universidade Federal do Ceara 17 de outubro de 2016
  • 2. Roteiro • Engenharia de Requisitos • Mudan¸cas no Software • Medi¸c˜ao da Manutenibilidade • SourceAudit • ColombusQM • Banco de Dados de Referˆencia • Grafo do Modelo de Manutenibilidade 2 of 22
  • 3. Engenharia de Requisitos • A engenharia de requisitos ´e uma ´area muito importante no desenvolvimento de software, onde diversas t´ecnicas ser˜ao utilizadas para captar as necessidades do cliente. • Falhas na fase de elicita¸c˜ao de requisitos pode levar `a necessidade de diversas mudan¸cas no software sendo produzido. • Al´em disso, fatores como mudan¸cas no mercado ou mudan¸cas nas necessidades do cliente refletem em mudan¸cas no software em desenvolvimento 3 of 22
  • 4. Mudan¸cas no Software • Essa caracter´ıstica natural de constantes mudan¸cas, no software, impacta diretamente na deteriora¸c˜ao da sua qualidade. • Como resultado dessa deteriora¸c˜ao: ◦ Aumento no custo de Desenvolvimento ◦ Aumento no custo de Teste ◦ Aumento nos Riscos • A utiliza¸c˜ao de ferramentas customizadas para reduzir a eros˜ao na qualidade do software se mostra essencial 4 of 22
  • 5. Medi¸c˜ao da Manutenibilidade • Avaliar o c´odigo fonte para medir a manutenibilidade ´e crucial para projetos de software. • Sem essa informa¸c˜ao, a qualidade do produto entregue ´e medida apenas utilizando-se os testes de aceita¸c˜ao. • Testes de aceita¸c˜ao s˜ao importantes para avaliar se o sistema atende as necessidades do cliente, por´em ligados `as funcionalidades. • Testes de aceita¸c˜ao n˜ao s˜ao capazes de prover informa¸c˜oes sobre: ◦ O Custo de Manuten¸c˜ao ◦ O Risco Operacional 5 of 22
  • 6. SourceAudit • SourceAudit ´e uma ferramenta criada para o gerenciamento da qualidade de software, no qual permite uma avalia¸c˜ao da qualidadee de forma ◦ Imediata ◦ Autom´atica ◦ Objetiva • Utiliza o modelo de manutenibilidade ColombusQM • Fornece uma forma sistem´atica de visualizar as mudan¸cas na qualidade do software 6 of 22
  • 7. SourceAudik • SourceAudit ajuda as equipes de desenvolvimento a produzirem um c´odigo de melhor qualidade, alertando quando a qualidade do software diminui. • Tamb´em contribui para uma melhor performance das equipes no desenvolvimento do software. 7 of 22
  • 8. ColombusQM • O modelo de manutenibilidade ColombusQM apresenta a quantifica¸c˜ao da qualidade do c´odigo fonte. • SourceAudit possui as principais caracter´ısticas de outras ferramentas existentes como: ◦ SIG maintainability model ◦ QUAMOCO ◦ Sonar ◦ SQALE ◦ SQUALE • SourceAudit vai al´em das funcionalidades destas ferramentas, dando suporte a ◦ An´alise de tendˆencias ◦ Estimativa de custo de manuten¸c˜ao de software. 8 of 22
  • 9. SourceAudik • Conceitos chaves da medi¸c˜ao usando ColombusQM ◦ Banco de Dados de Referˆencia ◦ Grafo do Modelo de Manutenibilidade 9 of 22
  • 10. Banco de Dados de Referˆencia • cont´em caracter´ısticas do c´odigo fonte de in´umeros sistemas de software • serve de base para compara¸c˜ao com os sistemas a serem avaliados • A manutenibilidade se tornou poss´ıvel usando o mesmo banco de dados de referˆencia para: ◦ Diferentes sistemas ◦ Diferentes vers˜oes de um mesmo sistema 10 of 22
  • 11. Grafo do Modelo de Manutenibilidade • ´E um grafo ac´ıclico em que seus n´os representam caracter´ısticas de alto n´ıvel e caracter´ısticas de baixo n´ıvel • As caracter´ısticas de baixo n´ıvel representam os n´os ao qual n˜ao se tem arestas de entrada e podem ser diretamente calculadas atrav´es do c´odigo fonte utilizando-se an´alise est´atica. • As caracter´ısticas de alto n´ıvel, recebem como entrada outras caracter´ısticas e representam os atributos de qualidade com significados subjetivos, ou seja, n˜ao podem ser computados diretamente no c´odigo. 11 of 22
  • 12. Grafo do Modelo de Manutenibilidade Figura: Grafo do Modelo de Manutenibilidade 12 of 22
  • 13. Grafo do Modelo de Manutenibilidade • As setas produzidas no grafo representam dependˆencias e o modelo permite a possibilidade de criar diferentes pesos para as arestas de acordo com a opini˜ao de desenvolvedores especialistas. Os pesos representam a distribui¸c˜ao probabil´ıstica dos votos dos especialistas. 13 of 22
  • 14. Rela¸c˜ao Manutenibilidade/Custo A ferramenta SourceAudik mostra o custo de manutenibilidade do software. Figura: Rela¸c˜ao Manutenibilidade/Custo 14 of 22
  • 15. Integra¸c˜ao Cont´ınua • Plugin Jenkins • Executa ao perceber mudan¸cas no reposit´orio • Realiza An´alise est´atica de c´odigo: ◦ Computa¸c˜ao das M´etricas de C´odigo ◦ Detecta Viola¸c˜ao de Regras de C´odigo ◦ Detecta C´odigo Duplicado 15 of 22
  • 16. Caracter´ısticas • Visualizar Dados de Compara¸c˜oes • Criar Novas Compara¸c˜oes • Editar ou Remover Compara¸c˜oes • Visualizar Modelos de Qualidade • Criar Modelos de Qualidade 16 of 22
  • 20. Referˆencias BAKOTA, Tibor et al. Qualitygate SourceAudit: A tool for assessing the technical quality of software. In: Software Maintenance, Reengineering and Reverse Engineering (CSMR-WCRE), 2014 Software Evolution Week-IEEE Conference on. IEEE, 2014. p. 440-445. 20 of 22
  • 21. Inova¸c˜ao A Code Refactoring Dataset and Its Assessment Regarding Software Maintainability • Istv´an K´ad´ar - Univ. of Szeged, Szeged, Hungary • P´eter - Univ. of Szeged, Szeged, Hungary • Rudolf Ferenc - Univ. of Szeged, Szeged, Hungary • Gyim´othy - Univ. of Szeged, Szeged, Hungary 21 of 22
  • 22. Inova¸c˜ao Do automatic refactorings improve maintainability? An industrial case study • G´abor Sz˝oke - Department of Software Engineering, University of Szeged, Hungary • Csaba Nagy - Department of Software Engineering, University of Szeged, Hungary • P´eter Heged˝us - Department of Software Engineering, University of Szeged, Hungary 22 of 22