Buscar

MedidasEsforçoDesenvSoftwareRevisão

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 46 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 46 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 46 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

Medidas de 
Esforço de 
Desenvolvimento 
de Software
Marcos Danilo
Chiodi Martins
Revisão 1
2
Indicação de uma medida quantitativa que medirá 
o quanto um determinado sistema, componente o 
processo possui de uma determinada característica.
Métrica de software
3
É preciso ESPECIFICAR uma BOA MÉTRICA para 
que uma boa medida seja realizada!
4
Talvez algo assim tivesse ajudado!
Nome da 
métrica
Pé direito
Objetivo da 
métrica
Determinar o vão entre o chão e o teto interior de uma 
construção
Descrição da 
métrica
Diferença de cota entre o piso inferior e o piso superior, 
incluindo a espessura da laje superior e desprezando a 
espessura da laje inferior. (Engenhariacivil.com, 2015)
Sistema de 
medidas
Para realizar a medida será utilizado o sistema mks
(metro, quilômetros e segundos).
Formas de se 
obter a medida
Realizar e medida de uma linha imaginária que cruza o chão 
e o teto em um ângulo de 90º. A medida deverá se iniciar no 
chão e terminar na parte superior do teto (ou seja, incluindo 
a espessura da laje)
5
Métricas Privadas Métricas Públicas
• São aquelas coletadas utilizando 
base INDIVÍDUO.
• Exemplo: 
• número de linhas de código 
por desenvolvedor;
• Defeitos por desenvolvedor;
• Deve ser exposta apenas ao 
indivíduo que esta relacionado a 
ela.
• São aquelas coletadas SEM a 
utilização da base INDIVÍDUO.
• Podem ser as métricas privadas 
CONSOLIDADAS para o grupo 
de desenvolvedores da empresa.
• Exemplo: 
• Quantidade de defeitos por 
módulo do sistema;
• Quantidade de defeito por 
milhares de linha de código.
• Podem ser expostas a todos..
Boas Práticas.
6
Uma medida é uma tomada de valor de algo que 
se quer avaliar contra um padrão estabelecido.
é o processo por meio do 
qual são associados 
símbolos ou números à 
atributos de entidades de 
modo que os determinem 
conforme padrões bem 
definidos.
7
Há dois tipos de medidas: Direta e Indireta.
DIRETA: São aquelas que medem diretamente um 
fenômeno. A altura de uma pessoa pode ser 
conseguida diretamente utilizando uma fita métrica. 
INDIRETA: São medidas conseguidas por meio de 
outras medidas. Por exemplo medir a qualidade de 
um software pelo tempo que ele fica sem “travar”. 
8
Há dois tipos de medidas: Direta e Indireta.
INDIRETA: São medidas conseguidas por meio de 
outras medidas. Por exemplo medir a qualidade de 
um software pelo tempo que ele fica sem “travar”. 
Este tipo de medida não nos oferece um resultado 
“tão absoluto” quanto aquele da medida direta.
9
Métricas de 
Produto de 
Software
Métricas de 
Processo de 
Software
Métricas de 
Projeto de 
Software
Categorização de métricas na 
engenharia de software
10
O que são os “Pontos de Função”?
Uma forma de se medir o tamanho do software é a 
utilização do LOC – Lines of Code.
Porém só podemos medir o LOC depois que o 
software esta pronto. Portanto não é uma métrica que 
nos ajuda para o planejamento de esforço do software
Para tanto podemos utilizar uma métrica de 
COMPLEXIDADE do software que INDIRETAMENTE 
nos indique o tamanho que o software terá. Uma das 
mais famosas é o “Pontos de Função”
11
Pontos de Função!
Determinar 
o tipo de 
contagem
Determinar 
o escopo 
de 
contagem 
e fronteiras 
da 
aplicação
Contar 
função tipo 
dados
Contar 
função tipo 
transação
Det. PF 
não 
ajustados
Det. Fator 
de ajuste
Det. 
PF
12
Determinar o tipo de Contagem:
1) Projetos de 
desen. de 
software
2) Projetos de 
melhoria
3) Aplicação
Pode-se utilizar a PF para 3 tipos de software, 
a saber:
13
É importante entender o que faz parte do sistema 
e o que não faz parte do sistema. Isto é determinar 
a fronteira da aplicação e a contagem:
Determinar escopo de contagem e fronteira 
da aplicação.
AIE – Arquivo 
Interface Externa:
14
Contar função tipo dado!
ALI – Arquivo 
Lógico Interno:
Funções de dados são funcionalidades solicitadas 
pelo usuário e que representam requisitos de dados 
internos e externos.
15
Contar função tipo dado!
Além de contar os ALI´s e AIE´s é necessário também 
determinar a COMPLEXIDADE de cada um deles.
Como fazer isso?
16
Contar função tipo dado!
É necessário contar quantos TD e TR há no ALI 
ou AIE, sendo que:
TR(tipo de registro lógico) = subgrupo de dados 
de um ALI/AIE reconhecido pelo usuário.
TD(tipo de registro lógico) = campo não repetido, 
único e identificável pelo usuário.
17
Contar função tipo dado!
Aplicamos a tabela de complexidade abaixo.
No exemplo, teríamos uma complexidade BAIXA.
Medidas de 
Esforço de 
Desenvolvimento 
de Software
Marcos Danilo
Chiodi Martins
Revisão 2
Estudo de caso de PF e introdução 
à estimativa
2
3
Estudo de caso: Pontos de Função!
Determinar 
o tipo de 
contagem
Determinar 
o escopo 
de 
contagem 
e fronteiras 
da 
aplicação
Contar 
função tipo 
dados
Contar 
função tipo 
transação
Det. PF 
não 
ajustados
Det. Fator 
de ajuste
Det. 
PF
4
Contar função tipo transação!
podem ser
EE – Entrada 
Externa - é um 
processo elementar 
que processa dados 
ou entradas de 
controle que vêm 
de fora (da fronteira) 
da aplicação
SE– Saída Externa 
- é um processo 
elementar que 
envia dados ou 
informações de 
controle para fora 
da fronteira da 
aplicação.
CE– Consulta 
Externa - é um 
processo elementar 
que envia 
informações de 
controle ou dados 
fora da fronteira do 
sistema
5
Contar função tipo transação!
Sendo que um processo elementar
é a menor unidade funcional que possui significado 
no software que está sendo desenv:
a) é a menor atividade possível e que tenha 
significado para o usuário.
b) é “auto-contido” e deixa as regras de negócio 
em um estado consistente.
6
Contar função tipo transação!
Além de contar os EE´s, SE´s e CE´s é necessário 
também determinar a COMPLEXIDADE de cada um 
deles.
Como fazer isso?
7
Contar função tipo transação! 
(complexidade)
Contar os TDs envolvidos: É um campo não 
recursivo de dado, único e reconhecido pelo usuário, 
ou seja, é cada campo preenchido ou apresentado ao 
usuário.
8
Contar função tipo transação! 
(complexidade)
Contar os TDs envolvidos: É um campo não 
recursivo de dado, único e reconhecido pelo usuário, 
ou seja, é cada campo preenchido ou apresentado 
ao usuário.
Contar os AR (arquivos referenciados): 
é todo arquivo lógico lido, pode ser um ALI ou AIE, 
ou todo arquivo lógico mantido, neste caso só pode 
ser um ALI.
9
Contar função tipo transação! 
(complexidade)
EE
SE
CE
10
Pontos de Função!
Determinar 
o tipo de 
contagem
Determinar 
o escopo 
de 
contagem 
e fronteiras 
da 
aplicação
Contar 
função tipo 
dados
Contar 
função tipo 
transação
Det. PF 
não 
ajustados
Det. Fator 
de ajuste
Det. 
PF
Determinar PF não ajustados!
11
Basta agora somar a contribuição de cada ALI, AIE, 
EE, SE e CE encontrado, de acordo com a sua 
complexidade, respeitando a seguinte tabela:
Determinar PF não ajustados!
12
13
Pontos de Função!
Determinar 
o tipo de 
contagem
Determinaro escopo 
de 
contagem 
e fronteiras 
da 
aplicação
Contar 
função tipo 
dados
Contar 
função tipo 
transação
Det. PF 
não 
ajustados
Det. Fator 
de ajuste
Det. 
PF
Determinar Fator de Ajuste!
14
Características Gerais do Sistema
Comunicação de dados Atualização online
Processamento distribuído Processamento complexo 
Desempenho Reutilização de código 
Configuração altamente utilizada Facilidade de implantação 
Volume de transações Facilidade operacional 
Entrada de dados on-line Múltiplos locais 
Eficiência do usuário final Facilidade de mudanças 
Determinar Fator de Ajuste!
15
Para cada uma das características do slide anterior, 
dar uma nota de 1 - 5
1 Nenhuma influência.
2 Influência mínima.
3 Influência moderada.
4 Influência significativa.
5 Grande influência.
Determinar Fator de Ajuste!
16
Exemplo!
CGS
Peso 
atribuído
CGS
Peso 
Atribuído
Comunicação de dados 3 Atualização on-line 2
Processamento distribuído 2
Processamento 
complexo 
4
Desempenho 1 Reutilização de código 2
Configuração altamente utilizada 5
Facilidade de 
implantação 
3
Volume de transações 4 Facilidade operacional 1
Entrada de dados on-line 5 Múltiplos locais 5
Eficiência do usuário final 1 Facilidade de mudanças 1
TOTAL 39
Determinar Fator de Ajuste!
17
Agora basta aplicar a fórmula abaixo – na qual TGI 
é a soma das notas.
65,0)01,0*(  TGIVFA
18
Pontos de Função!
Determinar 
o tipo de 
contagem
Determinar 
o escopo 
de 
contagem 
e fronteiras 
da 
aplicação
Contar 
função tipo 
dados
Contar 
função tipo 
transação
Det. PF 
não 
ajustados
Det. Fator 
de ajuste
Det. 
PF
19
Calcular o PF Ajustado
A fórmula será:
AjustedeFatorPFNAmentoDesenvolviPF __*_ 
20
Outros tipos de contagem
Projeto de melhoria
EFP = [(ADD + CHGA + CFP) * VAFA] + (DEL * VAFB)
EFP – Número de pontos de função do projeto de melhoria;
ADD – Número de pontos de função não ajustados 
das funções incluídas pelo projeto de melhoria;
CHGA – Número de pontos de função não ajustados 
das funções modificadas depois das modificações;
CFP - Número de pontos de função não ajustados 
adicionados pela conversão;
VAFA – Valor do fator de ajuste da aplicação depois 
do projeto de melhoria;
DEL - Número de pontos de função não ajustados 
das funções excluídas pelo projeto de melhoria;
VAFB – Valor do fator de ajuste da aplicação antes do projeto 
de melhoria.
21
Outros tipos de contagem
Para uma aplicação
AFP = [(UFPB + ADD + CHGA) – (CHGB + DEL)] * VAFA 
AFP – Número de pontos de função ajustados da aplicação
UFPB – Número de pontos de função não ajustados 
da aplicação antes do projeto de melhoria;
ADD – Número de pontos de função não ajustados 
das funções incluídas pelo projeto de melhoria;
CHGA – Número de pontos de função não ajustados 
das funções modificadas depois do seu término;
CHGB – Número de pontos de função não ajustados 
das funções modificadas antes do seu término;
DEL - Número de pontos de função não ajustados das funções 
excluídas pelo projeto de melhoria;
VAFA – Valor do fator de ajuste da aplicação depois do projeto 
de melhoria.
22
Técnicas de Estimativas
Análoga
Paramétrica
Análise de reservas
Estimativa de 3 pontos
Opinião especializada e técnica de tomada 
de decisão em grupo
Modelo básico
Modelo 
intermediário
Modelo 
avançado
• modelo simples que 
computa o esforço 
(custo) por meio de 
uma função 
paramétrica baseada 
apenas no tamanho 
do software
• computa o esforço 
baseado no tamanho 
e também baseado 
em direcionadores 
de custo que incluem 
avaliações subjetivas 
de: produto, 
hardware, pessoal 
e outros atributos 
do projeto
• modelo que é 
composto por pelos 
modelos básicos e 
intermediários e 
ainda uma avaliação 
do impacto dos 
direcionadores de 
custo sobre cada 
passo do processo 
de engenharia 
de software
23
COCOMO: que significa COnstructive COst MOdel 
(modelo de custo construtivo) foi criado por Barry 
Boehm em 1981 (Boehm, 1981) é de fato uma 
hierarquia de estimativas que busca realizar a 
estimativa de esforço e duração baseada em 
um modelo estatístico de uma só variável.
24
COCOMOII: Evolução do COCOMO e leva em 
consideração as abordagens mais modernas 
para o desenvolvimento de software.
Composição de 
Aplicação
Projeto 
Preliminar
Reúso
• Usado em 
projetos 
nos quais o 
software será 
composto por 
componentes.
• utilizado antes 
do projeto de 
arquitetura 
detalhada do 
sistema estar 
disponível, mas 
quando já se 
tem acordados 
os requisitos de 
usuário.
• Este modelo 
deve ser 
utilizado quando 
o projeto 
utilizará códigos 
reaproveitado 
de outros 
projetos.
Pós arquitetura
• Utilizar quando 
um modelo de 
arquitetura do 
sistema esteja 
disponível e 
seja capaz de 
identificar as 
estruturas de 
subsistemas
25
Estimativa de Putnam
26
Pontos de caso de uso
PASSO 5
Calcular o PCU
FAFCTPCUNAPCU **
27
Gestão por métricas
28
Análise do valor agregado
29
Estimativas Estatísticas

Outros materiais