Transcript of Aula4
- 1. 1 Gerncia de Projetos: Mtricas de Software Engenharia de
Software Ins Ap.G.Boaventura 1o Semestre/2001
- 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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.