Você está na página 1de 42

Gerncia de Projetos: Mtricas de Software

Engenharia de Software
Ins Ap.G.Boaventura
1o Semestre/2001

Tpicos
- O processo de gerncia de software
- Iniciando um projeto de software - Mtricas e Medidas - Estimativa - Anlise dos Riscos - Determinao dos Prazos - Monitorao e controle

- Metricas e Modelos de Software

O Processo de gerncia de projetos


A gerncia a primeira camada do processo de engenharia de software Para um trabalho bem sucedido deve compreender: o trabalho a ser feito os riscos envolvidos os recursos exigidos

as tarefas a serem executadas


os marcos de referncia a serem acompanhados o esforo necessrio
3

Iniciando um projeto de software


Antes que um projeto possa ser planejado deve-se:

Estabelecer os objetivos e o escopo do projeto.

Considerar solues alternativas.


Identificar as restries administrativas e tcnicas.

Mtricas e Medidas
O controle impossvel sem medies e feedback. No se pode controlar o que no se pode medir A extenso do controle depende da preciso da medio. Qualquer coisa que no se pode medir est fora de controle. Medies e Metricas ajudam a entender: o processo tcnico usado para se desenvolver um produto 5 o prprio produto

Mtricas e Medidas
Produto medido para avaliar a sua qualidade Processo medido para melhor-lo

Medio documentao de efeitos passados


Uso previso de quantificao de efeitos futuros (As estatsticas no podem prever, mas podem deduzir)
A medio e a inferncia estatstica so usadas em vrias reas para projetar o desempenho futuro.
6

Mtricas e Medidas
Medio pode levar a controvrsias e discusses.
Que mtricas usar? Como os dados compilados devem ser usados? justo usar medies para se comparar pessoas, processos e produtos?

Estimativas
Estimativa uma das planejamento de software. Estima-se: principais atividades do

1. Esforo humano exigido 2. Durao cronolgica do projeto 3. Custo

Estimativa a essncia da dificuldade em controlar projetos de software


8

Estimativas
Causas de estimativas de software mal feitas Falta de especializao em estimativas (falta de treino) Falta de se fazer provises adequadas para contrabalanar o efeito das distores.
preciso muito pouco envolvimento do ego para estimativas mais realistas.

Falta de conhecimento exato sobre o que vem a ser uma estimativa. Falta de habilidade com os problemas polticos
norma: estimativas devem ser usadas para criarem incentivos

Falta de informaes teis para o processo de estimativas


9

Estimativas
Atributos comuns de tcnicas de estimativas: o escopo do software deve ser estabelecido antecipadamente. mtricas de software so utilizadas. histrico de medidas passadas usado como uma base. o projeto particionado em pequenas partes que so estimadas individualmente .

10

Anlise dos Riscos


Aspecto crucial para um bom gerenciamento de
projeto de software. - riscos tcnicos - riscos em extrapolar o tempo previsto - desvio do cronograma e custo. Riscos so reas de incertezas
11

Anlise dos Riscos


Gerenciamento de projeto eficaz envolve
identificar as reas de risco e administr-las adequadamente:
- avaliao dos riscos - coloc-los em ordem de prioridade - estabelecer estratgias de administrao dos riscos - resoluo dos riscos - monitorao dos riscos
12

Determinao de Prazos
Envolve as seguintes atividades:
Planejamento da programao a ser realizada Identificao do conjunto de tarefas de projeto Estabelecimento das interdependncias entre as tarefas Estimativa do esforo associado a cada tarefa Atribuio de pessoas e outros recursos para a realizao e tarefas especficas.

13

Monitorao e Controle
Atividades que iniciam logo aps o estabelecimento da programao de desenvolvimento:
Rastreamento no programa de desenvolvimento. Determinao do impacto do no cumprimento dos prazos. Redirecionamento de recursos, reorganizao de tarefas, modificao nos compromissos de entrega.

14

Mtricas e Modelos de Software


Medir fundamental em qualquer disciplina de engenharia. Mtricas de software - referem-se a uma ampla variedade de medidas de software de computador

Para o gerenciamento - objetivo produtividade e a qualidade

medir

Planejamento e estimativa - medida histrica (experincias em projetos passados)

15

Medidas Subjetivas e Objetivas


medidas subjetivas baseadas em idias individuais sobre o que deveria ser a mtrica. O resultado ser diferente com diferentes observadores.
medidas objetivas - ou algoritmicas - aquela que ode ser calculada precisamente de acordo com um algoritmo. Seu valor no se altera devido a alteraes no tempo, local ou observador
16

Mtricas do processo e mtricas do produto


Medidas de caractersticas do software podem ser til ao longo de todo o ciclo de vida do software Mtricas so frequentemente classificadas como mtricas do processo ou mtricas do produto, e so aplicadas durante o processo de desenvolvimento ou ao prodduto de software desenvolvido.

17

Mtricas do Processo
Quantificam atributos do processo de desenvolvimento e do ambiente de desenvolvimento. Mtricas de recursos: experincia do programador,;custo
de desenvolvimento e manuteno.

Mtricas para o nvel de experincia do pessoal:


nmero de anos que uma equipe est usando uma linguagem de programao; nmero de anos que um programador est na organizao; etc. Outros fatores relacionados ao desenvolvimento incluem: tcnicas de desenvolvimento. auxlio para programao. tcnicas de superviso, etc.
18

Mtricas do Produto
So medidas do produto de software. Podem no revelar nada sobre como o software foi desenvolvido. Incluem: O tamanho do produto (linhas de cdigo, etc.).
A complexidade da estrutura lgica (recurso, fluxo de controle e profundidade de laos aninhados).
A complexidade da estrutura de dados.

Funes (tais como tipo de software: comercial, cientfico, etc.).

19

Mtricas do processo e do produto


Pode ser difcil classificar uma mtrica.
Exemplo: o nmero de defeitos descobertos duranete o teste formal depende do produto (nmero de segmentos de cdigo que esto errados) e do processo usado na fase de teste (a extenso do teste).

20

Mtricas diretas e mtricas indiretas


Medidas diretas do processo de engenharia de software custo e esforo aplicados. Medidas diretas do produto
Nmero de linhas de cdigo produzidas. velocidade de execuo. tamanho de memria. Nmero de defeitos registrados em um tempo especificado.

Medidas indiretas do produto


qualidade funcionalidade complexidade eficincia confiabilidaade manutenibilidade, etc.

21

Mtricas de Software - Uma classificao


A) Mtricas Orientada ao Tamanho

So medidas diretas do software e do processo por meio do qual ele desenvolvido.


magnitude) de um programa: quantidade de armazenamento. nmero de tokens.
22

Existem vrias maneiras de representar o tamanho (ou


memria necessria para

nmero de linhas de cdigo.

Mtricas de Software mtricas orientadas ao tamanho


A.1) Linhas de Cdigo

Definio: uma linha de cdigo qualquer linha do texto de um programa, exceto comentrios e linhas em branco, sem levar em conta o nmero de comandos ou fragmentos de comandos em uma linha. Esto includas na definio de linhas de cdigo todas as linhas que contm cabealho do programa, declaraes e comandos executveis.

23

Mtricas de Software mtricas orientadas ao tamanho


A.1) Linhas de Cdigo

Vantagens:
fcil de calcular. o fator mais importante para muitos modelos de estimativa.

Desvantagens:
Dependente da linguagem de programao.

Penalizam programas bem estruturados, porm mais curtos


O uso em estimativas requer um nvel de detalhes que pode ser difcil de conseguir
24

Mtricas de Software mtricas orientadas ao tamanho


A.1) Contagem de Tokens (Cincia de Software de Halsteaad)

Definio:
Um programa considerado como sendo uma coleo de tokens que podem ser classificados como operando e operadores.
Mtricas bsicas definidas como:
n1 = nmero de operadores nicos n2 = nmero de operandos nicos N1 = nmero total de operadores N2 = nmero total de operandos

25

Mtricas de Software - mtricas orientadas ao


tamanho
A.1) Contagem de Tokens (Cincia de Software de Halsteaad)
Operadores: -smbolos e palavras chaves que especificam uma ao - pontuaes -simbolos aritmticos - comandos - smbolos especiais Tamanho (em termos de tokens) = Operandos: -smbolos que representam dados - variveis -constantes - rtulos

- nomes de funes

N = N1 + N 2
Vocabulrio = n1 + n2
26

Mtricas de Software - uma classificao


B) Mtricas orientadas funo

So medidas indiretas do software.

Concentram-se na funcionalidade ou utilidade do programa. Funo : coleo de comandos executveis que realizam uma certa tarefa.

27

Mtricas de Software - mtricas orientadas funo


B.1) Mtodo do Ponto por Funo (Albrecht)

Os pontos por funo (FPs) so derivados usando-se uma relao emprica baseada em medidas de informaes e complexidade de software.

Cinco caractrsticas do domnio da informao so consideradas:


Nmero de entradas do usurio Nmero de sadas do usurio

Nmero de consultas do usurio


Nmero de arquivos (ou nmero de agrupamentos lgicos em um BD) Nmero de interfaces externas
28

Mtricas de Software - mtricas orientadas funo


B.1) Mtodo do Ponto por Funo (Albrecht)
Parmetro de Medida Nmero de entradas do usurio Contagem Fator Simples X 3 de Mdio 4 Ponderao Complexo 6 =

Nmero de sadas Do usurio Nmero de consultas Do usurio Nmero de arquivos Nmero de interfaces Externas

X 4

X 3 X 7

4 10

6 15

= =

X 5

10

Contagem total

29

Mtricas de Software - mtricas orientadas funo

B.1) Mtodo do Ponto por Funo (Albrecht)


Para computar os pontos por funo, a seguinte relao usada:
FP = contagem total [0.65 + 0.01 X SOMA(Fi) onde Fi (i = 1 a 14) so valores de ajuste da complexidade

Os valores da equao e os fatores de peso so determinados empiricamente.


30

Mtricas de Software - mtricas orientadas funo


Pontue cada fator numa escala de 0 a 5 Fi: 1. 2. 3. 4. 5. O sistema requer backup e recuperao confiveis? So exigidas comunicaes de dados? O desempenho crtico? H funes de processamento distribuda? O sistema funcionar em um ambiente operacional existente, intensivamente utilizado? 6. O sistema requer muitas entradas de dados? 7. Existe muita interao homem-mquina? 8. A entrada, sada, arquivos ou consultas so complexos? 9. O processamento interno complexo? 10.converso e instalao esto includas no projeto? 11. O sistema projetado para mltiplas instalaes em diferentes organizaes? 12. A aplicao projetada de forma a facilitar mudanas e o uso pelo usurio? 13. O sistema requer muita entrada de dados? 14. Existe muita atualizao de arquivos on-line?
31

Mtricas de Software - mtricas orientadas funo


Vantagens:
FP independente da linguagem de programao. Baseia-se em dados que tem mais chance de serem conhecidos logo no incio de um projeto.

Desvantagens:
baseado em dados subjetivos.

Dados do domnio da informao so difceis de serem compilados a posteriori.


FP no tem nenhum significado fsico
32

Mtricas de Qualidade de Software


Qualidade pode ser medida ao longo do processo de
engenharia de software e depois que o software fi entregue ao cliente. Mtricas derivadas antes da entrega do produto - base quantitativa para tomadas de deciso referentes a projeto e testes:
complexidade do programa modularidade efetiva

33

Mtricas de Qualidade de Software


Mtricas usadas aps a a entrega do produto - do ao gerente e ao pessoal tcnico uma indicao postmortem da efetividade do processo de engenharia de software. Concentram-se :
- no nmero de defeitos descobertos - na manutenibilidade do sistema

34

Mtricas de Qualidade de Software


O sofware deve ser avaliado a partir dos trs pontos de vista :
(1) Operao do Produto

(2) Reviso do Produto (mudando-o) (3) Transio do Produto (mudando-o para funcionar em outro ambiente - migrando-o)

35

Algumas medidas da Qualidade


Corretitude
Definio : o grau em que o software executa a funo que dele exigida.
Medida mais comum: defeitos/KLOC defeito: falta verificada de conformidade aos requisitos. Contado ao longo de um perodo de tempo padro

36

Algumas medidas da Qualidade


Manutenibilidade
Definio : a facilidade com que um programa pode ser corrigido se um erro for encontrado, adaptado se o sei ambiente se modificar ou ampliado se o cliente desejar novas funcionalidades.
Medida mais comum: tempo mdio para a mudana tempo para entender a mudana, para projetar uma alterao adequada, implementar a mudana, test-la e coloc-la em operao.

37

Algumas medidas da Qualidade


Integridade
Definio : mede a capacidade que um sisema tem de suportar ataques (acidentais ou intencionais) sua integridade. Ataques podem ser feitos tanto aos programas, dados e documentos
Medida: Integridade = [ 1- ameaa X (1 - segurana) ] ameaa - probabilidade de que um ataque de um tipo ocorrer dentro de determinado tempo. segurana - probabilidade de que o ataque de um tipo especfico ser repelido. Ambas so estimada ou derivada a partir de evidncia emprica

38

Algumas medidas da Qualidade


Usabilidade
Definio : usabilidade uma tentativa de medir o quanto um programa e amigavl ao usurio (user friendliness) e pode ser medida segundo quatro caractersticas:
(1) Habilidade fsica/e ou intelectual para se aprender a trabalhar com o sistema (2) Aumento da produtividade sobre a abordagem que o sistema substitui. (3) O tempo exigido para se tornar moderadamente eficiente no uso do sistema (4) Avaliao subjetiva dos usurios em relao ao sistema.
39

Integrao de mtricas no processo de Engenharia de Software


A realizao de medies uma atividade incomum => o problema cultural
Razes para medir o processo de engenharia de software:

Medir importante para determinar melhorias (se no estamos melhorando estamos perdidos). A medio faz parte de uma srie de medicaes que podem ajudar a aflio de software. A medio torna as questes de estimativas de projeto, a garantia de qualidade e produtos mais econmicos e desenvlovidos no prazo mais admistrveis A nvel tcnico, medies so importantes para determinar parmetros como quantidade de teste necessrio e impacto 40 de mudanas.

Estabelecimento de uma linha bsica (baseline)


Linha bsica dados compilado de projetos passados de desenvolvimento de software. Linha bsica de mtricas benefcios em nvel estratgico, tcnico e de projeto. Diretrizes para a coleta de dados histricos: Devem ser precisos (evitar chutes) Devem ser obtidos do maior nmero de projetos possvel As medies devem ser consistentes As aplicaes devem ser idnticas ao trabalho que ser estimado
41

Coleta, computao e avaliao das mtricas


So os passos para se comear um programa de mtricas Linha bsica (banco de dados contendo medies do processo e do produto) - capacitam os profissionais de software e gerentes ter uma melhor viso do trabalho que realizam e do produto que produzem.
Processo de engenharia de software Coleta dos Software dados Computao das mtricas

Gerentes Avaliao dos dados Profissionais

42