Você está na página 1de 39

Mtricas de Software

Prof. Joo Alexandre Bonin de Mello alexandre@unipar.br

Exerccio Rpido
Cronograma de Desenvolvimento para uma Videolocadora

Exerccio Rpido
Cronograma de Desenvolvimento para uma Videolocadora

Como Planejar o Processo de Software?

Como medir um projeto de software...

O mtodo de estimativas mais comum

Conceito Holstico Unilateral para Tipificao Estrutural

Chaos Report, 2009 The Standish Group

Entendendo o grfico
Sucesso Sucesso parcial Fracasso Projeto dentro do prazo, dentro do oramento e com boa parte do escopo Projeto funcionando, mas entregue sem atender ou custo, ou esforo ou com o escopo parcial Projetos cancelados ou no utilizados

Caractersticas dos Projetos de Sucesso


Envolvimento do usurio: 15.9% Apoio executivo: 13.9% Declarao de requisitos clara e limpa: 13% Equipe competente: 7.2% Trabalho duro e equipe focada: 2.4%

Caractersticas dos Projetos de Sucesso


Planejamento apropriado: 9.6% Expectativas realistas: 8.2% Milestones pequenos: 7.7%

Fatores Ligados Gerncia de Projetos

Fatores que levaram ao fracasso dos projetos


Falta de insumos do usurio: 12.8% Requisitos & Especificaes incompletas: 12.3% Mudanas nos requisitos & especificaes: 11.8% Falta de apoio executivo: 7.5% Ambiente tecnolgico incompleto: 7.0% Novas tecnologias: 3.7%

Fatores que levaram ao fracasso dos projetos


Falta de recursos: 6.4% Fatores Ligados Gerncia de Projetos Expectativas irrealistas: 5.9% Objetivos nebulosos: 5.3% Ciclos (tempo) irrealistas: 4.3%

O problema da falta de planejamento em projetos de software Parte conhecida

Parte desconhecida

Logo...
Os fatores crticos de sucesso mais importantes so gerenciais e no tecnolgicos

A curva do pnico
Previsto
Produo

Realizado

Tempo

Radiografia de um projeto em crise


Reduzir as funcionalidades Aumentar a equipe Treinar os novos membros Atraso no projeto Bugs Renegociar o prazo Reduzir o investimento em qualidade

Por que medir


Conhecer a qualidade do produto Avaliar a produtividade dos que desenvolvem o produto Estimar esforo, tempo e custos Formar uma base para novas as estimativas

Por que medir


Avaliar matematicamente a adoo de: Novas metodologias Novas tecnologias

Classificao das medidas

Diretas

Indiretas

Medidas Diretas
Custo Esforo Tempo Tempo mdio entre falhas Utilizao de Memria

Medidas Diretas
Custo Esforo Medidas Custo Tempo mdio entre falhas Utilizao de Memria

Medidas Indiretas
Funcionalidade Qualidade Indicadores Complexidade Custo Manutenibilidade Confiabilidade

Medidas Diretas
Indicao quantitativa da extenso, quantidade, dimenso, capacidade ou tamanho do produto ou do processo

Medida

Indicador

Mtrica ou a combinao delas, que fornece compreenso do processo de software, de um projeto ou do produto

Classificao das Mtricas de Software


Baseadas na sada do processo de desenvolvimento do software Avaliam o prprio processo

Mtricas de Produtividade

Classificao das Mtricas de Software

Mtricas de Qualidade

Indicam o nvel de resposta do software s exigncias do cliente

Classificao das Mtricas de Software


Indicam aspectos indiretos Mtricas Tcnicas Funcionalidade Manutenibilidade Modularidade

Classificao das Mtricas de Software


Mtricas de Produtividade

Por finalidade

Mtricas de Qualidade

Mtricas Tcnicas

Classificao das Mtricas de Software


Medidas diretas do software implementado Mtricas Orientadas ao Tamanho Dependem da tecnologia Contagem das linhas de cdigo No aplicvel a estimativas

Classificao das Mtricas de Software


Medem o software do ponto de vista do cliente Mtricas Orientadas Funo Independem da tecnologia Aplicveis estimativas Pontos por funo Pontos por casos de uso

Classificao das Mtricas de Software


Medem o que foi requisitado e recebido pelo cliente Mtricas Orientadas Funo Permitem extrair indicadores de qualidade e produtividade Permitem comparar metodolgias e tecnologias

Exemplos de Mtricas
Linhas de cdigo (KLOC) Pontos por funo (FP) Pontos por Caso de Uso (UCP) Tempo mdio entre falhas (MTBF) Instabilidade dos requisitos

Exemplos de Indicadores
Defeitos injetados por ponto de funo Rendimento do programador por ponto de funo Rendimento do programador por UCP Instabilidade dos requisitos x tamanho funcional Linhas de cdigo x tamanho funcional

O objetivo das medies em software


Entender Controlar

Processos, Produtos e Servios de Software


Avaliar Prever

Por que medir

O ciclo de medio de software


Planejar Implementar Medir

Decidir

Analisar

Processo de Medio

Adequado Caractersticas Bsicas Factvel Gradual

Objetivos de um processo de medio


Fornecer uma base para melhoria contnua do processo Quantificar a qualidade e produtividade Integrado com o ciclo de vida de desenvolvimento Capaz de medir o impacto de vrios mtodos, ferramentas, e tcnicas de melhorias

Princpios de um Processo de Medio


Medir processos e no pessoas

Objetivos claros, bem definidos e divulgados Fortemente acoplado com o processo de gerncia da qualidade e integrado dentro de planos e oramentos

Concluso
Se voc no sabe o quanto ainda precisa ser feito: Voc no sabe onde est. Voc no sabe para onde ir. Voc no sabe quando ir terminar.