aula4

42
1 Gerência de Projetos: Métricas de Software Engenharia de Software Inês Ap.G.Boaventura 1 o Semestre/2001

Upload: elenildo-barros

Post on 18-Aug-2015

156 views

Category:

Documents


3 download

TRANSCRIPT

  1. 1. 1 Gerncia de Projetos: Mtricas de Software Engenharia de Software Ins Ap.G.Boaventura 1o Semestre/2001
  2. 2. 2 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 .
  3. 3. 3 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
  4. 4. 4 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.
  5. 5. 5 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 o prprio produto
  6. 6. 6 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.
  7. 7. 7 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?
  8. 8. 8 Estimativa uma das principais atividades do planejamento de software. Estima-se: 1. Esforo humano exigido 2. Durao cronolgica do projeto 3. Custo Estimativa a essncia da dificuldade em controlar projetos de software Estimativas
  9. 9. 9 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 Estimativas
  10. 10. 10 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 . Estimativas
  11. 11. 11 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
  12. 12. 12 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
  13. 13. 13 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.
  14. 14. 14 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.
  15. 15. 15 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 medir a produtividade e a qualidade Planejamento e estimativa - medida histrica (experincias em projetos passados)
  16. 16. 16 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
  17. 17. 17 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.
  18. 18. 18 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.
  19. 19. 19 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.).
  20. 20. 20 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).
  21. 21. 21 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. Mtricas diretas e mtricas indiretas
  22. 22. 22 A) Mtricas Orientada ao Tamanho So medidas diretas do software e do processo por meio do qual ele desenvolvido. Existem vrias maneiras de representar o tamanho (ou magnitude) de um programa: quantidade de memria necessria para armazenamento. nmero de linhas de cdigo. nmero de tokens. Mtricas de Software - Uma classificao
  23. 23. 23 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. Mtricas de Software mtricas orientadas ao tamanho
  24. 24. 24 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 Mtricas de Software mtricas orientadas ao tamanho
  25. 25. 25 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 de Software mtricas orientadas ao tamanho Mtricas bsicas definidas como: n1 = nmero de operadores nicos n2 = nmero de operandos nicos N1 = nmero total de operadores N2 = nmero total de operandos
  26. 26. 26 A.1) Contagem de Tokens (Cincia de Software de Halsteaad) Mtricas de Software - mtricas orientadas ao tamanho Operadores: -smbolos e palavras chaves que especificam uma ao - pontuaes -simbolos aritmticos - comandos - smbolos especiais - nomes de funes Operandos: -smbolos que representam dados - variveis -constantes - rtulos Tamanho (em termos de tokens) = N = N1 + N2 Vocabulrio = n1 + n2
  27. 27. 27 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. Mtricas de Software - uma classificao
  28. 28. 28 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: Mtricas de Software - mtricas orientadas funo 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
  29. 29. 29 B.1) Mtodo do Ponto por Funo (Albrecht) Mtricas de Software - mtricas orientadas funo Parmetro de Medida Contagem Fator Simples de Mdio Ponderao Complexo Nmero de entradas do usurio X 3 4 6 = Nmero de sadas Do usurio X 4 7 7 = Nmero de consultas Do usurio X 3 4 6 = Nmero de arquivos X 7 10 15 = Nmero de interfaces Externas X 5 7 10 = Contagem total
  30. 30. 30 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.
  31. 31. 31 Mtricas de Software - mtricas orientadas funo Pontue cada fator numa escala de 0 a 5 Fi: 1. O sistema requer backup e recuperao confiveis? 2. So exigidas comunicaes de dados? 3. O desempenho crtico? 4. H funes de processamento distribuda? 5. 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?
  32. 32. 32 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
  33. 33. 33 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
  34. 34. 34 Mtricas de Qualidade de Software Mtricas usadas aps a a entrega do produto - do ao gerente e ao pessoal tcnico uma indicao post- mortem da efetividade do processo de engenharia de software. Concentram-se : - no nmero de defeitos descobertos - na manutenibilidade do sistema
  35. 35. 35 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)
  36. 36. 36 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
  37. 37. 37 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.
  38. 38. 38 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
  39. 39. 39 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.
  40. 40. 40 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 de mudanas.
  41. 41. 41 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
  42. 42. 42 Coleta, computao e avaliao das mtricas Processo de engenharia de software Software Coleta dos dados Computao das mtricas Profissionais Gerentes Avaliao dos dados 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.