SlideShare a Scribd company logo
1 of 22
Download to read offline
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

More Related Content

What's hot

Processo Unificado(RUP)
Processo Unificado(RUP)Processo Unificado(RUP)
Processo Unificado(RUP)elliando dias
 
Visao geraldorup 20slides
Visao geraldorup 20slidesVisao geraldorup 20slides
Visao geraldorup 20slideshoraciosila
 
Uml processo unificado
Uml   processo unificado Uml   processo unificado
Uml processo unificado Julia
 
Engenharia Software Rup
Engenharia Software   RupEngenharia Software   Rup
Engenharia Software RupFelipe
 
Modelos de Processo de Software Parte 1
Modelos de Processo de Software Parte 1Modelos de Processo de Software Parte 1
Modelos de Processo de Software Parte 1Elaine Cecília Gatto
 
A Evolucao dos Processos de Desenvolvimento de Software
A Evolucao dos Processos de Desenvolvimento de SoftwareA Evolucao dos Processos de Desenvolvimento de Software
A Evolucao dos Processos de Desenvolvimento de SoftwareRobson Silva Espig
 
01- Introdução a programação e modelo RAD v1.0
01- Introdução a programação e modelo RAD v1.001- Introdução a programação e modelo RAD v1.0
01- Introdução a programação e modelo RAD v1.0César Augusto Pessôa
 
Modelos de Processo de Software Parte 4
Modelos de Processo de Software Parte 4Modelos de Processo de Software Parte 4
Modelos de Processo de Software Parte 4Elaine Cecília Gatto
 
Artigo Sbc 2009 - Gestão de requisitos de software para produtos automotivos
Artigo Sbc 2009 - Gestão de requisitos de software para produtos automotivosArtigo Sbc 2009 - Gestão de requisitos de software para produtos automotivos
Artigo Sbc 2009 - Gestão de requisitos de software para produtos automotivosCarlo Borsoi Moura
 
Modelos de Processo de Software Parte 2
Modelos de Processo de Software Parte 2Modelos de Processo de Software Parte 2
Modelos de Processo de Software Parte 2Elaine Cecília Gatto
 
A disciplina Teste no RUP
A disciplina Teste no RUPA disciplina Teste no RUP
A disciplina Teste no RUPtecprog2010
 

What's hot (20)

Processo Unificado(RUP)
Processo Unificado(RUP)Processo Unificado(RUP)
Processo Unificado(RUP)
 
Outras Metodologias Ágeis Parte 2
Outras Metodologias Ágeis Parte 2Outras Metodologias Ágeis Parte 2
Outras Metodologias Ágeis Parte 2
 
Introdução ao RUP
Introdução ao RUPIntrodução ao RUP
Introdução ao RUP
 
Visao geraldorup 20slides
Visao geraldorup 20slidesVisao geraldorup 20slides
Visao geraldorup 20slides
 
Qualidade de Software: MPS.BR
Qualidade de Software: MPS.BRQualidade de Software: MPS.BR
Qualidade de Software: MPS.BR
 
Uml processo unificado
Uml   processo unificado Uml   processo unificado
Uml processo unificado
 
Engenharia Software Rup
Engenharia Software   RupEngenharia Software   Rup
Engenharia Software Rup
 
Outras Metodologias Ágeis Parte 3
Outras Metodologias Ágeis Parte 3Outras Metodologias Ágeis Parte 3
Outras Metodologias Ágeis Parte 3
 
Modelos de Processo de Software Parte 1
Modelos de Processo de Software Parte 1Modelos de Processo de Software Parte 1
Modelos de Processo de Software Parte 1
 
Modelos de processos de software
Modelos de processos de softwareModelos de processos de software
Modelos de processos de software
 
A Evolucao dos Processos de Desenvolvimento de Software
A Evolucao dos Processos de Desenvolvimento de SoftwareA Evolucao dos Processos de Desenvolvimento de Software
A Evolucao dos Processos de Desenvolvimento de Software
 
01- Introdução a programação e modelo RAD v1.0
01- Introdução a programação e modelo RAD v1.001- Introdução a programação e modelo RAD v1.0
01- Introdução a programação e modelo RAD v1.0
 
Processos de software
Processos de softwareProcessos de software
Processos de software
 
Modelos de Processo de Software Parte 4
Modelos de Processo de Software Parte 4Modelos de Processo de Software Parte 4
Modelos de Processo de Software Parte 4
 
Artigo Sbc 2009 - Gestão de requisitos de software para produtos automotivos
Artigo Sbc 2009 - Gestão de requisitos de software para produtos automotivosArtigo Sbc 2009 - Gestão de requisitos de software para produtos automotivos
Artigo Sbc 2009 - Gestão de requisitos de software para produtos automotivos
 
DSDM
DSDMDSDM
DSDM
 
Modelos de Processo de Software Parte 2
Modelos de Processo de Software Parte 2Modelos de Processo de Software Parte 2
Modelos de Processo de Software Parte 2
 
A disciplina Teste no RUP
A disciplina Teste no RUPA disciplina Teste no RUP
A disciplina Teste no RUP
 
Visao Geral Rup
Visao Geral RupVisao Geral Rup
Visao Geral Rup
 
Metodologia Ágil
Metodologia ÁgilMetodologia Ágil
Metodologia Ágil
 

Viewers also liked

Back to the basics principles for constructing quality software
Back to the basics   principles for constructing quality softwareBack to the basics   principles for constructing quality software
Back to the basics principles for constructing quality softwareRick Spiewak
 
Software QA Services – An Important Ingredient in Software Development
Software QA Services – An Important Ingredient in Software DevelopmentSoftware QA Services – An Important Ingredient in Software Development
Software QA Services – An Important Ingredient in Software DevelopmentSoftware Testing Solution
 
Symptoms of Bad Quality Software
Symptoms of Bad Quality SoftwareSymptoms of Bad Quality Software
Symptoms of Bad Quality Softwareashokguduru
 
Software Quality Assurance
Software Quality AssuranceSoftware Quality Assurance
Software Quality Assurancewill2294
 
Midiendo la calidad del software
Midiendo la calidad del softwareMidiendo la calidad del software
Midiendo la calidad del softwareErnesto Maya
 
software Quality management presentation
software Quality management presentationsoftware Quality management presentation
software Quality management presentationMuneeb Khan
 
Integrating QuickBooks Desktop with Rails Application
Integrating QuickBooks Desktop with Rails ApplicationIntegrating QuickBooks Desktop with Rails Application
Integrating QuickBooks Desktop with Rails ApplicationNascenia IT
 
ISO / EC 15504: Guía de calidad para el desarrollo del Software
ISO / EC 15504: Guía de calidad para el desarrollo del SoftwareISO / EC 15504: Guía de calidad para el desarrollo del Software
ISO / EC 15504: Guía de calidad para el desarrollo del SoftwareAndres Epifanía Huerta
 
machine translation beginning...
machine translation beginning...machine translation beginning...
machine translation beginning...Muneeb Khan
 
Principles of effective software quality management
Principles of effective software quality managementPrinciples of effective software quality management
Principles of effective software quality managementNeeraj Tripathi
 
Manjiri.Bhogale_ Software QA
Manjiri.Bhogale_ Software QAManjiri.Bhogale_ Software QA
Manjiri.Bhogale_ Software QAManjiri Bhogale
 
Software quality - no more bugs!
Software quality - no more bugs!Software quality - no more bugs!
Software quality - no more bugs!Arnon Axelrod
 
Scrum para ejecución del planeamiento estratégico
Scrum para ejecución del planeamiento estratégicoScrum para ejecución del planeamiento estratégico
Scrum para ejecución del planeamiento estratégicoAlvaro Ruiz de Mendarozqueta
 
Studying Software Quality Using Topic Models
Studying Software Quality Using Topic ModelsStudying Software Quality Using Topic Models
Studying Software Quality Using Topic ModelsSAIL_QU
 
1-informatica-training
1-informatica-training1-informatica-training
1-informatica-trainingKrishna Sujeer
 
Software Quality for Programmers
Software Quality for ProgrammersSoftware Quality for Programmers
Software Quality for ProgrammersPawel Klimczyk
 
DIWE - Working with MySQL Databases
DIWE - Working with MySQL DatabasesDIWE - Working with MySQL Databases
DIWE - Working with MySQL DatabasesRasan Samarasinghe
 

Viewers also liked (19)

Back to the basics principles for constructing quality software
Back to the basics   principles for constructing quality softwareBack to the basics   principles for constructing quality software
Back to the basics principles for constructing quality software
 
Software QA Services – An Important Ingredient in Software Development
Software QA Services – An Important Ingredient in Software DevelopmentSoftware QA Services – An Important Ingredient in Software Development
Software QA Services – An Important Ingredient in Software Development
 
Symptoms of Bad Quality Software
Symptoms of Bad Quality SoftwareSymptoms of Bad Quality Software
Symptoms of Bad Quality Software
 
Software Quality Assurance
Software Quality AssuranceSoftware Quality Assurance
Software Quality Assurance
 
Software quality - Connascence
Software quality - ConnascenceSoftware quality - Connascence
Software quality - Connascence
 
Midiendo la calidad del software
Midiendo la calidad del softwareMidiendo la calidad del software
Midiendo la calidad del software
 
software Quality management presentation
software Quality management presentationsoftware Quality management presentation
software Quality management presentation
 
Integrating QuickBooks Desktop with Rails Application
Integrating QuickBooks Desktop with Rails ApplicationIntegrating QuickBooks Desktop with Rails Application
Integrating QuickBooks Desktop with Rails Application
 
ISO / EC 15504: Guía de calidad para el desarrollo del Software
ISO / EC 15504: Guía de calidad para el desarrollo del SoftwareISO / EC 15504: Guía de calidad para el desarrollo del Software
ISO / EC 15504: Guía de calidad para el desarrollo del Software
 
¿ISO 9001:2008 y Agile pueden usarse juntos?
¿ISO 9001:2008 y Agile pueden usarse juntos?¿ISO 9001:2008 y Agile pueden usarse juntos?
¿ISO 9001:2008 y Agile pueden usarse juntos?
 
machine translation beginning...
machine translation beginning...machine translation beginning...
machine translation beginning...
 
Principles of effective software quality management
Principles of effective software quality managementPrinciples of effective software quality management
Principles of effective software quality management
 
Manjiri.Bhogale_ Software QA
Manjiri.Bhogale_ Software QAManjiri.Bhogale_ Software QA
Manjiri.Bhogale_ Software QA
 
Software quality - no more bugs!
Software quality - no more bugs!Software quality - no more bugs!
Software quality - no more bugs!
 
Scrum para ejecución del planeamiento estratégico
Scrum para ejecución del planeamiento estratégicoScrum para ejecución del planeamiento estratégico
Scrum para ejecución del planeamiento estratégico
 
Studying Software Quality Using Topic Models
Studying Software Quality Using Topic ModelsStudying Software Quality Using Topic Models
Studying Software Quality Using Topic Models
 
1-informatica-training
1-informatica-training1-informatica-training
1-informatica-training
 
Software Quality for Programmers
Software Quality for ProgrammersSoftware Quality for Programmers
Software Quality for Programmers
 
DIWE - Working with MySQL Databases
DIWE - Working with MySQL DatabasesDIWE - Working with MySQL Databases
DIWE - Working with MySQL Databases
 

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

Aula 02 - Processo de Software I.pdf
Aula 02 - Processo de Software I.pdfAula 02 - Processo de Software I.pdf
Aula 02 - Processo de Software I.pdfDaniloPereira341965
 
Qualidade de software e sua influência no sucesso do projeto
Qualidade de software e sua influência no sucesso do projetoQualidade de software e sua influência no sucesso do projeto
Qualidade de software e sua influência no sucesso do projetoValquíria Duarte D'Amato
 
Aula Modelos de Processos Tradicionais para Desenvolvimento de Software
Aula Modelos de Processos Tradicionais para Desenvolvimento de Software Aula Modelos de Processos Tradicionais para Desenvolvimento de Software
Aula Modelos de Processos Tradicionais para Desenvolvimento de Software Cloves da Rocha
 
Utilização da Engenharia de Requisitos: Onde, quando e como utilizar
Utilização da Engenharia de Requisitos: Onde, quando e como utilizarUtilização da Engenharia de Requisitos: Onde, quando e como utilizar
Utilização da Engenharia de Requisitos: Onde, quando e como utilizarOpencadd Advanced Technology
 
Modelos de ciclo de vida de software
Modelos de ciclo de vida de softwareModelos de ciclo de vida de software
Modelos de ciclo de vida de softwareYuri Garcia
 
Ciclo de Vida Clássico da Engenharia de Software
Ciclo de Vida Clássico da Engenharia de SoftwareCiclo de Vida Clássico da Engenharia de Software
Ciclo de Vida Clássico da Engenharia de SoftwareEduardo Santos
 
Métricas de software: modelos de contratação e planejamento de projetos
Métricas de software: modelos de contratação e planejamento de projetosMétricas de software: modelos de contratação e planejamento de projetos
Métricas de software: modelos de contratação e planejamento de projetosJosé Claudemir Pacheco Júnior
 
Áreas de Conhecimento da Engenharia de Software
Áreas de Conhecimento da Engenharia de SoftwareÁreas de Conhecimento da Engenharia de Software
Áreas de Conhecimento da Engenharia de SoftwareElaine Cecília Gatto
 
Automação de testes de desempenho para sistemas web utilizando a ferramenta J...
Automação de testes de desempenho para sistemas web utilizando a ferramenta J...Automação de testes de desempenho para sistemas web utilizando a ferramenta J...
Automação de testes de desempenho para sistemas web utilizando a ferramenta J...Leandro Ugioni
 
DevQA: Como medir qualidade de código ?
DevQA: Como medir qualidade de código ?DevQA: Como medir qualidade de código ?
DevQA: Como medir qualidade de código ?Kamilla Queiroz Xavier
 
Apresentação estrela vs cmmi nivel 2
Apresentação estrela vs cmmi nivel 2Apresentação estrela vs cmmi nivel 2
Apresentação estrela vs cmmi nivel 2Fernando Vargas
 
Engenharia de-software-1217199594686494-9
Engenharia de-software-1217199594686494-9Engenharia de-software-1217199594686494-9
Engenharia de-software-1217199594686494-9wilsonguns
 
Application Insights
Application InsightsApplication Insights
Application InsightsCDS
 
UnP Eng. Software - Aula 25
UnP Eng. Software - Aula 25UnP Eng. Software - Aula 25
UnP Eng. Software - Aula 25Hélio Medeiros
 

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

Aula 02 - Processo de Software I.pdf
Aula 02 - Processo de Software I.pdfAula 02 - Processo de Software I.pdf
Aula 02 - Processo de Software I.pdf
 
Qualidade de software e sua influência no sucesso do projeto
Qualidade de software e sua influência no sucesso do projetoQualidade de software e sua influência no sucesso do projeto
Qualidade de software e sua influência no sucesso do projeto
 
Aula Modelos de Processos Tradicionais para Desenvolvimento de Software
Aula Modelos de Processos Tradicionais para Desenvolvimento de Software Aula Modelos de Processos Tradicionais para Desenvolvimento de Software
Aula Modelos de Processos Tradicionais para Desenvolvimento de Software
 
Aula 2 - Modelos de processos
Aula 2 -  Modelos de processosAula 2 -  Modelos de processos
Aula 2 - Modelos de processos
 
Utilização da Engenharia de Requisitos: Onde, quando e como utilizar
Utilização da Engenharia de Requisitos: Onde, quando e como utilizarUtilização da Engenharia de Requisitos: Onde, quando e como utilizar
Utilização da Engenharia de Requisitos: Onde, quando e como utilizar
 
Modelos de ciclo de vida de software
Modelos de ciclo de vida de softwareModelos de ciclo de vida de software
Modelos de ciclo de vida de software
 
Teste de Software
Teste de SoftwareTeste de Software
Teste de Software
 
Aula 2 - Processos de Software
Aula 2 - Processos de SoftwareAula 2 - Processos de Software
Aula 2 - Processos de Software
 
Ciclo de Vida Clássico da Engenharia de Software
Ciclo de Vida Clássico da Engenharia de SoftwareCiclo de Vida Clássico da Engenharia de Software
Ciclo de Vida Clássico da Engenharia de Software
 
Métricas de software: modelos de contratação e planejamento de projetos
Métricas de software: modelos de contratação e planejamento de projetosMétricas de software: modelos de contratação e planejamento de projetos
Métricas de software: modelos de contratação e planejamento de projetos
 
Qualidade de software
Qualidade de softwareQualidade de software
Qualidade de software
 
Capitulo 02 sommerville
Capitulo 02 sommervilleCapitulo 02 sommerville
Capitulo 02 sommerville
 
Áreas de Conhecimento da Engenharia de Software
Áreas de Conhecimento da Engenharia de SoftwareÁreas de Conhecimento da Engenharia de Software
Áreas de Conhecimento da Engenharia de Software
 
Automação de testes de desempenho para sistemas web utilizando a ferramenta J...
Automação de testes de desempenho para sistemas web utilizando a ferramenta J...Automação de testes de desempenho para sistemas web utilizando a ferramenta J...
Automação de testes de desempenho para sistemas web utilizando a ferramenta J...
 
ES4.ppt
ES4.pptES4.ppt
ES4.ppt
 
DevQA: Como medir qualidade de código ?
DevQA: Como medir qualidade de código ?DevQA: Como medir qualidade de código ?
DevQA: Como medir qualidade de código ?
 
Apresentação estrela vs cmmi nivel 2
Apresentação estrela vs cmmi nivel 2Apresentação estrela vs cmmi nivel 2
Apresentação estrela vs cmmi nivel 2
 
Engenharia de-software-1217199594686494-9
Engenharia de-software-1217199594686494-9Engenharia de-software-1217199594686494-9
Engenharia de-software-1217199594686494-9
 
Application Insights
Application InsightsApplication Insights
Application Insights
 
UnP Eng. Software - Aula 25
UnP Eng. Software - Aula 25UnP Eng. Software - Aula 25
UnP Eng. Software - Aula 25
 

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