Campus Capivari Análise e Desenvolvimento de Sistemas (ADS) Prof. André Luís Belini /

Documentos relacionados
Introdução a Métricas de Software

Métricas de Software. Sistemas de Informação

Aula 05 - ES - Métricas de Software

Medidas de Esforço de Desenvolvimento de Software

Análise de Ponto de Função APF. Aula 02

Campus Capivari Análise e Desenvolvimento de Sistemas (ADS) Prof. André Luís Belini /

ENGENHARIA DE SOFTWARE

Engenharia de Software II

Normas ISO:

Engenharia de Software II

Instituto Federal da Bahia Análise e Desenvolvimento de Sistemas INF022 Tópicos Avançados. Medição de Sofware

Campus Capivari Análise e Desenvolvimento de Sistemas (ADS) Prof. André Luís Belini /

Qualidade de Software: Visão Geral. SSC 121-Engenharia de Software 1 Profa. Dra. Elisa Yumi Nakagawa

Gerência e Planejamento de Projeto. Engenharia de Software I Profa. Elisa Yumi Nakagawa 1 o semestre de 2015

FATORES E MÉTRICAS DE QUALIDADE

Manutenção de Software. Engenharia de Software Profa. Dra. Elisa Yumi Nakagawa 1º semestre de 2015

Campus Capivari Análise e Desenvolvimento de Sistemas (ADS) Prof. André Luís Belini /

Gerência e Planejamento de Projeto. Engenharia de Software Profa. Elisa Yumi Nakagawa 1 o semestre de 2016

Gerência e Planejamento de Projeto. SCE Engenharia de Software Profs. José Carlos Maldonado e Elisa Yumi Nakagawa 2 o semestre de 2002

Fábrica de Software Instituto de Informática Universidade Federal de Goiás. Plano de Medição

Métricas de processo e projeto de software

Engenharia de Software II

CONTPATRI Plano de Garantia de Qualidade. Versão 1.1

Campus Capivari Análise e Desenvolvimento de Sistemas (ADS) Prof. André Luís Belini /

Qualidade de software. Prof. Emiliano Monteiro

Campus Capivari Análise e Desenvolvimento de Sistemas (ADS) Prof. André Luís Belini /

Verificação e Validação. Ian Sommerville 2006 Engenharia de Software, 8ª. edição. Capítulo 22 Slide 1

LIVRO ENGENHARIA DE SOFTWARE FUNDAMENTOS, MÉTODOS E PADRÕES

- Prototipação Iterativa - Observação Direta

Engenharia de Software

QUALIDADE DE SOFTWARE

Controle - 3. Realizar o Controle da Qualidade Relatório de Desempenho. Mauricio Lyra, PMP

Gerência de Projetos e Qualidade de Software. Prof. Walter Gima

AVALIAÇÃO DE INTERFACES

Simulado para CFPS. Questões de Propósito, Tipo e Fronteira. 1. Um dos objetivos da Análise de Pontos de Função é:

Gerência de Projetos e Qualidade de Software. Prof. Walter Gima

Engenharia de Software II

Garantia da Qualidade, Medição e Melhoria. Leonardo Gresta Paulino Murta

ENGENHARIA DOS REQUISITOS

Princípios da Engenharia de Software aula 03

Campus Capivari Análise e Desenvolvimento de Sistemas (ADS) Prof. André Luís Belini /

P R O C E SSO D E D E S E N VOLVIMENTO D E S O F T WAR E

QUALIDADE DE SOFTWARE DEFINIÇÕES / RESUMO. Apostilas de NORMAS, disponíveis no site do professor. Prof. Celso Candido ADS / REDES / ENGENHARIA

Indicadores de Desempenho

Processos de software

Tipos de Indicadores. Conceito. O que medir... 25/08/2016

PSP: Personal Software Process. PSP- Personal Software Process. PSP: Personal Software Process. PSP: Personal Software Process

Introdução a Teste de Software

QUALIDADE DE SOFTWARE. Prof. Emiliano Monteiro

PROCESSO DE DESENVOLVIMENTO DE SOFTWARE

Data Warehouse ETL. Rodrigo Leite Durães.

Apresentação QoS ATM Arquitetura Elementos Funcionais Conclusão

Documentação de Software. Simone Vasconcelos

Medidas de Esforço de Desenvolvimento de Software

Plano de Projeto. Tema 3. Gerência de Projetos Profa. Susana M. Iglesias

Gerência de Projetos e Qualidade de Software. Prof. Walter Gima

Campus Capivari Análise e Desenvolvimento de Sistemas (ADS) Prof. André Luís Belini /

Padrão para Especificação de Requisitos de Produto de Multimídia

Gerenciamento da Integração de Projetos. Parte 03. Gerenciamento de Projetos Espaciais CSE-301. Docente: Petrônio Noronha de Souza

PROCESSO DE DESENVOLVIMENTO DE SOFTWARE

Processo de Desenvolvimento de Software

AVALIAÇÃO DE PRODUTOS DE SOFTWARE

Aula I -Introdução à Instrumentação Industrial

Engenharia de Software e Gerência de Projetos Prof. Esp. André Luís Belini Bacharel em Sistemas de Informações MBA em Gestão Estratégica de Negócios

Requisitos de Sistemas

Questionário de Pesquisa. Prezado Participante,

Engenharia de Software.

Universidade Federal de Ouro Preto Instituto de Ciências Exatas e Biológicas Departamento de Computação Medições e Métricas de Software

SSC546 Avaliação de Sistemas Computacionais Parte 1 -Aula 3 Sarita Mazzini Bruschi

UNIVERSIDADE FEDERAL DO PARANÁ UFPR BACHARELADO EM CIÊNCIA DA COMPUTAÇÃO

Introdução INTRODUÇÃO AO SWEBOK. Origens do corpo de conhecimentos da Engenharia de Software: Introdução a Computação e Engenharia de Software

TECNOLOGIA EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS ANÁLISE E PROJETO DE SISTEMAS. Aula 5. Agenda

ISO/IEC 12207: Manutenção

Gestão da Tecnologia da Informação

Treinamento e Desenvolvimento

GERENCIAMENTO DA QUALIDADE DO PROJETO

Escopo: PROCESSOS FUNDAMENTAIS

RUP RATIONAL UNIFIED PROCESS PRÁTICAS RECOMENDADAS. Prof. Fabiano Papaiz IFRN

Qualidade de Software. Profa. Cátia dos Reis Machado

Business Case (Caso de Negócio)

Criando o orçamento do projeto. Planejamento e Controle de Projetos 5 TADS FSR. Princípios básicos do orçamento. WBS (Work Breakdown Structure)

TS04. Teste de Software PLANOS DE TESTE. COTI Informática Escola de Nerds

TESTES DE SOFTWARE Unidade 1 Importância do Teste de Software. Luiz Leão

Planejamento dos Riscos

Verificação e Validação

Organização para Realização de Teste de Software

Definição / Abordagem de Processos

Prof. Luiz A. Nascimento

Disciplina: Processos Organizacionais Líder da Disciplina: Rosely Gaeta NOTA DE AULA 05 FERRAMENTAS E MÉTODOS PARA A RACIONALIZAÇÃO DOS PROCESSOS

Planejamento e Controle de Projetos 5 TADS FSR. Prof. Esp. André Luís Belini

Levantamento, Análise e Gestão Requisitos. Aula 02

O Que Veremos. Introdução. Introdução. Definindo Desempenho. Definindo Desempenho. Avaliando e Compreendendo o Desempenho

Curso de Engenharia Industrial Madeireira UFPR Prof. Umberto Klock

Nomenclatura usada pela série ISO Série ISO 9000

Aumentando a Produtividade e Reduzindo os Custos da Fábrica. Antonio Cabral

Engenharia de Software II

Qualidade de Software QUALIDADE DE SOFTWARE PRODUTO

Transcrição:

Campus Capivari Análise e Desenvolvimento de Sistemas (ADS) Prof. André Luís Belini E-mail: prof.andre.luis.belini@gmail.com / andre.belini@ifsp.edu.br

MATÉRIA: QUALIDADE DE SOFTWARE Aula N : 02 Tema: Métricas Visão Geral Tópico do Plano de Ensino: 02

MÉTRICAS: VISÃO GERAL Nenhuma investigação humana pode realmente ser chamada ciência se não puder ser demonstrada matematicamente. Leonardo da Vinci

PAPEL DOS NÚMEROS A administração de um projeto envolve o uso correto de informação: o administrador trabalha cercado de especificações de projeto, diagramas, orçamentos e cronogramas. Além desses, existem muitos outros dados que não aparecem rotineiramente nas descrições, mas que são igualmente importantes. Existem três aspectos a considerar a propósito dessas informações:

PRIMEIRO ASPECTO Um primeiro aspecto é que, dentro dessa massa de dados, a importância de um ou outro elemento é algo que depende do problema sendo resolvido a um dado instante. Exemplo desse erro, é fixar a atenção ao cronograma do projeto e julgar a evolução do trabalho apenas com base no que foi preestabelecido. Uma razão para que isso não funcione é a complexidade de produção de um determinado código e a percepção dessa complexidade por pessoas distintas.

SEGUNDO ASPECTO O segundo aspecto é a importância dos registros escritos. O conhecimento informal pode ser tão importante quanto aquele que estiver registrado; este último, no entanto, pode ser examinado e analisado por toda a equipe de projeto e a qualquer momento.

TERCEIRO ASPECTO Os números têm um caráter particular: permitem análises, comparações e combinações que são impossíveis de fazer com outros tipos de informações. Há, contudo, um certo risco ligado ao uso de números: uma equação, apesar de verdadeira, pode não representar toda a verdade sobre a administração. É vital perceber que se deve administrar usando os números, sem ser administrado por eles.

FONTES DE RUÍDOS Quando se procura medir o comportamento de um programa é preciso considerar diversos fatores que podem interferir no resultado: CPU utilizada e quantidade de memória disponível; Configuração do software e do S.O. Velocidade de periféricos e desempenho de seus caches; Efeitos causados por outros programas em execução paralela.

INFLUÊNCIA DO USUÁRIO Há diversos fatores que determinam como as pessoas agem. É preciso identificar essas fontes de influência, pois podem mudar os resultados de um teste. Entre eles, podemos citar: Habilidades motora e cognitiva; Nível de atenção; Motivação para realizar a tarefa; Problemas como desconforto ou fatores ambientais que reduzam a atenção.

INFLUÊNCIA DO HARDWARE Diversas medições são influenciadas por ruídos, sendo o exemplo mais comum os benchmarks para avaliar o desempenho de uma máquina, como as medidas de MFLOPS (milhões de operações em ponto flutuante por segundo). Os resultados obtidos por esses testes oferecem valores médios de comportamento e refletem, em geral, a tendência das respostas do hardware e não são números absolutos.

MEDIDAS E ESTIMATIVAS Existe uma diferença entre medir e estimar que, em software, pode ser muito sutil. Existem casos em que as medidas não são capazes de fornecer uma informação direta sobre a característica avaliada, como por exemplo, tentar avaliar quão fácil é usar uma determinada interface, portanto, estimativas. Outro exemplo, dois arquivos de vídeo com um minuto, que podem ter medidas de tamanho completamente diferentes, no entanto, pode ser medidos com precisão.

CARÁTER ESTÁTICO OU DINÂMICO Uma medida é estática quando pode ser efetuada com base em uma fonte de informação qualquer a respeito do software, como diagramas, textos contendo requisitos ou mesmo código-fonte. A medida é dinâmica quando só pode ser obtida a partir da execução do produto em uma máquina.

CARÁTER QUALITATIVO OU QUANTITATIVO As características qualitativas estão associadas a uma noção de intensidade, como muito ou pouco e com um adjetivo como agradável. O fato de um requisito ser não numérico dificulta a realização de uma síntese dos dados. Dados quantitativos são objetivos, mensuráveis independente de interpretações.

CONCLUSÕES COM BASE EM NÚMEROS Dados numéricos são muito importantes para o gerenciamento de projetos. Trabalhar com números em vez de avaliações qualitativas reduz a possibilidade de erros de avaliação, que podem levar a decisões errôneas com consequências negativas ao projeto.

COMPARE AS FRASES 1. O software apresentou resultados muito bons nos testes. 2. O software obteve um valor 5,3 para a medida número 3 da qualidade.

DADOS HISTÓRICOS O gerenciamento de qualidade baseado em métricas estará incompleto enquanto não houver um registro desses dados para todos os projetos executados. Os dados históricos são aqueles obtidos em projetos anteriores e reveladores do desempenho da empresa.

DADOS HISTÓRICOS Os dados históricos são essenciais para uma administração precisa de projetos. A gerência baseada em dados quantitativos representa um nível refinado de trabalho e é preconizada por um modelo sendo adotado atualmente no mundo todo o CMMI.

MÉTRICAS EM REQUISITOS No processo de Gestão de Requisitos, podemos coletar métricas como: Requisitos incluídos: indica a proporção de requisitos de um projeto que são adicionados aos requisitos estabelecidos inicialmente. Requisitos cancelados: indica a proporção de requisitos de um projeto que são anulados.

MÉTRICAS EM REQUISITOS Requisitos aprovados: indica a proporção de requisitos de um projeto que são aprovados pelo cliente antes de finalizar o desenho. Requisitos alterados: indica a proporção de requisitos de um projeto que se modificam Estabilidade de requisitos: mostra um valor de estabilidade dos requisitos no momento da medição, a partir do cálculo de fatores que influenciam na instabilidade.

MÉTRICAS EM TESTES No processo de Testes, podemos coletar métricas como: Volume de erros por etapa: A estabilidade mostra um nível de confiança do software testado que serve como critério para a validação de um módulo, processo ou sistema. Conforme as correções dos erros, a taxa de defeitos por caso de teste vai diminuindo. Gestão de Incidências: Mostra o grau de resolução das incidências detectadas por parte da equipe de projeto. Um valor baixo na Gestão de Incidências supõe um nível alto de incidências não resolvidas e, por tanto erros no software.

MÉTRICAS EM GESTÃO DE CONFIGURAÇÃO No processo de Gestão de Configuração, podemos coletar métricas como: Evolução do Software: indica a evolução do software para cada fase do projeto, baseado no volume de modificações que se produzem no software. Esta métrica indica como se evolui o software gerado comparado com as fases do projeto.

MÉTRICAS EM GESTÃO DA QUALIDADE No processo de Gestão da Qualidade, podemos coletar métricas como: Estabilidade do Software: indica o número de erros detectados. Determina a qualidade dos sistemas em produção, baseado no número de erros detectados no período. Gestão de Não Conformidades: indica o número de não conformidades gerenciadas, não gerenciadas, moderadas, graves e leves.

BENEFÍCIOS DA MÉTRICA EM PROJETOS Redução das atividades que não agregam valor ao produto e que está sendo desenvolvido. Melhoria na gestão de recursos. Aumento na eficiência dos serviços prestados. Conhecimento da produtividade do projeto. Verificar se os recursos são adequados ao projeto. Avaliar o rendimento da codificação e avaliar se um produto está conforme aos critérios acordados com o cliente.

BENEFÍCIOS DA MÉTRICA PARA OS NEGÓCIOS Identificar oportunidades de melhoria. Fomentar a visão da empresa. Aumentar o retorno de investimento. Melhorar a satisfação do cliente. Melhorar a posição da empresa no mercado. Melhorar a visibilidade sobre a situação dos projetos, baseada em dados objetivos Os processos que poderiam ajudar

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 Gerenciar contratos de 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 Avaliar retorno de investimento

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 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

PROPRIEDADES DESEJÁVEIS 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 Sugere uma estratégia de melhoria

CATEGORIZAÇÃO DE MÉTRICAS 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

CATEGORIZAÇÃO DE MÉTRICAS 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, no. páginas de documentação, no. 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.

CATEGORIZAÇÃO DE MÉTRICAS Métricas de produtividade Concentram-se na saída do processo de engenharia de software. Ex.: no. de casos de uso/iteração. Métricas de qualidade Oferecem uma indicação de quanto o software se adeqüa às exigências implícitas e explícitas do cliente. Ex.: erros/fase Métricas técnicas Concentram-se nas características do software e não no processo por meio do qual o software foi desenvolvido. Ex.: complexidade lógica e grau de manutenibilidade

POSSÍVEIS PROBLEMAS COM MÉTRICAS 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? Comparar a produtividade do processo de software?

TEORIA DA MEDIÇÃO Teoria sobre métricas pode ajudar a resolver estes problemas.

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 altura das pessoas Binária: O Super-homem é mais alto do que papai Noel Unária: O Super-homem é alto Ternária: O Super-homem é mais alto do que papai Noel e mamãe Noel

MEDIDA Medida é uma função de mapeamento

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 altura das pessoas? Faixa: A medida da altura foi feita em m ou cm? Regras de mapeamento: Será permitido medir altura considerando pessoas calçadas?

ESCALA Representa os símbolos na faixa de uma medida mais as manipulações permitidas Ex. de manipulações: Mapeamento: transformar símbolos em um conjunto em outros símbolos em outro conjunto. {verdadeiro, falso} {1, 0}

OS QUATROS PAPÉIS DE MEDIÇÃO Segundo Humphrey, são quatro os principais papéis de Medições de Software: Entender Controlar Processos, Produtos e Serviços de Software Avaliar Prever

OS QUATROS PAPÉIS DE 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 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

PRINCÍPIOS DE UM PROCESSO DE MEDIÇÃO Um processo de medição deve: Fornecer uma base para melhoria contínua do processo Quantificar a qualidade e produtividade Estar integrado com o ciclo de vida de desenvolvimento Medir o impacto de vários métodos, ferramentas, e técnicas de melhorias

PRINCÍPIOS DE UM PROCESSO DE MEDIÇÃO Medições devem ser usadas para medir processos, não pessoas O processo de medição deve ter objetivos claros e bem-definidos O processo de medição deve ser fortemente acoplado com o processo de gerência da qualidade e integrado dentro de planos e orçamentos

PRINCÍPIOS DE UM PROCESSO DE MEDIÇÃO O processo de coleta de dados deve ser simples, e ferramentas automáticas para extração de dados devem ser usadas O processo de medição é contínuo e sujeito a melhoria

CARACTERÍSTICAS DE UM PROGRAMA EFETIVO DE MEDIÇÃO Escolha um conjunto adequado de métricas Relacione as métricas ao processo de tomada de decisão (suportado pela alta administração) Avalie processos e não pessoas (explique os objetivos da medição) Não use as métricas para punir Envolva várias pessoas na seleção e formulação das métricas Estabeleça alta prioridade (recursos, ferramentas, etc.) Integre o programa ao desenvolvimento de software

CARACTERÍSTICAS DE UM PROGRAMA EFETIVO DE MEDIÇÃO Alinhe aos objetivos de negócio Padronize e documente Compartilhe as métricas obtidas Institucionalize como parte da cultura da organização Integre com o programa de melhorias (ilustre o progresso e as melhorias obtidos a partir do programa) Ofereça planos de ação

PLANO DE MÉTRICAS Para cada objetivo técnico o plano contém informação sobre: POR QUE as métricas satisfazem o objetivo QUE métricas serão coletadas, como elas serão definidas, e como serão analisadas QUEM fará a coleta, quem fará a análise, e quem verá os resultados COMO será feito: que ferramentas, técnicas e práticas serão usadas para apoiar a coleta e análise das métricas QUANDO no processo e com que frequência as métricas serão coletadas e analisadas ONDE os dados serão armazenados

ESTIMATIVAS DE SOFTWARE Por que é tão difícil estimar? É difícil conhecer se é possível desenvolver o produto desejado pelo cliente antes de conhecer os detalhes do projeto.

POR QUE É TÃO DIFÍCIL ESTIMAR? Desenvolvimento é um processo gradual de refinamento Incerteza da natureza do produto contribui para a incerteza da estimativa Requisitos e escopo mudam Defeitos são encontrados e demandam retrabalho Produtividade varia

O PROCESSO DE ESTIMATIVAS Estimar o tamanho do produto Estimar o esforço Estimar o prazo Fornecer estimativas dentro de uma faixa permitida e refinar essa faixa à medida que o projeto progride

TIPOS DE ESTIMATIVAS Tamanho Quantidade de software a ser produzida Ex. número linhas de código, no. pontos de função, número de requisitos, pontos de casos de uso Esforço Derivado da estimativa de tamanho Ex. dividindo a estimativa de tamanho por produtividade produz-se o esforço

TIPOS DE ESTIMATIVAS Prazo Geralmente são dirigidos a datas fornecidas pelo Cliente Qualidade Medidas de resultados Ex. defeitos por fase, esforço de mudanças

EXERCÍCIOS / ATIVIDADES PARA DISCUSSÃO EM GRUPO 1. Sugira métricas para comparar programas de compactação de arquivos quanto a velocidade e espaço. Suas métricas são medidas ou estimativas? 2. A medida de rendimento de um carro em km/l sofre influência de ruídos? Explique sua resposta.

REFERÊNCIAS BIBLIOGRÁFICAS KOSCIANSKI, André. Qualidade de Software: aprenda as metodologias e técnicas mais modernas para o desenvolvimento de software. 2º Ed. São Paulo: Novatec Editora, 2007. SILVEIRA, Sarah Gonçalves. Métricas na Qualidade de Software. Disponível em: http://www.tiegestao.com.br/2013/06/30/metricas-naqualidade-de-software/. Acessado em 15/01/2016 VASCONCELOS, Alexandre. Introdução a Métrica de Softwares. Disponível em: www.cin.ufpe.br/~if720/slides/introducao-a-metricas-desoftware.ppt. Acessado em 15/01/2016

DÚVIDAS? PERGUNTAS? ANGÚSTIAS? AFLIÇÕES?

Prof. André Luís Belini E-mail: prof.andre.luis.belini@gmail.com / andre.belini@ifsp.edu.br Blog: http://profandreluisbelini.wordpress.com/ Página: www.profandreluisbelini.com.br