• Nenhum resultado encontrado

Aula 9- Metricas_Qualidade_Software

N/A
N/A
Protected

Academic year: 2021

Share "Aula 9- Metricas_Qualidade_Software"

Copied!
62
0
0

Texto

(1)

Gerencia de Qualidade de

Software

Métricas de Qualidade de Software

https://sites.google.com/site/thiagoaalves/

(2)

Conteúdo Programático

Apresentação da disciplina e metodologia

de trabalho. Apresentação do Plano de

Estudo e Aprendizagem. Introdução à

Qualidade de Software.

Estudo dos fatores técnicos e humanos

que influenciam a qualidade de um

software.

Garantia da Qualidade de Software

(SQA): conceito, importância e

apresentação das técnicas.

(3)

Conteúdo Programático

Garantia da Qualidade de Software (SQA):

Impactos de um sistema de má qualidade.

CMMI. Introdução, diferenciação entre

qualidade de software e de processo. Estudo

dos níveis CMMI. Abordagem das Key

Process Areas (KPA)

CMMI: abordagem dos aspectos práticos de

implantação do modelo. Apresentação de

casos de sucesso na implantação, níveis

obtidos pelas principais empresas de TI ou

não.

(4)

Conteúdo Programático

Normas MPS:BR e ISO 12207.

Norma ISO 15504 (Spice): conceituação,

utilização, metodologia de avaliação.

Modelos de Processo Pessoal e de Equipe

na Melhoria da Qualidade do processo de

desenvolvimento de Software

(5)

Conteúdo Programático

Métricas de software: conceituação,

motivos para medição de um produto de

software. Principais tipos e utilizações.

Métricas de software: apresentação da

métrica de Pontos por Função.

Qualidade de código. Programação:

Fatores de qualidade

Atividades de revisão de conteúdo e/ou

(6)

Trabalho

Grupos como estão?

Grupo 1?

Grupo 2?

Grupo 3?

Grupo 4?

(7)
(8)
(9)

Relembrando

Nas duas ultimas aulas vimos os 2 modelos

básicos para Qualidade de Software o

CMM e o MPS.BR.

Mas somente conhecer os 2 não e o

suficiente para alcançar os resultados

esperados.

(10)

Relembrando

Tem que adotar cada modelo e verificar se

o requisitos solicitados por cada modelo

estão sendo implementados.

Para isso deve se definir um conjunto de

métricas para auxiliar no trabalho.

(11)

Métricas da qualidade de software

Objetivos

o

Entender porque medição é importante para

avaliação e garantia da qualidade de software.

Entender as abordagens principais de métricas

e como elas são utilizadas.

Conhecer algumas métricas e suas aplicações.

Entender o que é um Plano de Métricas e como

(12)

Métricas da qualidade de software

Motivação

Um dos objetivos básicos da Engenharia de Software é: a transformação da criação de

sistemas software de uma maneira artística, indisciplinada e pouco entendível para uma forma devidamente controlada, quantificada e previsível

“Métricas de Software” é um assunto discutido há mais de 20 anos na engenharia de software ... e no entanto não é verificada sua

utilização, na prática, pela grande maioria dos projetos de construção de software

Pesquisas realizadas em empresas de software indicam que mais da metade de grandes projetos de software se deparam com algum tipo de atraso, excesso de custo ou

prazo ou algum fracasso na execução quando implantado

(13)

Métricas da qualidade de software

Motivação

“Não se pode gerenciar o que não se pode

medir”.

Tom De Marco

“Se você não sabe para onde você quer ir,

qualquer caminho você pode seguir. Se você

não sabe onde você está, um mapa não vai

ajudar!”.

(14)

O que são métricas de software?

Uma métrica é a medição de um atributo

(propriedades ou características ) de uma

determinada entidade (produto, processo

ou

recursos). Exemplos:

 Tamanho do produto de software (ex: Número de Linhas de código);

 Número de pessoas necessárias para implementar um caso de uso;

 Número de defeitos encontrados por fase de desenvolvimento;

 Esforço para a realização de uma tarefa;

 Tempo para a realização de uma tarefa;

 Custo para a realização de uma tarefa;

 Grau de satisfação do cliente (ex: adequação do produto ao propósito, conformidade do produto com a especificação);

(15)

Por que medir software?

Entender

e

aperfeiçoar

o

processo

de

desenvolvimento;

Melhorar

a

gerência

de

projetos

e

o

relacionamento com clientes;

Reduzir frustrações e pressões de cronograma;

(16)

Por que medir software?

Indicar a qualidade de um produto de software;

Avaliar a produtividade do processo;

Avaliar

os

benefícios

(em

termos

de

produtividade e qualidade) de novos métodos e

ferramentas de engenharia de software;

(17)

Por que medir software?

Identificar

as

melhores

práticas

de

desenvolvimento de software;

Embasar solicitações de novas ferramentas e

treinamento;

Avaliar o impacto da variação de um ou mais

atributos

do

produto

ou

do

processo

na

qualidade e/ou produtividade;

(18)

Por que medir software?

Formar uma baseline para estimativas;

Melhorar a exatidão das estimativas;

Oferecer dados qualitativos e quantitativos ao

gerenciamento de desenvolvimento de software,

de forma a realizar melhorias em todo o

processo de desenvolvimento de software;

(19)

Propriedades desejadas de uma

métrica

Facilmente calculada, entendida e testada;

Passível de estudos estatísticos;

Expressa em alguma unidade;

Obtida o mais cedo possível no ciclo de vida do

software;

Passível de automação;

Repetível e independente do observador;

(20)

Métrica

Uma métrica deve ser:

Válida: quantifica o que queremos medir;

Confiável: produz os mesmos resultados

dadas as mesmas condições;

Prática: barata, fácil de computar e fácil de

interpretar;

Dois contextos para medição de software:

Processo. Ex: produtividade;

(21)

Categorização das métrica

Métricas diretas (fundamentais ou básicas);

Métricas indiretas (derivadas);

Métricas orientadas a tamanho;

Métricas orientadas por função;

Métricas de produtividade;

Métricas de qualidade;

(22)

Categorização das métrica

Métricas diretas (fundamentais ou básicas)

 Medida realizada em termos de atributos observados (usualmente determinada pela contagem)

 Ex.: custo, esforço, no. linhas de código, capacidade de memória, no. páginas, no. diagramas, etc.

Métricas indiretas (derivadas)

 Medidas obtidas a partir de outras métricas

 Ex.: complexidade, eficiência, confiabilidade, facilidade de manutenção

(23)

Categorização das métrica

Métricas orientadas a tamanho

 São medidas diretas do tamanho dos artefatos de software associados ao processo por meio do qual o software é desenvolvido.

 Ex.: esforço, custo, no. KLOC, nº páginas de documentação, nº de Erros

Métricas orientadas por função

 Consiste em um método para medição de software do ponto de vista do usuário, determinando de forma consistente o tamanho e a complexidade de um software.

(24)

Categorização das métrica

Métricas de produtividade

 Concentram-se na saída do processo de engenharia de software.

 Ex: nº de casos de uso/iteração.

Métricas de qualidade

 Oferecem uma indicação de quanto o software se adequa às exigências implícitas e explícitas do cliente.

(25)

Categorização das métrica

Métricas técnicas

 Concentram-se nas características do software e não no processo por meio do qual o software foi desenvolvido.

(26)

Possíveis problemas com métricas

Um exemplo: Comparar a produtividade de

engenheiros em termos de linha de código.

 Está sendo utilizado a mesma unidade de medida?

 O que é uma linha de código válida?

 O contexto considerado é o mesmo?

 Todos os engenheiros são familiarizados com a linguagem de programação?

 O que se quer realmente é o tamanho do código?

E a qualidade do código?

 Como o resultado será interpretado?

 Produtividade média de um engenheiro?

 O que se quer com o resultado?

(27)

Problemas com métricas

Teoria sobre métricas pode ajudar a resolver

estes problemas.

Teoria da medição

Como se deve medir

(28)

Relações Empíricas

Ajudam

a

observar

as

relações

do

tipo

verdadeiro/falso entre entidades do mundo real

Ex: Relações empíricas entre o atributo peso

das pessoas

Binária: O João é mais pesado do que José

Unária: O João é pesado

Ternária: O João é mais pesado que José e

Antônio

(29)

Medida

Medida é uma função de mapeamento

João José Antônio 110 Kg 90 Kg 85 Kg Atributos do mundo

real (domínio) Umconjuntosímbolocom emrelaçõesum matemáticas conhecidas

(30)

Medição

É a atribuição de uma medida (através de um

símbolo) a um atributo do mundo real

Propósito: manipular símbolos na faixa

=> determinar conclusões sobre os atributos do domínio

Para ser precisa, a medição deve especificar

 Domínio: Será medido a largura ou peso das pessoas?

 Faixa: A medida do peso foi feita em Kg ou g ?

 Regras de mapeamento: Será permitido pesar considerando as pessoas vestidas?

(31)

Escala

Representa os símbolos na faixa de uma

medida mais as manipulações permitidas

Exemplo de manipulações:

Mapeamento: transformar símbolos em um

conjunto

em

outros

símbolos

em

outro

conjunto.

(32)

Tipos de escalas

Kelvin, tamanho, largura Diferença entre qualquer par

consecutivo de valores é

preservada. Possui 0 absoluto.

Ratio (razão)

Celsius e Fahrenheit Diferença entre qualquer par

consecutivo de valores é preservada Intervalar {simples, médio, complexo} Símbolos ordenados Ordinal {verdadeiro, falso} Símbolos não ordenados

Nominal

Exemplos Características

(33)

Os quatro papéis da medição

 Segundo Humphrey, são quatro os principais papéis de Medições de Software: Processos, Produtos e Serviços de Software Entender Avaliar Prever Controlar

(34)

Os quatro papéis da medição

Entender

 Métricas ajudam a entender o comportamento e funcionamento de processos, produtos e serviços de software

Avaliar

 Métricas podem ser utilizadas para tomar decisões e determinar o estabelecimento de padrões, metas e critérios de aceitação

(35)

Os quatro papéis da medição

Controlar

 Métricas podem ser utilizadas para controlar processos, produtos e serviços de software

Prever

 Métricas podem ser utilizadas para prever valores de atributos

(36)

Os quatro papéis da medição

Controlar

 Métricas podem ser utilizadas para controlar processos, produtos e serviços de software

Prever

 Métricas podem ser utilizadas para prever valores de atributos

(37)

Criando uma Métrica

Para se criar uma métrica tem que se entender

primeiro o objetivo do que se deseja realizar,

vamos

pegar

o

seguinte

exemplo

para

trabalharmos em um conjunto de métricas:

(38)

Criando uma Métrica

 “A PMZ, uma desenvolvedora com 25 anos de

experiência no desenvolvimento de sistemas esta com um problema. Atualmente a sua etapa de requisitos esta muito caótica, sendo que o processo esta sendo realizado fracamente ou não é realizado. Basicamente a etapa opera da seguinte forma: Os analistas entram em contato com o Cliente, Marcão uma reunião com o cliente, comparecem a reunião com o Formulário XYZ, retornar a empresa com o Formulário XYZ, apresentam o Formulário para equipe de desenvolvimento. A equipe da um Parecer e o Analista Retornar para o cliente os resultados esperados”

(39)

Criando uma Métrica

 O foco e verificar se o processo de requisitos esta sendo realizado de acordo com o definido pela politica da empresa. Para isso vamos pegar cada parte importante do processo e associar a uma pergunta.

(40)

Criando uma Métrica

1. A equipe de analise entrou em contato com o Cliente? 2. A equipe de analise marcou uma reunião com o

Cliente?

3. A equipe ou o Analista encarregado compareceu a

reunião?

4. A equipe ou o Analista encarregado levou o Formulário

XYZ?

5. A equipe ou o Analista encarregado retornou para

empresa com Formulário XYZ?

6. O Formulário XYZ foi apresentado a equipe de

desenvolvimento?

7. A equipe de desenvolvimento deu um parecer?

8. A equipe ou o Analista encarregado retornou para o

(41)

Criando uma Métrica

Métrica Sim Não Não Aplicável

A equipe de analise entrou em contato com o Cliente?

A equipe de analise marcou uma reunião com o Cliente? A equipe ou o Analista encarregado compareceu a reunião? A equipe ou o Analista encarregado levou o Formulário XYZ?

A equipe ou o Analista encarregado retornou para empresa com Formulário XYZ?

O Formulário XYZ foi apresentado a equipe de desenvolvimento?

A equipe de desenvolvimento deu um parecer?

(42)

Criando uma Métrica

 No exemplo anterior foi adotado um CheckList, o objetivo e ver se todos os pontos do processo estão sendo contemplados, e em cada ponto existe uma nota associada aquele ponto. No caso do Exemplo anterior temos:

 Sim;

 Não;

(43)

Criando uma Métrica

 Um CheckList e muito útil para entendimento do processo como um todo.

 Através dele consegue verificar as atividades realizadas e se elas estão realmente sendo realizadas.

 Permite uma visão mais clara e ampla do processo como um todo.

(44)

CheckList

 Um CheckList e um conjunto de perguntas( métricas) e as respostas para cada pergunta.

 Não fica preso somente a ideia de sim e não podendo ser utilizado de varias formas diferentes, veja o exemplo de um para a Gestão de projetos em uma pequena empresa:

(45)

CheckList

“Para as perguntas abaixo, marque com um x somente uma opção, sendo escolhida aquela que mais se adequar à realidade atual da sua empresa no que se refere aos aspectos gerenciais dos projetos. Considere a seguinte escala:

1. Não existe essa característica ou tópico.

2. Existe um início de definição em relação a característica ou tópico.

3. A característica ou tópico já está implantado, mas não na sua totalidade.

4. A característica ou tópico já está completamente implantado, mas ainda não existe uma proficiência.

5. A característica ou tópico já integraram a cultura da empresa, ou seja, a proficiência e clareza sobre o assunto já faz parte da rotina da equipe.”

(46)
(47)

Criando uma Métrica - Cuidados

 Cuidados ao se criar métricas:

1) Elas devem ter relação com o objetivo; 2) Tem que ter pontos em Comum;

3) Tem que ser de fácil entendimento para quem esta

respondendo;

4) Se for para uma comparação, deve apresentar as

(48)

Exercício – 30 minutos

 Crie um conjunto de métricas(mínimo de 5) para atender o seguinte KPA do nível 2 do CMM:

“Gerência de Requisitos - Os requisitos do sistema são controlados de

forma a estabelecer um perfil mínimo a ser utilizado pela engenharia de software e pela administração. Os planos, produtos e atividades do software são sempre consistentes com os requisitos de sistema.”

(49)

Resolução

(50)
(51)
(52)

AS SETE FERRAMENTAS DA

QUALIDADE

 1- Fluxograma: auxilia na identificação do melhor caminho que o produto ou serviço irá percorrer no processo, ou seja, mostra as etapas sequenciais do processo, utilizando símbolos que representam os diferentes tipos de operações, com o objetivo de identificar o desvio, caso ocorra.

(53)

AS SETE FERRAMENTAS DA

QUALIDADE

 2- Diagrama Ishikawa (Espinha de Peixe): tem como objetivo identificar as possíveis causas de um problema e seus efeitos, através da relação entre o efeito e todas as possibilidades de causa que podem contribuir para esse efeito.

(54)

AS SETE FERRAMENTAS DA

QUALIDADE

 3- Folhas de Verificação: é uma lista de itens pré-estabelecidos que serão marcados a partir do momento que forem realizados ou avaliados. É usada para a certificação de que os passos ou itens pré-estabelecidos foram cumpridos ou para avaliar em que nível eles estão.

(55)

AS SETE FERRAMENTAS DA

QUALIDADE

 4- Diagrama de Pareto: é um recurso gráfico utilizado para estabelecer uma ordenação nas causas de perdas que devem ser sanadas.

(56)

AS SETE FERRAMENTAS DA

QUALIDADE

 5- Histograma: tem como objetivo mostrar a distribuição de frequências de dados obtidos por medições, através de um gráfico de barras indicando o número de unidades em cada categoria.

(57)

AS SETE FERRAMENTAS DA

QUALIDADE

 6- Diagrama de Dispersão: mostra o que acontece com uma variável quando a outra muda. São representações de duas ou mais variáveis que são organizadas em um gráfico, uma em função da outra.

(58)

AS SETE FERRAMENTAS DA

QUALIDADE

 7- Controle Estatístico de Processo (CEP): são usados para mostrar as tendências dos pontos de observação em um período de tempo. É um tipo de gráfico utilizado para o acompanhamento do processo, determinando a faixa de tolerância limitada pela linha superior (limite superior de controle) e uma linha inferior (limite inferior de controle) e uma linha média do processo (limite central), que foram estatisticamente determinadas.

(59)

Próxima Aula

Ler e escutar os Podcasts presentes no

Slide Aula 10 Riscos.

Faremos uma Dinâmica em Sala de Aula.

Só funciona se todos escutarem antes da

(60)
(61)

Referencias

PRESSMAN, Roger S. Engenharia de

Software, Makron Boorks, 1995

SOMMERVILE,

I.

Engenharia

de

Software, Person – Addison Wesley, 2003

(62)

Referencias

http://www.blogdaqualidade.com.br/as-sete-ferramentas-da-qualidade/

http://max.uma.pt/~a2015407/FQ.pdf

http://pt.slideshare.net/adorepump/ferram

entas-de-qualidade-total

http://pt.slideshare.net/adorepump/mtrica

s-de-software-

presentation?qid=ce9e2db7-4401-40c6-

b393-74af97291c59&v=qf1&b=&from_search=6

Referências

Documentos relacionados

Além disso, a falta de esclarecimento de toda a comunidade escolar sobre sua importância para a melhoria do desempenho dos educandos também contribuiu para que os pais não o

O trabalho intitulado PROJETO DE INTERVENÇÃO SOBRE A IMPLANTAÇÃO DA SISTEMATIZAÇÃO DA ASSISTÊNCIA DE ENFERMAGEM (SAE) PARA PACIENTES COM DIABETES MELLITUS NO

– dificuldade em mensurar a dimensão do problema , em trabalhar a diversidade de manifestações no extenso território nacional e em pautar o assunto nos diferentes espaços públicos

É bastante conhecido, que a melhoria da eficiência na aplicação envolve a escolha adequada do equipamento de aplicação, com ponta de pulverização que produza

Microglanis lundbergi is distinguished from all congeners by the presence of a forked caudal fin with a deep notch between upper and lower lobes (vs. rounded, emarginated, or

Estima-se que a diversidade de espécies na Mata Atlântica e no Brasil seja muito maior e o baixo número de táxons conhecidos se dá por falta de identificação ao

Na Nova Zelândia em sistemas pastoris as vacas produzem em média 17 litros de leite ao dia, enquanto nos produtores analisados neste estudo a média de

Assim, o presente trabalho surgiu com o objetivo de analisar e refletir sobre como o uso de novas tecnologias, em especial o data show, no ensino de Geografia nos dias atuais