Vous êtes sur la page 1sur 72
Medidas de Esforço de Desenvolvimento de Software Prof. Luiz Leão <a href=luizleao@gmail.com luizleao.com " id="pdf-obj-0-2" src="pdf-obj-0-2.jpg">
Medidas de Esforço de Desenvolvimento de Software Prof. Luiz Leão <a href=luizleao@gmail.com luizleao.com " id="pdf-obj-0-4" src="pdf-obj-0-4.jpg">

Medidas de

Medidas de Esforço de Desenvolvimento de Software Prof. Luiz Leão <a href=luizleao@gmail.com luizleao.com " id="pdf-obj-0-8" src="pdf-obj-0-8.jpg">

Esforço de Desenvolvimento

de Software

Prof. Luiz Leão

Medidas de Esforço de Desenvolvimento de Software Prof. Luiz Leão <a href=luizleao@gmail.com luizleao.com " id="pdf-obj-0-20" src="pdf-obj-0-20.jpg">
Unidade 2 – Determinação de ponto função  Ponto Função  Fator de ajuste  Contagem
Unidade 2 – Determinação de ponto
função
Ponto Função
Fator de ajuste
Contagem de ponto função não ajustado
Ponto função ajustado
Medidas no modelo preliminar de dados
Modelo e funções básicas
Projeto detalhado
Medir arquivos lógicos internos
Complexidade de algoritmos
Unidade 2 – Determinação de ponto função (cont.)  TAR – Tipo de Arquivo Referenciado 
Unidade 2 – Determinação de ponto função (cont.)  TAR – Tipo de Arquivo Referenciado

Unidade 2 Determinação de ponto função (cont.)

Unidade 2 – Determinação de ponto função (cont.)  TAR – Tipo de Arquivo Referenciado
  • TAR Tipo de Arquivo Referenciado

 Tratamento nas entradas de dados  Complexidade da entrada  Saída  Complexidade da saída
Tratamento nas entradas de dados
Complexidade da entrada
Saída
Complexidade da saída
Consultas
Complexidade das consultas –
TED – Tipo de Elemento de Dados
TER – Tipo de Elemento de Registro
Unidade 2 – Determinação de ponto função (cont.)  TAR – Tipo de Arquivo Referenciado 
Unidade 2 – Determinação de ponto função (cont.)  Calculo de PF para:  Um caso
Unidade 2 – Determinação de ponto função (cont.)  Calculo de PF para:

Unidade 2 Determinação de ponto função (cont.)

Unidade 2 – Determinação de ponto função (cont.)  Calculo de PF para:
  • Calculo de PF para:

 Um caso e uso  Um programa  Um diagrama de classes  Um diagrama
Um caso e uso
Um programa
Um diagrama de classes
Um diagrama de sequencia
Uma tela
Um arquivo
Um DFD
Um diagrama lógico de dados
Uma proposta de manutenção
Uma classe de projeto
Unidade 2 – Determinação de ponto função (cont.)  Calculo de PF para:  Um caso
Análise de Pontos de Função  Criado por Allan Albrecht na IBM em 1979  Foi
Análise de Pontos de Função
Análise de Pontos de Função

Criado por Allan Albrecht na IBM em 1979

Foi regulado pelo IFPUG - International Function Point Users Group, onde foi criada a norma ISO 20296:2009 que especificou as definições, regras e passos para a

aplicação da medida de tamanho funcional do IFPUG (FSM)

Define uma relação empírica baseada em medidas de

contagem do domínio de aplicação do software (requisitos) e à avaliação da complexidade do software.

Está diretamente ligado a funcionalidade que o usuário tem acesso (Casos de Uso), abstraindo detalhes de implementação

Análise de Pontos de Função  Criado por Allan Albrecht na IBM em 1979  Foi
Análise de Pontos de Função  Criado por Allan Albrecht na IBM em 1979  Foi
Objetivos da Análise de PF  A análise considera as várias formas com que os usuários
Objetivos da Análise de PF
Objetivos da Análise de PF
  • A análise considera as várias formas com que os usuários interagem com o sistema, com os seguintes objetivos:

    • 1. Fornecer medidas consistentes;

    • 2. Medir funcionalidades que o usuário solicita ou recebe;

    • 3. Independência da tecnologia;

    • 4. Método simples.

Objetivos da Análise de PF  A análise considera as várias formas com que os usuários
Objetivos da Análise de PF  A análise considera as várias formas com que os usuários
Conceitos, segundo IFPUG  Usuário: Qualquer pessoa ou sistema que interaja com o sistema a qualquer
Conceitos, segundo IFPUG
Conceitos, segundo IFPUG

Usuário: Qualquer pessoa ou sistema que interaja com o sistema a qualquer momento e especifique requisitos funcionais.

Reconhecido pelo Usuário: Requisitos definidos para processos ou grupos de dados acordados e entendidos entre usuário e desenvolvedor

Visão do Usuário: Requisitos funcionais como percebidos pelo usuário

Fronteira: Interface conceitual entre o software em estudo e seus usuários

Conceitos, segundo IFPUG  Usuário: Qualquer pessoa ou sistema que interaja com o sistema a qualquer
Conceitos, segundo IFPUG  Usuário: Qualquer pessoa ou sistema que interaja com o sistema a qualquer
Processo de Contagem de PF
Processo de Contagem de PF
Processo de Contagem de PF
Processo de Contagem de PF
Processo de Contagem de PF

Elementos de Contagem de PF

Elementos de Contagem de PF
Elementos de Contagem de PF
Elementos de Contagem de PF
Elementos de Contagem de PF
Tipos de Contagem  Contagem de um projeto de desenvolvimento (incluindo migração)  Contagem de um
Tipos de Contagem
Tipos de Contagem

Contagem de um projeto de desenvolvimento (incluindo migração)

Contagem de um projeto de melhoria

Contagem de uma aplicação em produção (ou baseline)

Tipos de Contagem  Contagem de um projeto de desenvolvimento (incluindo migração)  Contagem de um
Tipos de Contagem  Contagem de um projeto de desenvolvimento (incluindo migração)  Contagem de um

Escopo da Contagem

 O escopo define se a contagem abrangerá um ou mais sistemas ou apenas parte de
O escopo define se a contagem abrangerá
um ou mais sistemas ou apenas parte de um
sistema.
Por exemplo:
Todas as funcionalidades disponíveis
Apenas as funcionalidades efetivamente
utilizadas pelo usuário
Apenas algumas funcionalidades específicas
(relatórios, transações cadastrais, etc.)

Fronteira da Aplicação

  • É a interface conceitual que delimita o software que será medido e o mundo exterior (os atores de interface)

    • Ator = pessoa ou sistema que interage com a aplicação, recebendo ou enviando dados

Fronteira da Aplicação  É a interface conceitual que delimita o software que será medido e
Fronteira da Aplicação  É a interface conceitual que delimita o software que será medido e

Algumas regras para identificar as fronteiras

 Deve ser feita com base no Ponto de Vista do Usuário (o que ele pode
Deve ser feita com base no Ponto de Vista do Usuário (o que ele
pode entender e descrever)
Baseada na separação das funções relacionadas pelos
processos do negócio, não considerando tecnologias (banco de
dados, p. ex.)
Obter a documentação do sistema
Verificar como os grupos de dados são mantidos
Identificar as entidades (dados) e processos (casos de uso, por
exemplo)

Funções do Tipo Dado

 Representam a funcionalidade oferecida ao usuário para cumprir requisitos de dados  Podem ser de
Representam a funcionalidade oferecida ao usuário para
cumprir requisitos de dados
Podem ser de dois tipos:
Arquivo Lógico Interno (ALI)
Arquivo de Interface Externa (AIE)
O nome “arquivo” refere-se a grupos de dados
logicamente correlatos e não à sua implementação física
Ex: Um arquivo “Pessoa Física” pode conter dados das
tabelas Pessoa, PessoaFisica, PessoaEndereco, etc.

Arquivo Lógico Interno (ALI)

 Um grupo lógico de dados ou de informações de controle, identificável pelo usuário, mantido dentro
Um grupo lógico de dados ou de informações
de controle, identificável pelo usuário,
mantido dentro da fronteira da aplicação que
está sendo contada.
Armazena dados mantidos por um ou mais
processos (transações) da aplicação em
questão.
Ex: tabelas de banco de dados atualizadas pela
aplicação (não considerar chaves primárias do tipo
identificador, como “id” ou “sequência”).
Arquivo de Interface Externa (AIE)  Um grupo lógico de dados ou informações de controle, identificável
Arquivo de Interface Externa (AIE)
Arquivo de Interface Externa (AIE)

Um grupo lógico de dados ou informações de controle, identificável pelo usuário, mantido fora da fronteira da aplicação que está sendo contada.

Exemplos:

  • tabelas de banco de dados lidas pela aplicação, mas mantidas por outra

  • Arquivos externos (gerados externamente)

  • Mensagens de dados (em um protocolo) gerados externamente

Arquivo de Interface Externa (AIE)  Um grupo lógico de dados ou informações de controle, identificável
Arquivo de Interface Externa (AIE)  Um grupo lógico de dados ou informações de controle, identificável
Atribuindo complexidade a um ALI/AIE  Identificar os TERs e TEDs TER – Tipo de Elemento
Atribuindo complexidade a um ALI/AIE
Atribuindo complexidade a um ALI/AIE
  • Identificar os TERs e TEDs

TER Tipo de Elemento de Registro

  • Subgrupo de dados dentro de um ALI/AIE reconhecível pelo usuário Ex: Arquivo Pessoa, que é a generalização de PessoaFisica, pode ser identificado pelo usuário no formulário, logo, conta como 2 TERs

TED Tipo de Elemento de Dado

  • Campo único, não repetitivo e reconhecível pelo usuário Ex: Campos do arquivo (ou entidade), que o usuário visualiza no formulário

 
Atribuindo complexidade a um ALI/AIE  Identificar os TERs e TEDs TER – Tipo de Elemento
Tabela de Referência - Complexidade de ALI’s e AIE’s
Tabela de Referência - Complexidade de ALI’s e AIE’s
Tabela de Referência -
Complexidade de ALI’s e AIE’s
Tabela de Referência - Complexidade de ALI’s e AIE’s
Tabela de Referência - Complexidade de ALI’s e AIE’s
Tabela de Referência - Complexidade de ALI’s e AIE’s
Peso das Funções de Dados
Peso das Funções de Dados
Peso das Funções de Dados
Peso das Funções de Dados
Peso das Funções de Dados
Peso das Funções de Dados
Peso das Funções de Dados
Funções de Transação  Representam a funcionalidade oferecida ao usuário para processar dados da aplicação 
Funções de Transação
Funções de Transação

Representam a funcionalidade oferecida ao usuário para processar dados da

aplicação

Podem ser de três tipos:

  • Entrada Externa (EE)

  • Saída Externa (SE)

  • Consulta Externa (CE)

Funções de Transação  Representam a funcionalidade oferecida ao usuário para processar dados da aplicação 
Funções de Transação  Representam a funcionalidade oferecida ao usuário para processar dados da aplicação 
Entrada Externa (EE)  Cada transação de entrada é contada.  A transação deve atualizar uma
Entrada Externa (EE)
Entrada Externa (EE)
  • Cada transação de entrada é contada.

  • A transação deve atualizar uma base de dados com inclusão, alteração ou

exclusão.  Transação pode ser interpretada como uma rotina/processo que executa um conjunto de ações atômicas
exclusão.
Transação pode ser interpretada como uma
rotina/processo que executa um conjunto de
ações atômicas que produz um resultado
visível e de valor ao usuário do sistema.
Pode ser mapeado em telas, formulários (em
janelas), páginas, etc.
Saída Externa (SE)  Relatórios, telas, mensagens de erros e qualquer processo que é visível externamente
Saída Externa (SE)
Saída Externa (SE)

Relatórios, telas, mensagens de erros e qualquer processo que é visível externamente ao sistema (caso de uso).

Deve obrigatoriamente calcular ou criar dados

derivados como detalhes de subtotais, arquivos intermediários internos ou alterar o resultado do

comportamento do sistema.

Ex: Consulta a validade do cartão de credito do

Cliente. Caso esteja inválido, é exibida uma

mensagem e é excluído o carrinho de compras

Saída Externa (SE)  Relatórios, telas, mensagens de erros e qualquer processo que é visível externamente
Saída Externa (SE)  Relatórios, telas, mensagens de erros e qualquer processo que é visível externamente
Consulta Externa (CE)  É uma funcionalidade de consulta simples, que através de uma solicitação do
Consulta Externa (CE)
Consulta Externa (CE)
  • É uma funcionalidade de consulta simples, que através de uma solicitação do usuário

(uma entrada on-line), resulta na geração

de uma resposta imediata sob a forma de

uma saída on-line.

Ex: Consulta ao cadastro de clientes.

Consulta Externa (CE)  É uma funcionalidade de consulta simples, que através de uma solicitação do
Consulta Externa (CE)  É uma funcionalidade de consulta simples, que através de uma solicitação do
Atribuindo complexidade a uma Função de Transação  Identificar os TARs e TEDs  TAR –
Atribuindo complexidade a uma Função de Transação
Atribuindo complexidade a uma Função de
Transação
  • Identificar os TARs e TEDs

    • TAR Tipos de arquivos referenciados

      • Quantidade de ALI/ AIE mantidos (exceto CE) ou referenciados pela função de transação

    • TED Tipos de Elementos de Dados

      • Campos reconhecíveis pelo usuário, que cruzam a fronteira da aplicação durante a função de transação Ex: Campos do arquivo (ou entidade), que o usuário visualiza no formulário

Atribuindo complexidade a uma Função de Transação  Identificar os TARs e TEDs  TAR –
Atribuindo complexidade a uma Função de Transação  Identificar os TARs e TEDs  TAR –
Tabela de referência - Complexidade de EE’s Pontuação  Para cada Entrada Externa será atribuído um
Tabela de referência - Complexidade de EE’s Pontuação  Para cada Entrada Externa será atribuído um

Tabela de referência - Complexidade de EE’s

Tabela de referência - Complexidade de EE’s Pontuação  Para cada Entrada Externa será atribuído um

Pontuação

Para cada Entrada Externa será atribuído um número de Pontos de Função, de acordo com a sua complexidade funcional relativa:

BAIXA (SIMPLES COMPLEXIDADE): 3 (três) Pontos por Função;

MÉDIA COMPLEXIDADE: 4 (quatro) Pontos por Função;

ALTA (COMPLEXA): 6 (seis) Pontos por Função.

Tabela de referência - Complexidade de EE’s Pontuação  Para cada Entrada Externa será atribuído um
Tabela de referência - Complexidade de EE’s Pontuação  Para cada Entrada Externa será atribuído um
COMPLEXA Nº DE ARQUIVOS REFERENCIADOS (TAR) ITENS DE DADOS REFERENCIADOS (TED) 20 OU MAIS Apenas 1
COMPLEXA Nº DE ARQUIVOS REFERENCIADOS (TAR) ITENS DE DADOS REFERENCIADOS (TED) 20 OU MAIS Apenas 1
COMPLEXA
Nº DE ARQUIVOS
REFERENCIADOS
(TAR)
ITENS DE DADOS REFERENCIADOS (TED)
20 OU MAIS
Apenas 1
4 ou mais
De 2 ou 3
6 A 19
1 A 5
COMPLEXA
COMPLEXA
SIMPLES
SIMPLES
SIMPLES
MÉDIA
MÉDIA
MÉDIA
Complexidade de Saídas Externas

Pontuação

Para cada Saída Externa será atribuído um número de Pontos de Função, de acordo com a sua complexidade

funcional relativa:

SIMPLES: 4 (quatro) Pontos por Função;

MÉDIA: 5 (cinco) Pontos por Função;

COMPLEXA: 7 (sete) Pontos por Função.

COMPLEXA Nº DE ARQUIVOS REFERENCIADOS (TAR) ITENS DE DADOS REFERENCIADOS (TED) 20 OU MAIS Apenas 1
COMPLEXA Nº DE ARQUIVOS REFERENCIADOS (TAR) ITENS DE DADOS REFERENCIADOS (TED) 20 OU MAIS Apenas 1
Complexidade de Consultas Externas ITENS DE DADOS REFERENCIADOS (TED) Nº DE ARQUIVOS REFERENCIADOS (TAR) 1 A
Complexidade de Consultas Externas
ITENS DE DADOS REFERENCIADOS (TED)
Nº DE ARQUIVOS
REFERENCIADOS
(TAR)
1 A 5
6 A 19
20 OU MAIS
Apenas 1
De 2 a 3
4 ou mais
SIMPLES
SIMPLES
MÉDIA
SIMPLES
MÉDIA
COMPLEXA
MÉDIA
COMPLEXA
COMPLEXA
Pontuação

Para cada Consulta Externa será atribuído um número de Pontos por Função, de acordo com a sua complexidade

funcional relativa:

SIMPLES: 3 (três) Pontos por Função;

MÉDIA: 4 (quatro) Pontos por Função;

COMPLEXA: 6 (seis) Pontos por Função

Complexidade de Consultas Externas ITENS DE DADOS REFERENCIADOS (TED) Nº DE ARQUIVOS REFERENCIADOS (TAR) 1 A
Resumo dos pesos das Funções de Transação
Resumo dos pesos das Funções de Transação
Resumo dos pesos das Funções de
Transação
Resumo dos pesos das Funções de Transação
Resumo dos pesos das Funções de Transação
Resumo dos pesos das Funções de Transação
Resumo do Cálculo dos PF Não Ajustados Fator de peso da Complexidade Contagem Parametro de Medição
Resumo do Cálculo dos PF Não
Ajustados
Fator de peso da Complexidade
Contagem
Parametro de Medição
baixa media alta
EE – Entradas Externas
X
3
4
6
=
SE – Saídas Externas
X
4
5
7
=
CE – Consultas Externas
X
3
4
6
=
ALI – Arquivos Lógicos Internos
X
7
10
15
=
AIE – Arquivos de interfaces ext.
X
5
7
10
=
Contagem total - Pontos por função (não ajustado)
Resumo do Cálculo dos PF Não Ajustados Fator de peso da Complexidade Contagem Parametro de Medição
Fator de Ajuste de Valor (FAV)  Passo final na contagem de pontos de função 
Fator de Ajuste de Valor (FAV)
Fator de Ajuste de Valor (FAV)


Passo final na contagem de pontos de função

Avalia restrições de negócio adicionais do

software não consideradas pelos cinco tipos de

funções.

Todas as funções avaliadas na contagem de Pontos de Função são funções do software

Baseado na influência de 14 Características

Gerais do Sistema

Fator de Ajuste de Valor (FAV)  Passo final na contagem de pontos de função 
Fator de Ajuste de Valor (FAV)  Passo final na contagem de pontos de função 
Fator de Ajuste  O IFPUG (International Function Point Users Group), órgão responsável pela técnica, tornou
Fator de Ajuste
Fator de Ajuste
Fator de Ajuste
 O IFPUG (International Function Point Users Group), órgão responsável pela técnica, tornou o fator de
O IFPUG (International Function Point Users
Group), órgão responsável pela técnica,
tornou o fator de ajuste opcional para
adequar-se ao padrão ISO/IEC.
O objetivo do fator é ajustar os pontos de
função não-ajustados em ± 35% de acordo
com a influência de 14 características gerais.
No processo aqui apresentado, não será
utilizado no cálculo final.
Cálculo do Fator de Ajuste  Características não funcionais interferem na complexidade do produto.  Calcular
Cálculo do Fator de Ajuste
Cálculo do Fator de Ajuste
Cálculo do Fator de Ajuste
 Características não funcionais interferem na complexidade do produto.  Calcular o Fator de Ajuste: 
Características não funcionais interferem na
complexidade do produto.
Calcular o Fator de Ajuste:
Avaliar o impacto de cada uma das 14
características
Atribuir a cada característica um peso de 0 a 5.
Calcular o nível de influência:
Somando-se os pesos de cada uma das
características.
Aplicar a fórmula de cálculo do fator de ajuste
(variação de + − 35%).
Cálculo do Fator de Ajuste  Características não funcionais interferem na complexidade do produto.  Calcular
Cálculo do Fator de Ajuste Atribuímos uma nota de 0 à 5 a cada uma das
Cálculo do Fator de Ajuste
Cálculo do Fator de Ajuste

Atribuímos uma nota de 0 à 5 a cada uma das Características Gerais do Sistema que

corresponde aos seguintes

Influência Significante,

1 Influência incidental,

Influência Moderada,

Nenhuma influência,

Influência Média,

Essencial

critérios:

4

0

2

3

5

Características Gerais:

1.

2.

Comunicação de Dados

Processamento de Dados Distribuído (Funções Distribuídas)

Desempenho

Configuração do equipamento

Volume de Transações

Entrada de Dados On-Line

Interface com o usuário

Atualização On-Line

Processamento Complexo

Reusabilidade

Facilidade de Implantação

Facilidade Operacional

3.

4.

5.

6.

7.

8.

9.

10.

11.

12.

Cálculo do Fator de Ajuste Atribuímos uma nota de 0 à 5 a cada uma das

13.

Múltiplos Locais

14.

Facilidade de mudanças

Cálculo do Fator de Ajuste Atribuímos uma nota de 0 à 5 a cada uma das
Cálculo do Fator de Ajuste Atribuímos uma nota de 0 à 5 a cada uma das
Cálculo do Fator de Ajuste  Fator de Ajuste: Nt(total) = 14 Nt i=1 VAF =
Cálculo do Fator de Ajuste
Cálculo do Fator de Ajuste
  • Fator de Ajuste:

Nt(total) = 14 Nt i=1 VAF = 0,65 + (0,01 X Nt(total)) (0,65 <= VAF <=
Nt(total) =
14
Nt
i=1
VAF =
0,65
+
(0,01
X
Nt(total))
(0,65
<= VAF
<= 1,35)
Cálculo do Fator de Ajuste  Fator de Ajuste: Nt(total) = 14 Nt i=1 VAF =
Estudo de Caso: Sistema de Controle de Ponto  O sistema tem por objetivo registrar a
Estudo de Caso: Sistema de Controle de Ponto
Estudo de Caso: Sistema de Controle
de Ponto

O sistema tem por objetivo registrar a entrada e saída de funcionários de uma determinada empresa.

O exemplo serve para ilustrar a técnica de PF.

Portanto, o sistema é uma simplificação de um sistema real.

A seguir, é apresentada uma pequena

documentação necessária para compreensão do sistema e serve de base para o cálculo dos PF.

Estudo de Caso: Sistema de Controle de Ponto  O sistema tem por objetivo registrar a
Estudo de Caso: Sistema de Controle de Ponto  O sistema tem por objetivo registrar a
Descrição do Sistema  No sistema de controle de pontos, um trabalhador registra suas entradas e
Descrição do Sistema
Descrição do Sistema


No sistema de controle de pontos, um trabalhador registra suas entradas e saídas do ambiente do trabalho.

Caso o trabalhador esqueça o cartão de

ponto, ele pode justificar tal ocorrência.

O trabalhador também pode acompanhar

a sua frequência, onde o sistema

apresenta os totais de horas trabalhadas em um determinado período.

Descrição do Sistema  No sistema de controle de pontos, um trabalhador registra suas entradas e
Descrição do Sistema  No sistema de controle de pontos, um trabalhador registra suas entradas e
Descrição do Sistema (Cont.)  Cada trabalhador pode ter acesso apenas às suas informações.  Além
Descrição do Sistema (Cont.)
Descrição do Sistema (Cont.)
Descrição do Sistema (Cont.)
  • Cada trabalhador pode ter acesso apenas às suas informações.

  • Além disso, o gerente pode emitir um

relatório com as informações de frequência

de todos os funcionários de seu departamento.

Descrição do Sistema (Cont.)  Cada trabalhador pode ter acesso apenas às suas informações.  Além
Descrição do Sistema (Cont.)  Cada trabalhador pode ter acesso apenas às suas informações.  Além
Visão do Sistema de Ponto Frequencia Consultar
Visão do Sistema de Ponto
Visão do Sistema de Ponto
Frequencia Consultar
Frequencia
Consultar
Visão do Sistema de Ponto Frequencia Consultar
Consultar Frequencia Consulta que o usuário efetua, visualizando os registros do dia Casos de Uso Registrar

Consultar

Frequencia

Consulta que o usuário efetua, visualizando os

registros do dia

Casos de Uso Registrar frequência Permite ao trabalhador inserir, alterar, excluir as informações de entrada e
Casos de Uso
Registrar
frequência
Permite ao trabalhador inserir, alterar, excluir as
informações de entrada e saída em uma data.
Registrar
O trabalhador insere uma justificativa em caso de
justificativa
alteração ou exclusão de horário.
Acompanhar
Exibe ao trabalhador o acompanhamento de seus
frequência
registros de ponto em um período escolhido,
totalizando as horas trabalhadas
Emitir relatório de
Permite ao gerente acompanhar o registro de
freqüência
presença dos trabalhadores em um determinado
período informado.
Efetuar Logon
Permite que o funcionário (trabalhador ou gerente)
efetue a autenticação no sistema e, a partir deste
ponto, escolher as opções disponíveis para acesso
ao sistema dependendo do perfil do usuário.
Diagrama de Classes de Domínio controle de ponto apenas faz referência a ela. Observar que a
Diagrama de Classes de Domínio controle de ponto apenas faz referência a ela. Observar que a
Diagrama de Classes de Domínio
controle de ponto apenas faz
referência a ela.
Observar que a classe
Funcionário faz parte de
Segurança) e a aplicação de
outro sistema (Controle de
40
Diagrama de Classes de Domínio controle de ponto apenas faz referência a ela. Observar que a
Diagrama de Classes de Domínio controle de ponto apenas faz referência a ela. Observar que a
Modelo de Banco de Dados (DER) Observe que a classe Justificativa (do modelo de classes) foi
Modelo de Banco de Dados (DER)
Observe que a classe Justificativa
(do modelo de classes) foi mapeada
para duas tabelas: JUSTIFICATIVA e
LINHAS.
Transações (Campos e Arquivos Referenciados) Transação (Tela/Rel) Campos Arquivo (Tabela) Logon Matricula, Senha, Mensagens, Comando Funcionário
Transações (Campos e Arquivos Referenciados)
Transação (Tela/Rel)
Campos
Arquivo (Tabela)
Logon
Matricula, Senha, Mensagens, Comando
Funcionário
Registro de Ponto
Indicador de entrada e saída, Mensagens,
Comando
Apontamento
(Ponto)
Consultar Freqüência
Data do ponto, Horário de entrada, Hora de
saída, Mensagens, Comando
Apontamento
Registrar (incluir) freqüência
Indicador de entrada ou saída, Horário,
Apontamento,
com Justificativa
Justificativa, Mensagens, Comando
Justificativa
Excluir Apontamento
Mensagens, Comando
Apontamento,
Justificativa
Alterar Apontamento
Horário anterior, Horário novo, Justificativa,
Apontamento,
Mensagens, Comando
Justificativa
Acompanhar Freqüência
Data inicial, Data final, Total de horas no
período, nome do funcionário, data do
ponto, horário do ponto, indicador de
ent/saída, justificativa, Mensagens,
Comando
Apontamento,
Justificativa,
Funcionário
Emitir Relatório de Freqüência
Data Inicial, Data final, Matricula, Nome,
Apontamento,
Total de horas, Quantidade de
Justificativa,
Justificativas, Total de horas geral,
Mensagens, Comando
Funcionário
Contagem: Entradas Externas Comple Descrição da função TAR TED PF x Registro de Ponto 1 3
Contagem: Entradas Externas
Comple
Descrição da função
TAR TED
PF
x
Registro de Ponto
1
3
S
3
Registrar (incluir)
freqüência com
2
5
M 4
Justificativa
Excluir Apontamento
2
2
S
3
Alterar Apontamento
2
5
M 4
TOTAL (EE)
14
Contagem: Saídas Externas TA R Descrição da função TE D Complex PF Logon 1 4 S
Contagem: Saídas Externas
TA R
Descrição da função
TE D Complex
PF
Logon
1
4
S
4
Acompanhar Frequencia
3
10
M
5
Emitir Relatório de
3
9
M
5
Frequencia
TOTAL (SE)
14
Contagem: Consultas Externas Descrição TAR TED Complex PF Consultar Freqüência TOTAL (CE) 1 5 S 3
Contagem: Consultas Externas
Contagem: Consultas Externas

Descrição

TAR

TED

Complex

PF

Consultar Freqüência

TOTAL (CE)

1

  • 5 S

Contagem: Consultas Externas Descrição TAR TED Complex PF Consultar Freqüência TOTAL (CE) 1 5 S 3
3 3
3
3
Contagem: Arquivos Lógicos Internos Descrição TER TED Complex PF Apontamento 1 3 S Justificativa 1 3
Contagem:
Arquivos Lógicos Internos
Descrição
TER
TED
Complex
PF
Apontamento
1
3
S
Justificativa
1
3
S
TOTAL (ALI)
Contagem: Arquivos Lógicos Internos Descrição TER TED Complex PF Apontamento 1 3 S Justificativa 1 3
Contagem: Arquivos Lógicos Internos Descrição TER TED Complex PF Apontamento 1 3 S Justificativa 1 3
7 7 14
7
7
14
Contagem: Arquivos de Interface Externa Descrição TER TED Complex PF Funcionário 1 4 S TOTAL (AIE)
Contagem: Arquivos de Interface
Externa
Descrição
TER
TED
Complex
PF
Funcionário
1
4
S
TOTAL (AIE)
Contagem: Arquivos de Interface Externa Descrição TER TED Complex PF Funcionário 1 4 S TOTAL (AIE)
Contagem: Arquivos de Interface Externa Descrição TER TED Complex PF Funcionário 1 4 S TOTAL (AIE)
5 5
5
5
Contagem Final de PF (não ajustados) Item Entradas Externas Saídas Externas Consultas Externas Arquivos Lógicos Internos
Contagem Final de PF (não ajustados)
Contagem Final de PF (não ajustados)

Item

Entradas Externas

Saídas Externas

Consultas Externas

Arquivos Lógicos Internos

Arquivos Lógicos Externos

Pontos Função (não- ajustados)

PF Brutos

Contagem Final de PF (não ajustados) Item Entradas Externas Saídas Externas Consultas Externas Arquivos Lógicos Internos
14 14 3 14 5 50
14
14
3
14
5
50
Tamanho de produtos conhecidos* Fonte: *Jones, Capers T., Estimating Software Costs , McGraw-Hill, 1998
Tamanho de produtos conhecidos*
Tamanho de produtos conhecidos*

Fonte: *Jones, Capers T., Estimating Software Costs, McGraw-Hill, 1998

Tamanho de produtos conhecidos* Fonte: *Jones, Capers T., Estimating Software Costs , McGraw-Hill, 1998
Tamanho de produtos conhecidos* Fonte: *Jones, Capers T., Estimating Software Costs , McGraw-Hill, 1998
Correspondência aproximada entre PF e linhas de código LOC/FP Produtividade Média Linguagem Média Mediana Baixa Alta
Correspondência aproximada entre PF e
linhas de código
LOC/FP
Produtividade
Média
Linguagem
Média
Mediana
Baixa
Alta
Cons
Access
35
38
15
47
-
JSP
59
-
- -
-
JavaScript
58
63
42
75
50
ASP
69
62
32 127
-
Java
Visual Basic
62
63
53 77
80
47
42
16 158
-
VBScript
36
34
27 50
50

Fonte: http://www.qsm.com/FPGearing.html

Fatores de McConnell  Variação da produtividade em função da escala PM – Pessoa Mês
Fatores de McConnell
Fatores de McConnell
Fatores de McConnell
  • Variação da produtividade em função da escala

Fatores de McConnell  Variação da produtividade em função da escala PM – Pessoa Mês

PM Pessoa Mês

Fatores de McConnell  Variação da produtividade em função da escala PM – Pessoa Mês
Fatores de McConnell  Variação da produtividade em função da escala PM – Pessoa Mês
Aplicações da Técnica APF • Produtividade no Desenvolvimento Horas por PF – • Esforço de desenvolvimento
Aplicações da Técnica APF
Aplicações da Técnica APF
Aplicações da Técnica APF • Produtividade no Desenvolvimento Horas por PF – • Esforço de desenvolvimento

Produtividade no Desenvolvimento Horas por PF

Esforço de desenvolvimento Produtividade (H/PF) * Tamanho (PF)

Custo de Software Tamanho (PF) * Custo (R$/PF)

Taxa de Produção de Software PF/Mês; PF/Ano

Taxa de Manutenção de Software PF manutenção / PF aplicativo

Aplicações da Técnica APF • Produtividade no Desenvolvimento Horas por PF – • Esforço de desenvolvimento
Aplicações da Técnica APF • Produtividade no Desenvolvimento Horas por PF – • Esforço de desenvolvimento
Cálculo de PF  Caso de Uso
Cálculo de PF
Cálculo de PF
Cálculo de PF  Caso de Uso
  • Caso de Uso

Cálculo de PF  Caso de Uso
Cálculo de PF  Caso de Uso
Cálculo de PF  Caso de Uso
Cálculo de PF  Caso de Uso  Transações:  Caso de Uso (Diagrama de Casos
Cálculo de PF
Cálculo de PF
Cálculo de PF  Caso de Uso  Transações:  Caso de Uso (Diagrama de Casos
  • Caso de Uso

    • Transações:

  • Caso de Uso (Diagrama de Casos de Uso)

  • Arquivos:

    • Entidades (Caso de Uso Descritivo)

Cálculo de PF  Caso de Uso  Transações:  Caso de Uso (Diagrama de Casos
Cálculo de PF  Caso de Uso  Transações:  Caso de Uso (Diagrama de Casos
Cálculo de PF  Programa
Cálculo de PF
Cálculo de PF
Cálculo de PF  Programa
  • Programa

Cálculo de PF  Programa
Cálculo de PF  Programa
Cálculo de PF  Programa
Cálculo de PF  Programa  Transações:  Identificar a quantidade de Telas  Verificar quantas
Cálculo de PF
Cálculo de PF
Cálculo de PF  Programa  Transações:  Identificar a quantidade de Telas  Verificar quantas
  • Programa

    • Transações:

  • Identificar a quantidade de Telas

  • Verificar quantas transições cada tela terá

  • Arquivos:

    • Identificar nas tela quantas entidades os campos representam.

    • Contar a quantidade de campos visíveis

    • Mensagem de retorno conta como um atributo do arquivo, assim como o botão de cadastro

Cálculo de PF  Programa  Transações:  Identificar a quantidade de Telas  Verificar quantas
Cálculo de PF  Programa  Transações:  Identificar a quantidade de Telas  Verificar quantas
Cálculo de PF  Diagrama de Classes
Cálculo de PF
Cálculo de PF
Cálculo de PF
  • Diagrama de Classes

Cálculo de PF  Diagrama de Classes
Cálculo de PF  Diagrama de Classes
Cálculo de PF  Diagrama de Classes
Cálculo de PF  Diagrama de Classes  Transações:  Métodos das classes que o usuário
Cálculo de PF
Cálculo de PF
Cálculo de PF
  • Diagrama de Classes

    • Transações:

      • Métodos das classes que o usuário tenha

acesso

  • Implementações internas não serão contadas

  • Arquivos:

    • Verificar classe ou grupo de classes representa uma entidade (Arquivo)

    • Somar os atributos que compõem a entidade

Cálculo de PF  Diagrama de Classes  Transações:  Métodos das classes que o usuário
Cálculo de PF  Diagrama de Classes  Transações:  Métodos das classes que o usuário
Cálculo de PF  Diagrama de Classes  Obs:1 Apenas os atributos que serão exibidos devem
Cálculo de PF
Cálculo de PF
Cálculo de PF
  • Diagrama de Classes

    • Obs:1 Apenas os atributos que serão exibidos devem ser contados. Detalhes de implementação não serão considerados

    • Obs2: A contagem nos diagramas pode antecipar as estimativas de custo/esforço, mas é preciso atentar para a Obs1

Cálculo de PF  Diagrama de Classes  Obs:1 Apenas os atributos que serão exibidos devem
Cálculo de PF  Diagrama de Classes  Obs:1 Apenas os atributos que serão exibidos devem
Cálculo de PF  Diagrama de Sequência
Cálculo de PF
Cálculo de PF


Diagrama de Sequência

Cálculo de PF  Diagrama de Sequência
Cálculo de PF  Diagrama de Sequência
Cálculo de PF  Diagrama de Sequência
Cálculo de PF  Diagrama de Sequência  Transações:  Cada passo da sequência, menos se
Cálculo de PF
Cálculo de PF
Cálculo de PF
  • Diagrama de Sequência

    • Transações:

      • Cada passo da sequência, menos se o retorno for mensagem

    • Arquivos:

      • Cada Lifeline representa uma classe, que pode representar um arquivo

      • Ver na classe os atributos a serem contados

      • Mensagem de retorno conta como um atributo do arquivo

Cálculo de PF  Diagrama de Sequência  Transações:  Cada passo da sequência, menos se
Cálculo de PF  Diagrama de Sequência  Transações:  Cada passo da sequência, menos se
Cálculo de PF  Tela
Cálculo de PF
Cálculo de PF
Cálculo de PF  Tela
  • Tela

Cálculo de PF  Tela
Cálculo de PF  Tela
Cálculo de PF  Tela
Cálculo de PF  Tela  Transações:  Quantidade de Transições de Tela Ex: Na tela
Cálculo de PF
Cálculo de PF
Cálculo de PF  Tela  Transações:  Quantidade de Transições de Tela Ex: Na tela
  • Tela

    • Transações:

  • Quantidade de Transições de Tela

Ex: Na tela de cadastro temos uma consulta de dados

pessoais, que contará como uma transação a mais

  • Arquivos:

    • Identificar na tela quantas entidades os campos representam.

    • Contar a quantidade de campos visíveis

    • Mensagem de retorno conta como um atributo do arquivo, assim como o botão de cadastro

Cálculo de PF  Tela  Transações:  Quantidade de Transições de Tela Ex: Na tela
Cálculo de PF  Tela  Transações:  Quantidade de Transições de Tela Ex: Na tela
Cálculo de PF  Arquivo  É muito comum utilizarmos persistência de dados em formatos diversos
Cálculo de PF
Cálculo de PF
Cálculo de PF  Arquivo
  • Arquivo

 É muito comum utilizarmos persistência de dados em formatos diversos de arquivos, pela facilidade de
É muito comum utilizarmos persistência de dados
em formatos diversos de arquivos, pela facilidade
de manipulação (manual ou automatizada) e
pela portabilidade
Exemplos:
XML
CSV
Texto
Etc.
Cálculo de PF  Arquivo  Transações:  Verificar que funcionalidades sensibilizam os arquivos  Arquivos:
Cálculo de PF
Cálculo de PF
Cálculo de PF  Arquivo  Transações:  Verificar que funcionalidades sensibilizam os arquivos  Arquivos:
  • Arquivo

    • Transações:

  • Verificar que funcionalidades sensibilizam os arquivos

  • Arquivos:

    • Normalmente, representam apenas um ALI

    • Arquivos XML, por serem dados estruturados, podem, em algum momento, representar mais de um ALI

Cálculo de PF  Arquivo  Transações:  Verificar que funcionalidades sensibilizam os arquivos  Arquivos:
Cálculo de PF  Arquivo  Transações:  Verificar que funcionalidades sensibilizam os arquivos  Arquivos:
Cálculo de PF  Arquivo  Exemplo  Ver o arquivo XML gerado pela ferramenta GOT
Cálculo de PF
Cálculo de PF
Cálculo de PF  Arquivo  Exemplo  Ver o arquivo XML gerado pela ferramenta GOT
  • Arquivo

    • Exemplo

  • Ver o arquivo XML gerado pela ferramenta GOT
    2

Cálculo de PF  Arquivo  Exemplo  Ver o arquivo XML gerado pela ferramenta GOT
Cálculo de PF  Arquivo  Exemplo  Ver o arquivo XML gerado pela ferramenta GOT
Cálculo de PF  DFD – Diagrama de Fluxo de Dados
Cálculo de PF
Cálculo de PF
Cálculo de PF

DFD Diagrama de Fluxo de Dados

Cálculo de PF  DFD – Diagrama de Fluxo de Dados
Cálculo de PF  DFD – Diagrama de Fluxo de Dados
Cálculo de PF  DFD – Diagrama de Fluxo de Dados
Cálculo de PF  DFD – Diagrama de Fluxo de Dados  Transações:  Identificar os
Cálculo de PF
Cálculo de PF
Cálculo de PF

DFD Diagrama de Fluxo de Dados

  • Transações:

    • Identificar os processos que compõem o diagrama

  • Arquivos:

    • Identificar as Entidade Externa e Depósitos de Dados, que representarão um ou mais arquivos

    • Enquanto as Entidades Externas podem ser ALIs ou AIE, os Depósitos de Dados são sempre ALIs

Cálculo de PF  DFD – Diagrama de Fluxo de Dados  Transações:  Identificar os
Cálculo de PF  DFD – Diagrama de Fluxo de Dados  Transações:  Identificar os
Cálculo de PF  DFD – Diagrama de Fluxo de Dados  Obs:  Cuidado na
Cálculo de PF
Cálculo de PF
Cálculo de PF

DFD Diagrama de Fluxo de Dados

  • Obs:

Cálculo de PF  DFD – Diagrama de Fluxo de Dados  Obs:  Cuidado na
  • Cuidado na redundância de dados, pois os dados referente a Entidade Externa podem fazer parte de um Arquivo e o Deposito de Dados de Outro

Cálculo de PF  DFD – Diagrama de Fluxo de Dados  Obs:  Cuidado na
Cálculo de PF  DFD – Diagrama de Fluxo de Dados  Obs:  Cuidado na
Cálculo de PF  Diagrama Lógico de Dados
Cálculo de PF
Cálculo de PF
Cálculo de PF  Diagrama Lógico de Dados
  • Diagrama Lógico de Dados

Cálculo de PF  Diagrama Lógico de Dados
Cálculo de PF  Diagrama Lógico de Dados
Cálculo de PF  Diagrama Lógico de Dados
Cálculo de PF  Diagrama Lógico de Dados
Cálculo de PF
Cálculo de PF
Cálculo de PF  Diagrama Lógico de Dados
  • Diagrama Lógico

de Dados

Cálculo de PF  Diagrama Lógico de Dados
Cálculo de PF  Diagrama Lógico de Dados
Cálculo de PF  Diagrama Lógico de Dados
Cálculo de PF  Diagrama Lógico de Dados  Transações:  Processamentos e Condicionais (Analisar) são
Cálculo de PF
Cálculo de PF
Cálculo de PF

Diagrama Lógico de Dados

  • Transações:

    • Processamentos

e Condicionais

(Analisar) são contados

Cálculo de PF  Diagrama Lógico de Dados  Transações:  Processamentos e Condicionais (Analisar) são
  • Arquivos:

    • Verificar dados da entrada

Cálculo de PF  Diagrama Lógico de Dados  Transações:  Processamentos e Condicionais (Analisar) são

e da saída de

dados

Cálculo de PF  Diagrama Lógico de Dados  Transações:  Processamentos e Condicionais (Analisar) são
Cálculo de PF  Diagrama Lógico de Dados  Transações:  Processamentos e Condicionais (Analisar) são