Você está na página 1de 53

Estimativa / Viabilidade

“Todos os projetos são viáveis – desde que tenham ilimitados recursos e tempo infinito!”

Leitura:

Cap6 e 23: Sommerville; Cap2 e 3: Pressman; Cap4: Ariadne

Auxiliadora Freire

Fonte: Engenharia de Software 6º - 8º Edição / ©Ian Sommerville 2000-2007 Engenharia de Softawre 3º Edição / Roger Pressman Engenharia de Software 1º Edição / Ariadne Carvalho http://www.cin.ufpe.br/~lhcl/aer/index.html

Slide 1

Objetivos

Compreender os fundamentos dos custos e dos preços de software e a complexa relação entre eles.

Conhecer tipos de métricas utilizadas para avaliar a produtividade de software.

Auxiliadora Freire

Fonte: Engenharia de Software 6º - 8º Edição / ©Ian Sommerville 2000-2007 Engenharia de Softawre 3º Edição / Roger Pressman Engenharia de Software 1º Edição / Ariadne Carvalho http://www.cin.ufpe.br/~lhcl/aer/index.html

Slide 2

Estudo de viabilidade

O estudo de viabilidade decide se vale a pena construir o sistema.

Um estudo breve, com foco nos benefícios, custos e necessidades, que checa

• Se o sistema contribui para os objetivos gerais da organização?

• Se o sistema pode ser implementado usando a tecnologia atual dentro das restrições de custo e de prazo?

• Se o sistema pode ser integrado com outros sistemas já em operação?

Auxiliadora Freire

Fonte: Engenharia de Software 6º - 8º Edição / ©Ian Sommerville 2000-2007 Engenharia de Softawre 3º Edição / Roger Pressman Engenharia de Software 1º Edição / Ariadne Carvalho http://www.cin.ufpe.br/~lhcl/aer/index.html

Slide 3

Estudo de viabilidade

Baseado na coleta e na análise de informações e na elaboração de relatórios. Questões que podem ser abordadas:

Baseado na coleta e na análise de informações e na elaboração de relatórios. Questões que podem

• O que acontece se o sistema não for implementado?

• Quais são os problemas com os processos atuais?

• Como o sistema proposto pode ajudar?

• Quais serão os possíveis problemas de integração?

• É necessária a adoção de nova tecnologia ou o desenvolvimento de novas habilidades?

• Quais facilidades devem ser fornecidas pelo sistema?

Auxiliadora Freire

Fonte: Engenharia de Software 6º - 8º Edição

/ ©Ian Sommerville 2000-2007

Slide 4

Engenharia de Softawre 3º Edição / Roger Pressman Engenharia de Software 1º Edição / Ariadne Carvalho

http://www.cin.ufpe.br/~lhcl/aer/index.html

Tipos de viabilidade

Viabilidade TÉCNICA

Viabilidade ECONÔMICA

Viabilidade OPERACIONAL

Auxiliadora Freire

Fonte: Engenharia de Software 6º - 8º Edição / ©Ian Sommerville 2000-2007 Engenharia de Softawre 3º Edição / Roger Pressman Engenharia de Software 1º Edição / Ariadne Carvalho http://www.cin.ufpe.br/~lhcl/aer/index.html

Slide 5

Tipos de viabilidade

Viabilidade TÉCNICA

• Estudo da função, do desempenho e das restrições que possam afetar a capacidade de se conseguir um sistema

aceitável; Ex. Sistema implantado utilizando a tecnologia atual; Tempo de resposta 3seg Viabilidade ECONÔMICA

» Os benefícios contrabalançam os custos;

» Calcule o custo de cada alternativa;

» Análise de custo / benefício considere somente alternativa de retorno positivo.

Viabilidade OPERACIONAL

» Sistema pode ser implementado nesta organização;

» Usuário pode opor-se a um serviço terceirizado

Auxiliadora Freire

Fonte: Engenharia de Software 6º - 8º Edição / ©Ian Sommerville 2000-2007 Engenharia de Softawre 3º Edição / Roger Pressman Engenharia de Software 1º Edição / Ariadne Carvalho http://www.cin.ufpe.br/~lhcl/aer/index.html

Slide 6

Lista de alternativas

Os aspectos funcionais de cada alternativa devem ser verificados e pontuados pela complexidade de implementação.

Se duas funcionalidade têm a mesma funcionalidade de implementação e a mesma prioridade de negociação, a mais simples é a melhor.

As alternativas tecnicamente viáveis podem ser apresentadas ao usuário para verificar se ele rejeita alguma delas ( viabilidade operacional).

As alternativas viáveis devem ser apresentadas ao cliente, incluindo-se considerações sobre vantagens e desvantagens de cada uma.

Deve-se apresentar uma recomendação da melhor solução para o problema, com um estudo de custo-benefício detalhado.

Auxiliadora Freire

Fonte: Engenharia de Software 6º - 8º Edição / ©Ian Sommerville 2000-2007 Engenharia de Softawre 3º Edição / Roger Pressman Engenharia de Software 1º Edição / Ariadne Carvalho http://www.cin.ufpe.br/~lhcl/aer/index.html

Slide 7

Estimativas

Grau de estrutura do projeto

Tamanho do esforço Complexidade
Tamanho do esforço
Complexidade

Auxiliadora Freire

Fonte: Engenharia de Software 6º - 8º Edição / ©Ian Sommerville 2000-2007 Engenharia de Softawre 3º Edição / Roger Pressman Engenharia de Software 1º Edição / Ariadne Carvalho http://www.cin.ufpe.br/~lhcl/aer/index.html

Slide 8

Estimativas

A complexidade do projeto

• Incerteza

• Medida relativa

• Medidas quantitativas da complexidade (nível/projeto e código)

O tamanho do projeto

Precisão e a eficácia das estimativas

O grau de estrutura do projeto

• Facilidade com que as funções podem ser dispostas

Auxiliadora Freire

Fonte: Engenharia de Software 6º - 8º Edição / ©Ian Sommerville 2000-2007 Engenharia de Softawre 3º Edição / Roger Pressman Engenharia de Software 1º Edição / Ariadne Carvalho http://www.cin.ufpe.br/~lhcl/aer/index.html

Slide 9

Estimativas

As estimativas têm por objetivo determinar os gastos necessário para produzir um software.

Questões fundamentais

• Quanto esforço é requerido para completar uma atividade?

• Quantos dias ou meses são necessários para completar uma atividade?

• Qual o custo total de uma atividade?

• Quão produtiva é a equipe de desenvolvimento?

Estimativas e elaboração do cronograma são atividades interdependentes.

Auxiliadora Freire

Fonte: Engenharia de Software 6º - 8º Edição / ©Ian Sommerville 2000-2007 Engenharia de Softawre 3º Edição / Roger Pressman Engenharia de Software 1º Edição / Ariadne Carvalho http://www.cin.ufpe.br/~lhcl/aer/index.html

Slide 10

Estimativas

Estimativas dos recursos necessários

• Custo de estrutura: hardware, software e manutenção.

• Custo de logística: viagem e treinamento

• Custo de esforço humano: salários e encargos dos profissionais envolvidos no projeto.

Auxiliadora Freire

Fonte: Engenharia de Software 6º - 8º Edição / ©Ian Sommerville 2000-2007 Engenharia de Softawre 3º Edição / Roger Pressman Engenharia de Software 1º Edição / Ariadne Carvalho http://www.cin.ufpe.br/~lhcl/aer/index.html

Slide 11

Estimativas

Fatores que afetam a estimativa do preço do software

Oportunidade de mercado

pode-se estabelecer um preço baixo para iniciar em um novo segmento do mercado.

Incerteza quanto ao custo

preço pode embutir um lucro acima do normal para compensar despesas não previstas.

o

Condições contratuais.

o

preço pode ser menor (se o fornecedor puder usar o produto em

outros projetos) ou maior (se for obrigado a bancar eventuais riscos)

que o habitual.

Volatilidade dos requisitos

pode justificar um preço mais baixo (se houver possibilidade de cobrar por mudanças) ou mais alto (se o preço acertado não puder ser ajustado).

Saúde financeira

fornecedores podem baixar o preço para conseguir o contrato (obtendo um lucro menor).

Auxiliadora Freire

Fonte: Engenharia de Software 6º - 8º Edição / ©Ian Sommerville 2000-2007 Engenharia de Softawre 3º Edição / Roger Pressman Engenharia de Software 1º Edição / Ariadne Carvalho http://www.cin.ufpe.br/~lhcl/aer/index.html

Slide 12

Produtividade / Métricas

A produtividade em um sistema de manufatura pode ser medida pela contagem do número de unidades produzidas, dividindo-se o resultado pelo número de pessoa-hora necessário para a produção.

Auxiliadora Freire

Fonte: Engenharia de Software 6º - 8º Edição / ©Ian Sommerville 2000-2007 Engenharia de Softawre 3º Edição / Roger Pressman Engenharia de Software 1º Edição / Ariadne Carvalho http://www.cin.ufpe.br/~lhcl/aer/index.html

Slide 13

Fatores que afetam a produtividade

Experiência

»

O conhecimento do domínio da aplicação afeta favoravelmente a produtividade.

Qualidade do processo

»

O processo de desenvolvimento utilizado afeta significativamente a produtividade.

Tamanho do projeto

»

Quanto maior o projeto mais complexas as interações e comunicações entre as pessoas.

Suporte à tecnologia

»

Um ambiente adequado facilita o desenvolvimento. Ex. uso do CASE.

Ambiente de trabalho

» O ambiente de trabalho afeta favoravelmente a produtividade

Auxiliadora Freire

Fonte: Engenharia de Software 6º - 8º Edição / ©Ian Sommerville 2000-2007 Engenharia de Softawre 3º Edição / Roger Pressman Engenharia de Software 1º Edição / Ariadne Carvalho http://www.cin.ufpe.br/~lhcl/aer/index.html

Slide 14

Produtividade / Métricas

O que é medição?

É o processo de descrever atributos de entidades, por meio da associação de números e símbolos que atendam a um conjunto de regras definidas claramente.

Exemplo:

» Entidade: Clima Atributo: Temperatura

» Entidade Software Atributo: Tamanho – Métrica: KLOC (Milhares de Linhas de Código)

Auxiliadora Freire

Fonte: Engenharia de Software 6º - 8º Edição / ©Ian Sommerville 2000-2007 Engenharia de Softawre 3º Edição / Roger Pressman Engenharia de Software 1º Edição / Ariadne Carvalho http://www.cin.ufpe.br/~lhcl/aer/index.html

Slide 15

Produtividade / Métricas

Importância da medição de software:

• fornecer aos gerentes e engenheiros de software um conjunto de informações tangíveis para:

»planejar o projeto; »realizar estimativas; »gerenciar e controlar os projetos com maior precisão.

Auxiliadora Freire

Fonte: Engenharia de Software 6º - 8º Edição / ©Ian Sommerville 2000-2007 Engenharia de Softawre 3º Edição / Roger Pressman Engenharia de Software 1º Edição / Ariadne Carvalho http://www.cin.ufpe.br/~lhcl/aer/index.html

Slide 16

Métricas

Métricas históricas »Obtidas a partir de experiências anteriores da equipe Métricas empíricas »Dados estatísticos de diferentes equipes Medidas indiretas - »Permitem quantizar aspectos como a funcionalidade, complexidade, eficiência, manutenibilidade, dentre outros.

- »Permitem quantizar aspectos como a funcionalidade, complexidade, eficiência, manutenibilidade, dentre outros.
- »Permitem quantizar aspectos como a funcionalidade, complexidade, eficiência, manutenibilidade, dentre outros.

Auxiliadora Freire

Fonte: Engenharia de Software 6º - 8º Edição / ©Ian Sommerville 2000-2007 Engenharia de Softawre 3º Edição / Roger Pressman Engenharia de Software 1º Edição / Ariadne Carvalho http://www.cin.ufpe.br/~lhcl/aer/index.html

Slide 17

Métricas

Medidas diretas -

• A medição direta de atributo de uma entidade é aquela que não envolve nenhum outro atributo ou entidade para se chegar na medida desejada

» Exemplo: altura de uma pessoa

» Exemplo de medidas diretas em engenharia de software:

Auxiliadora Freire

Tamanho do código fonte (medido em linhas de código) Duração do processo de teste Número de defeitos descoberto durante o processo de teste Tempo de programação de uma rotina (em horas)

Fonte: Engenharia de Software 6º - 8º Edição / ©Ian Sommerville 2000-2007 Engenharia de Softawre 3º Edição / Roger Pressman Engenharia de Software 1º Edição / Ariadne Carvalho http://www.cin.ufpe.br/~lhcl/aer/index.html

Slide 18

Métricas

MEDIDAS DO SOFTWARE

Métricas MEDIDAS DO SOFTWARE MEDIDAS DIRETAS MEDIDAS INDIRETAS • Funcionalidade • Qualidade • Complexidade

MEDIDAS DIRETAS

MEDIDAS INDIRETAS

Funcionalidade

Qualidade

Complexidade

Eficiência

Confiabilidade

Manutenibilidade

Slide 19

Custo Esforço Linhas de Código Velocidade de Execução Memória Nro de Erros

Auxiliadora Freire

Fonte: Engenharia de Software 6º - 8º Edição / ©Ian Sommerville 2000-2007 Engenharia de Softawre 3º Edição / Roger Pressman Engenharia de Software 1º Edição / Ariadne Carvalho http://www.cin.ufpe.br/~lhcl/aer/index.html

Classificação das Métricas

enfoca características do software (complexidade, modularidade)

enfoca características do software (complexidade, modularidade)

conformidade com os requisitos implícitos e explícitos do usuário Técnicas de Qualidade de Produtividade
conformidade com os requisitos
implícitos e explícitos do usuário
Técnicas
de Qualidade
de Produtividade
Orientadas ao
Tamanho
Orientadas à
Função
Orientadas ao
Ser Humano

enfoca a saída do processo de eng. de software

computam medidas diretas do software

computam medidas indiretas do software

atuação das pessoas; seus relacionamentos com ferramentas e métodos

Auxiliadora Freire

Fonte: Engenharia de Software 6º - 8º Edição / ©Ian Sommerville 2000-2007 Engenharia de Softawre 3º Edição / Roger Pressman Engenharia de Software 1º Edição / Ariadne Carvalho http://www.cin.ufpe.br/~lhcl/aer/index.html

Slide 20

Métricas

Classificação das medições:

Métricas orientadas ao tamanho - baseadas nas medições diretas da ES. Esta classe abrange todas as possíveis medidas obtidas diretamente do software.

Métricas orientadas à função - baseada em medidas indiretas do software e do processo utilizado para obtê-lo. Esta métrica leva em conta aspectos como a funcionalidade e a utilidade do programa.

Métricas orientadas às pessoas - as quais dão indicações sobre a forma como as pessoas desenvolvem os programas de computador.

Auxiliadora Freire

Fonte: Engenharia de Software 6º - 8º Edição / ©Ian Sommerville 2000-2007 Engenharia de Softawre 3º Edição / Roger Pressman Engenharia de Software 1º Edição / Ariadne Carvalho http://www.cin.ufpe.br/~lhcl/aer/index.html

Slide 21

Produtividade –

Relacionadas a Tamanho do Código

As primeiras tentativas de se medir o tamanho de um sistema (1996) levou em consideração as LOCs (Lines Of Code- Linhas de Código).

Forte dependência da linguagem no uso desta técnica.

Como considera-se o tempo total do projeto, esta medida envolve as fases de análise, projeto, teste, documentação, além da codificação.

Não existe uniformidade com relação à unidade de medida. Algumas propostas medem toda e qualquer declaração, outras apenas declarações executáveis, outras ainda medem as linhas escritas (incluindo ou não comentários).

É difícil (e imprecisa) a comparação entre linguagens e ambientes de programação diferentes.

Auxiliadora Freire

Fonte: Engenharia de Software 6º - 8º Edição / ©Ian Sommerville 2000-2007 Engenharia de Softawre 3º Edição / Roger Pressman Engenharia de Software 1º Edição / Ariadne Carvalho http://www.cin.ufpe.br/~lhcl/aer/index.html

Slide 22

Utilização de Métricas

Projeto Esforço $ KLOC Págs.docum. Erros Pessoas projA-01 24 168 12.1 365 29 3 projB-04
Projeto
Esforço
$
KLOC
Págs.docum.
Erros
Pessoas
projA-01
24
168
12.1
365
29
3
projB-04
62
440
27.2
1224
86
5
projC-03
43
314
20.2
1050
64
6

MÉTRICAS

DERIVADAS

projC-03 43 314 20.2 1050 64 6 MÉTRICAS DERIVADAS PRODUTIVIDADE = QUALIDADE = CUSTO = DOCUMENTAÇÃO
projC-03 43 314 20.2 1050 64 6 MÉTRICAS DERIVADAS PRODUTIVIDADE = QUALIDADE = CUSTO = DOCUMENTAÇÃO

PRODUTIVIDADE = QUALIDADE = CUSTO = DOCUMENTAÇÃO =

KLOC / Pessoas-mês Erros / KLOC $ / LOC Págs.docum. / KLOC

Auxiliadora Freire

Fonte: Engenharia de Software 6º - 8º Edição / ©Ian Sommerville 2000-2007 Engenharia de Softawre 3º Edição / Roger Pressman Engenharia de Software 1º Edição / Ariadne Carvalho http://www.cin.ufpe.br/~lhcl/aer/index.html

Slide 23

Produtividade –

Tempo de desenvolvimento (exem)

Linguagem

Análise

Projeto

Codificação

Testes

Documentação

Código

3

sem

5

sem

8

sem

10 sem

2

sem

assembly

       

Linguagem de alto nível

3

sem

5

sem

5

sem

5 sem

2

sem

Auxiliadora Freire

Fonte: Engenharia de Software 6º - 8º Edição / ©Ian Sommerville 2000-2007 Engenharia de Softawre 3º Edição / Roger Pressman Engenharia de Software 1º Edição / Ariadne Carvalho http://www.cin.ufpe.br/~lhcl/aer/index.html

Slide 24

Produtividade –

Tempo de desenvolvimento (exem)

 

Tamanho

 

Esforço

Produtividade

Código assembly

5000

linhas

28

semanas

714

linhas/mês

Linguagem de alto nível

1500

linhas

20

semanas

300

linhas/mês

Auxiliadora Freire

Fonte: Engenharia de Software 6º - 8º Edição / ©Ian Sommerville 2000-2007 Engenharia de Softawre 3º Edição / Roger Pressman Engenharia de Software 1º Edição / Ariadne Carvalho http://www.cin.ufpe.br/~lhcl/aer/index.html

Slide 25

Produtividade

Pontos de Funções FPA – Function Point Analysis

Os pontos de função (proposto por Albrecht (1979 - aperfeiçoado em 1983) são usados como uma medida da funcionalidade do código. São independente da linguagem de implementação e são apropriados para sistemas com predominância de funções de entrada e saída. A técnica de FPA mede “o que” é o sistema e não “como” será, ou foi, desenvolvido Um dos principais conceitos relativos a FPA é que as funções devem ser contadas a partir da perspectiva do usuário e não do analista ou programador. Pontos de função é baseada em medidas indiretas sobre a complexidade do software. O grupo responsável pela padronização denomina-se IFPUG (International Function Point Users Group, 2000).

software. O grupo responsável pela padronização denomina-se IFPUG (International Function Point Users Group , 2000).
software. O grupo responsável pela padronização denomina-se IFPUG (International Function Point Users Group , 2000).
software. O grupo responsável pela padronização denomina-se IFPUG (International Function Point Users Group , 2000).
software. O grupo responsável pela padronização denomina-se IFPUG (International Function Point Users Group , 2000).
software. O grupo responsável pela padronização denomina-se IFPUG (International Function Point Users Group , 2000).

Auxiliadora Freire

Fonte: Engenharia de Software 6º - 8º Edição / ©Ian Sommerville 2000-2007 Engenharia de Softawre 3º Edição / Roger Pressman Engenharia de Software 1º Edição / Ariadne Carvalho http://www.cin.ufpe.br/~lhcl/aer/index.html

Slide 26

Produtividade – Relacionadas a Pontos de Funções

Um ponto de função não é (mede) uma característica única. Ele é calculado medindo-se ou estimando-se as seguintes características:

» entrada e saídas externas

» interações com o usuário

» interfaces externas

» arquivos utilizados pelo sistema

» Cada uma dessas características é individualmente avaliada em termos da complexidade e recebe um peso que varia de de 3, para entradas externas simples, a 15, para arquivos externos complexos

Auxiliadora Freire

Fonte: Engenharia de Software 6º - 8º Edição / ©Ian Sommerville 2000-2007 Engenharia de Softawre 3º Edição / Roger Pressman Engenharia de Software 1º Edição / Ariadne Carvalho http://www.cin.ufpe.br/~lhcl/aer/index.html

Slide 27

Produtividade – Relacionadas a Pontos de Funções

A contagem dos pontos de função é feita em duas etapas. Primeiro obtém-se uma contagem não ajustada:

multiplicando a quantidade de elementos de cada característica pelo peso da característica,

somando-se todos os valores obtidos:

[ PFna = Soma( num. elem. dado tipo x peso) ]

PFna Ponto de Função não ajustada

Auxiliadora Freire

Fonte: Engenharia de Software 6º - 8º Edição / ©Ian Sommerville 2000-2007 Engenharia de Softawre 3º Edição / Roger Pressman Engenharia de Software 1º Edição / Ariadne Carvalho http://www.cin.ufpe.br/~lhcl/aer/index.html

Slide 28

Produtividade – Relacionadas a Pontos de Funções

Parâmetros

Qte

 

Simples

Médi

Complex

Total

o

os

Num. de entradas de usuários

 

x

3

4

6

=

Num. de saídas p/ usuários

 

x

4

5

7

=

Num. de consultas do usuários

 

x

3

4

6

=

Num. de arquivos

 

x

7

10

15

=

Num. de interfaces externas

 

x

5

7

10

=

     

Pontos de funções não ajustados (Fi)

=

Auxiliadora Freire

Fonte: Engenharia de Software 6º - 8º Edição / ©Ian Sommerville 2000-2007 Engenharia de Softawre 3º Edição / Roger Pressman Engenharia de Software 1º Edição / Ariadne Carvalho http://www.cin.ufpe.br/~lhcl/aer/index.html

Slide 29

Produtividade – Relacionadas a Pontos de Funções

PF = PFna x (0.65 + 0.01 x Soma(Fi))

onde Fi (1 <= i <= 14) são 14 fatores de ajuste avaliados segundo uma escala de 0 (não importante) a 5 (essencial). Por exemplo. (Pressman – tab2.1).

Auxiliadora Freire

Fonte: Engenharia de Software 6º - 8º Edição / ©Ian Sommerville 2000-2007 Engenharia de Softawre 3º Edição / Roger Pressman Engenharia de Software 1º Edição / Ariadne Carvalho http://www.cin.ufpe.br/~lhcl/aer/index.html

Slide 30

Produtividade – Relacionadas a Pontos de Funções

MÉTRICA ORIENTADA À FUNÇÃO - PF

Responder as questões 1-14, considerando a escala de 0 a 5:

influência

0

1

2

3

4

5

considerando a escala de 0 a 5: influência 0 1 2 3 4 5 nenhuma pouca
considerando a escala de 0 a 5: influência 0 1 2 3 4 5 nenhuma pouca
considerando a escala de 0 a 5: influência 0 1 2 3 4 5 nenhuma pouca
considerando a escala de 0 a 5: influência 0 1 2 3 4 5 nenhuma pouca
considerando a escala de 0 a 5: influência 0 1 2 3 4 5 nenhuma pouca
considerando a escala de 0 a 5: influência 0 1 2 3 4 5 nenhuma pouca

nenhuma pouca

moderada

média

significante essencial

1. O sistema exige backup e recuperação confiáveis?

2. É requerida comunicação de dados?

3. Existem funções de processamento distribuído?

4. O desempenho é crítico?

5. O sistema funcionará num sistema operacional existente e intensamente utilizado?

6. São requeridas entrada de dados on-line?

7. As entradas on-line requerem que as transações de entrada sejam construídas com várias telas e operações?

8. Os arquivos são atualizados on-line?

9. Entradas, saídas, arquivos e consultas são complexos?

10. O processamento interno é complexo?

11. O código é projetado para ser reusával?

12. A conversão e a instalação estão incuídas no projeto?

13. O sistema é projetado para múltiplas instalações em diferentes organizações?

14. A aplicação é projetada de forma a facilitar mudanças e o uso pelo usuário?

Auxiliadora Freire

Fonte: Engenharia de Software 6º - 8º Edição

/ ©Ian Sommerville 2000-2007

Slide 31

Engenharia de Softawre 3º Edição / Roger Pressman Engenharia de Software 1º Edição / Ariadne Carvalho

http://www.cin.ufpe.br/~lhcl/aer/index.html

Produtividade – Relacionadas a Pontos de Funções

Os pontos de função podem ser usados em conjunto com estimativas de linhas de código.

Através de análises históricas é possível estimar o número médio de linhas de código (NMLC) para cada ponto de função:

Tamanho do código = NMLC x Qtd. pontos de função

Valores padrões:

» Linguagem assembler: 200-300 LC/FP.

» Linguagem 4GL: 2-40 LC/FP.

Auxiliadora Freire

Fonte: Engenharia de Software 6º - 8º Edição / ©Ian Sommerville 2000-2007 Engenharia de Softawre 3º Edição / Roger Pressman Engenharia de Software 1º Edição / Ariadne Carvalho http://www.cin.ufpe.br/~lhcl/aer/index.html

Slide 32

Linhas de Código x Pontos de Função

A relação entre linhas de código e pontos de função depende da linguagem de programação

Linguagem de Programação

LOC/PF (Média)

Assembly

300

COBOL

100

FORTRAN

100

Pascal

90

Ada

70

Linguagens Orientadas a Objeto

30

Linguagens de Quarta Geração

20

Geradores de Código

15

Auxiliadora Freire

Fonte: Engenharia de Software 6º - 8º Edição / ©Ian Sommerville 2000-2007 Engenharia de Softawre 3º Edição / Roger Pressman Engenharia de Software 1º Edição / Ariadne Carvalho http://www.cin.ufpe.br/~lhcl/aer/index.html

Slide 33

Produtividade – Relacionadas a Pontos de Função

!

" # $ % & $% ' ! !

( ) *

Auxiliadora Freire

Fonte: Engenharia de Software 6º - 8º Edição / ©Ian Sommerville 2000-2007 Engenharia de Softawre 3º Edição / Roger Pressman Engenharia de Software 1º Edição / Ariadne Carvalho http://www.cin.ufpe.br/~lhcl/aer/index.html

Slide 34

Estimativa de custos

Realizar estimativas de custo é tarefa complexa, com inerente imprecisão:

• Pode ser necessário estimar com base em requisitos incompletos ou de alto nível.

• A infra-estrutura em que o software será utilizado (máquinas, sistemas operacionais) pode ser desconhecida.

• A tecnologia de desenvolvimento pode ser nova.

• As habilidades das pessoas envolvidas no projeto podem ser desconhecidas

Auxiliadora Freire

Fonte: Engenharia de Software 6º - 8º Edição / ©Ian Sommerville 2000-2007 Engenharia de Softawre 3º Edição / Roger Pressman Engenharia de Software 1º Edição / Ariadne Carvalho http://www.cin.ufpe.br/~lhcl/aer/index.html

Slide 35

Técnicas de estimativa de custos

Modelagem algorítmica do custo

Desenvolve-se um modelo usando-se informações históricas sobre custo, baseado em alguma métrica do software (tamanho, por exemplo). Estima-se o valor para essa métrica e o modelo fornece o custo.

Julgamento de especialistas

Compara-se e discute-se as estimativas feitas por diversos especialistas, procurando-se chegar a um consenso.

Estimativa por analogia

Estima-se o custo do projeto por analogia com os valores reais de projetos análogos já terminados.

Lei de Parkinson

Determina-se o custo em função dos recursos disponíveis.

Estimativa para obter contrato

Estima-se para vencer, adotando o preço que o cliente pode pagar.

Auxiliadora Freire

Fonte: Engenharia de Software 6º - 8º Edição / ©Ian Sommerville 2000-2007 Engenharia de Softawre 3º Edição / Roger Pressman Engenharia de Software 1º Edição / Ariadne Carvalho http://www.cin.ufpe.br/~lhcl/aer/index.html

Slide 36

Técnicas de estimativa de custos

Exemplos que podem afetar as estimativas baseadas na experiência:

• Desenvolvimento orientado a objetos x orientado a funções.

• Sistemas Cliente-Servidor x Sistemas Centralizados.

• Uso de componentes de prateleira x desenvolvimento de componentes.

• Uso de ferramentas CASE x desenvolvimento sem (ou com pouco) apoio.

Auxiliadora Freire

Fonte: Engenharia de Software 6º - 8º Edição / ©Ian Sommerville 2000-2007 Engenharia de Softawre 3º Edição / Roger Pressman Engenharia de Software 1º Edição / Ariadne Carvalho http://www.cin.ufpe.br/~lhcl/aer/index.html

Slide 37

Estudo de caso - Hotel

Objetivo do sistema.

Este sistema será utilizado para uma rede de hotéis. Cada hotel terá um ou vários terminais que permitirão as operações básicas de um hotel, podendo o cliente reservar e cancelar um apartamento através da Web, terá também comunicação com outro hotéis da mesma rede de modo a consultar sobre disponibilidade de vagas. Este sistema também faz interface com outros dois sistemas internos do hotel: controle de restaurante e controle de tarifação de telefone.

As funções básicas de controle são: cadastro de cliente,gerenciamento de reservas e ocupações, gerenciamento de pagamento, emissão de nota fiscal, emissão relatórios contábeis e reservas pela Web.

Auxiliadora Freire

Fonte: Engenharia de Software 6º - 8º Edição / ©Ian Sommerville 2000-2007 Engenharia de Softawre 3º Edição / Roger Pressman Engenharia de Software 1º Edição / Ariadne Carvalho http://www.cin.ufpe.br/~lhcl/aer/index.html

Slide 38

Estudo de caso – Hotel

Requisitos funcionais

Interface gráfica para entrada de dados. Entrada para cadastro de cliente (nome, endereço, e-mail, data de chegada, data de saída, classificação do cliente, documento). Consultas, reservas e cancelamento de reserva através da Web. Cadastro de apartamento: tipo de quarto (suíte, standard, duplo, ar-condicionado), cidade ou local. Cadastro de salas e auditório. Cadastro de despesas

quarto (suíte, standard, duplo, ar-condicionado), cidade ou local. Cadastro de salas e auditório. Cadastro de despesas
quarto (suíte, standard, duplo, ar-condicionado), cidade ou local. Cadastro de salas e auditório. Cadastro de despesas
quarto (suíte, standard, duplo, ar-condicionado), cidade ou local. Cadastro de salas e auditório. Cadastro de despesas
quarto (suíte, standard, duplo, ar-condicionado), cidade ou local. Cadastro de salas e auditório. Cadastro de despesas
quarto (suíte, standard, duplo, ar-condicionado), cidade ou local. Cadastro de salas e auditório. Cadastro de despesas

Auxiliadora Freire

Fonte: Engenharia de Software 6º - 8º Edição / ©Ian Sommerville 2000-2007 Engenharia de Softawre 3º Edição / Roger Pressman Engenharia de Software 1º Edição / Ariadne Carvalho http://www.cin.ufpe.br/~lhcl/aer/index.html

Slide 39

Estudo de caso – Hotel

Requisitos funcionais

Serviços adicionais são também incluídos no sistema:

telefone, TV paga, acesso à internet, 'frigobar', lavandeira, serviço de lanche e café da manhã. Conexão para consultas e reservas de vagas em outros

hotéis do grupo. Controle de ocupação de apartamento (reservado ou

entrada do hóspede). Controle de ocupação de salas e auditório.

Controle de limpeza dos apartamentos.

Preços diferenciados para alta temporada e baixa temporada.

Auxiliadora Freire

Fonte: Engenharia de Software 6º - 8º Edição / ©Ian Sommerville 2000-2007 Engenharia de Softawre 3º Edição / Roger Pressman Engenharia de Software 1º Edição / Ariadne Carvalho http://www.cin.ufpe.br/~lhcl/aer/index.html

Slide 40

Estudo de caso – Hotel

Requisitos funcionais

Descontos para clientes VIP e grupos. Recebimento de pagamento (tipo de pagamento cheque, dinheiro, cartão, parcelado, moeda estrangeira). Registrar situações de pagamento (cheque compensado, transferência realizada, parcelado, em dinheiro, ou moeda estrangeira). Emissão de nota fiscal (podendo ser separado por itens: hospedagem, restaurante, lavanderia, etc). Emissão da fatura parcial (somente para consulta).

ser separado por itens: hospedagem, restaurante, lavanderia, etc). Emissão da fatura parcial (somente para consulta).
ser separado por itens: hospedagem, restaurante, lavanderia, etc). Emissão da fatura parcial (somente para consulta).
ser separado por itens: hospedagem, restaurante, lavanderia, etc). Emissão da fatura parcial (somente para consulta).
ser separado por itens: hospedagem, restaurante, lavanderia, etc). Emissão da fatura parcial (somente para consulta).

Auxiliadora Freire

Fonte: Engenharia de Software 6º - 8º Edição / ©Ian Sommerville 2000-2007 Engenharia de Softawre 3º Edição / Roger Pressman Engenharia de Software 1º Edição / Ariadne Carvalho http://www.cin.ufpe.br/~lhcl/aer/index.html

Slide 41

Estudo de caso – Hotel

Requisitos funcionais

Emissão de relatórios contábeis. Relatórios de ocupação. Relatórios parciais de consulta. Os relatórios e consultas deverão também ser visualizados pelo terminal. Consulta o nome do cliente (se já existente). Gerar relatórios estatísticos (média de dias que o cliente se hospeda, gastos médios, itens mais consumidos nos restaurantes).

estatísticos (média de dias que o cliente se hospeda, gastos médios, itens mais consumidos nos restaurantes).
estatísticos (média de dias que o cliente se hospeda, gastos médios, itens mais consumidos nos restaurantes).
estatísticos (média de dias que o cliente se hospeda, gastos médios, itens mais consumidos nos restaurantes).
estatísticos (média de dias que o cliente se hospeda, gastos médios, itens mais consumidos nos restaurantes).
estatísticos (média de dias que o cliente se hospeda, gastos médios, itens mais consumidos nos restaurantes).

Auxiliadora Freire

Fonte: Engenharia de Software 6º - 8º Edição / ©Ian Sommerville 2000-2007 Engenharia de Softawre 3º Edição / Roger Pressman Engenharia de Software 1º Edição / Ariadne Carvalho http://www.cin.ufpe.br/~lhcl/aer/index.html

Slide 42

Estudo de caso – Hotel

Requisitos funcionais

Serviços de mala direta (podendo selecionar os clientes e enviar mensagens via e-mail ou imprimir cartas para serem enviados posteriormente via correio.

Pesquisa dos clientes no banco de dados segundo alguns tipos de critérios (freqüência que o cliente se hospeda, preferência de apartamentos, preferência de local, tipo de serviços utilizados, estadia de negócios ou turismo, faixa etária, procedência).

Auxiliadora Freire

Fonte: Engenharia de Software 6º - 8º Edição / ©Ian Sommerville 2000-2007 Engenharia de Softawre 3º Edição / Roger Pressman Engenharia de Software 1º Edição / Ariadne Carvalho http://www.cin.ufpe.br/~lhcl/aer/index.html

Slide 43

Produtividade – Relacionadas a Pontos de Funções

Parâmetros

Qte

 

Simples

Médi

Complex

Total

o

os

Num. de entradas de usuários

6

x

3

4

6

= 24

Num. de saídas p/ usuários

6

x

4

5

7

= 30

Num. de consultas do usuários

6

x

3

4

6

= 24

Num. de arquivos

6

x

7

10

15

= 60

Num. de interfaces externas

2

x

5

7

10

= 14

     

Pontos de funções não ajustados (Fi)

= 152

PF = PFna x (0.65 + 0.01 x Soma(Fi))

Auxiliadora Freire

Fonte: Engenharia de Software 6º - 8º Edição / ©Ian Sommerville 2000-2007 Engenharia de Softawre 3º Edição / Roger Pressman Engenharia de Software 1º Edição / Ariadne Carvalho http://www.cin.ufpe.br/~lhcl/aer/index.html

Slide 44

Estudo de caso – Hotel

Requisitos não funcionais

Tempo de resposta desejável menor que 10 segundos para consultas de vagas em outros hotéis da rede.

Utilização de computadores PC de mercado.

Sistema operacional Windows XP ou mais recente.

Utilização da linguagem JAVA.

Portabilidade para novos hardwares e sistemas operacionais (quando forem lançadas novas versões de sistema operacional).

Fonte: Engenharia de Software 6º - 8º Edição / ©Ian Sommerville 2000-2007

Auxiliadora Freire

Slide 45

Engenharia de Softawre 3º Edição / Roger Pressman Engenharia de Software 1º Edição / Ariadne Carvalho http://www.cin.ufpe.br/~lhcl/aer/index.html

Estudo de caso – Hotel

Requisitos não funcionais

Interface gráfica fácil de usar 'tipo Windows' para entrada de dados e operação

Procedimento de backup do cadastro de clientes e ocupação e dados correntes.

Senha de acesso ao sistema. Deverão ter senhas diferentes para recepcionistas, camareiras, gerentes e proprietário de modo que cada usuário tenha acesso restrito a certas informações.

Sistema 'no-break' em caso de queda de energia

Auxiliadora Freire

Fonte: Engenharia de Software 6º - 8º Edição / ©Ian Sommerville 2000-2007 Engenharia de Softawre 3º Edição / Roger Pressman Engenharia de Software 1º Edição / Ariadne Carvalho http://www.cin.ufpe.br/~lhcl/aer/index.html

Slide 46

Produtividade – Relacionadas a Pontos de Funções

MÉTRICA ORIENTADA À FUNÇÃO - PF

Responder as questões 1-14, considerando a escala de 0 a 5:

influência

0

1

2

3

4

5

considerando a escala de 0 a 5: influência 0 1 2 3 4 5 nenhuma pouca
considerando a escala de 0 a 5: influência 0 1 2 3 4 5 nenhuma pouca
considerando a escala de 0 a 5: influência 0 1 2 3 4 5 nenhuma pouca
considerando a escala de 0 a 5: influência 0 1 2 3 4 5 nenhuma pouca
considerando a escala de 0 a 5: influência 0 1 2 3 4 5 nenhuma pouca
considerando a escala de 0 a 5: influência 0 1 2 3 4 5 nenhuma pouca

nenhuma pouca

moderada

média

significante essencial

1. O sistema exige backup e recuperação confiáveis?

2. É requerida comunicação de dados?

3. Existem funções de processamento distribuído?

4. O desempenho é crítico?

5. O sistema funcionará num sistema operacional existente e intensamente utilizado?

6. São requeridas entrada de dados on-line?

7. As entradas on-line requerem que as transações de entrada sejam construídas com várias telas e operações?

8. Os arquivos são atualizados on-line?

9. Entradas, saídas, arquivos e consultas são complexos?

10. O processamento interno é complexo?

11. O código é projetado para ser reusával?

12. A conversão e a instalação estão incuídas no projeto?

13. O sistema é projetado para múltiplas instalações em diferentes organizações?

14. A aplicação é projetada de forma a facilitar mudanças e o uso pelo usuário?

Auxiliadora Freire

Fonte: Engenharia de Software 6º - 8º Edição

/ ©Ian Sommerville 2000-2007

Slide 47

Engenharia de Softawre 3º Edição / Roger Pressman Engenharia de Software 1º Edição / Ariadne Carvalho

http://www.cin.ufpe.br/~lhcl/aer/index.html

Produtividade – Relacionadas a Pontos de Funções

MÉTRICA ORIENTADA À FUNÇÃO - PF

Responder as questões 1-14, considerando a escala de 0 a 5:

influência

0

1

2

3

4

5

considerando a escala de 0 a 5: influência 0 1 2 3 4 5 nenhuma pouca
considerando a escala de 0 a 5: influência 0 1 2 3 4 5 nenhuma pouca
considerando a escala de 0 a 5: influência 0 1 2 3 4 5 nenhuma pouca
considerando a escala de 0 a 5: influência 0 1 2 3 4 5 nenhuma pouca
considerando a escala de 0 a 5: influência 0 1 2 3 4 5 nenhuma pouca
considerando a escala de 0 a 5: influência 0 1 2 3 4 5 nenhuma pouca

nenhuma pouca

moderada

média

significante essencial

1. O sistema exige backup e recuperação confiáveis? 4

2. É requerida comunicação de dados? 5

3. Existem funções de processamento distribuído? 2

4. O desempenho é crítico? 1

Auxiliadora Freire

Fonte: Engenharia de Software 6º - 8º Edição / ©Ian Sommerville 2000-2007 Engenharia de Softawre 3º Edição / Roger Pressman Engenharia de Software 1º Edição / Ariadne Carvalho http://www.cin.ufpe.br/~lhcl/aer/index.html

Slide 48

Produtividade – Relacionadas a Pontos de Funções

MÉTRICA ORIENTADA À FUNÇÃO - PF

Responder as questões 1-14, considerando a escala de 0 a 5:

influência

0

1

2

3

4

5

considerando a escala de 0 a 5: influência 0 1 2 3 4 5 nenhuma pouca
considerando a escala de 0 a 5: influência 0 1 2 3 4 5 nenhuma pouca
considerando a escala de 0 a 5: influência 0 1 2 3 4 5 nenhuma pouca
considerando a escala de 0 a 5: influência 0 1 2 3 4 5 nenhuma pouca
considerando a escala de 0 a 5: influência 0 1 2 3 4 5 nenhuma pouca
considerando a escala de 0 a 5: influência 0 1 2 3 4 5 nenhuma pouca

nenhuma pouca

moderada

média

significante essencial

5. O sistema funcionará num sistema operacional existente e intensamente utilizado? 4

6. São requeridas entrada de dados on-line? 4

7. As entradas on-line requerem que as transações de entrada

sejam construídas com várias telas e operações? 3

Auxiliadora Freire

Fonte: Engenharia de Software 6º - 8º Edição / ©Ian Sommerville 2000-2007 Engenharia de Softawre 3º Edição / Roger Pressman Engenharia de Software 1º Edição / Ariadne Carvalho http://www.cin.ufpe.br/~lhcl/aer/index.html

Slide 49

Produtividade – Relacionadas a Pontos de Funções

MÉTRICA ORIENTADA À FUNÇÃO - PF

Responder as questões 1-14, considerando a escala de 0 a 5:

influência

0

1

2

3

4

5

considerando a escala de 0 a 5: influência 0 1 2 3 4 5 nenhuma pouca
considerando a escala de 0 a 5: influência 0 1 2 3 4 5 nenhuma pouca
considerando a escala de 0 a 5: influência 0 1 2 3 4 5 nenhuma pouca
considerando a escala de 0 a 5: influência 0 1 2 3 4 5 nenhuma pouca
considerando a escala de 0 a 5: influência 0 1 2 3 4 5 nenhuma pouca
considerando a escala de 0 a 5: influência 0 1 2 3 4 5 nenhuma pouca

nenhuma pouca

moderada

média

significante essencial

8. Os arquivos são atualizados on-line? 4

9. Entradas, saídas, arquivos e consultas são complexos? 2

10. O processamento interno é complexo? 2

11. O código é projetado para ser reusável? 0

Auxiliadora Freire

Fonte: Engenharia de Software 6º - 8º Edição / ©Ian Sommerville 2000-2007 Engenharia de Softawre 3º Edição / Roger Pressman Engenharia de Software 1º Edição / Ariadne Carvalho http://www.cin.ufpe.br/~lhcl/aer/index.html

Slide 50

Produtividade – Relacionadas a Pontos de Funções

MÉTRICA ORIENTADA À FUNÇÃO - PF

Responder as questões 1-14, considerando a escala de 0 a 5:

influência

0

1

2

3

4

5

considerando a escala de 0 a 5: influência 0 1 2 3 4 5 nenhuma pouca
considerando a escala de 0 a 5: influência 0 1 2 3 4 5 nenhuma pouca
considerando a escala de 0 a 5: influência 0 1 2 3 4 5 nenhuma pouca
considerando a escala de 0 a 5: influência 0 1 2 3 4 5 nenhuma pouca
considerando a escala de 0 a 5: influência 0 1 2 3 4 5 nenhuma pouca
considerando a escala de 0 a 5: influência 0 1 2 3 4 5 nenhuma pouca

nenhuma pouca

moderada

média

significante essencial

12. A conversão e a instalação estão incluídas no projeto? 2

13. O sistema é projetado para múltiplas instalações em diferentes

organizações? 5

14. A aplicação é projetada de forma a facilitar mudanças e o uso

pelo usuário? 5

Auxiliadora Freire

Fonte: Engenharia de Software 6º - 8º Edição / ©Ian Sommerville 2000-2007 Engenharia de Softawre 3º Edição / Roger Pressman Engenharia de Software 1º Edição / Ariadne Carvalho http://www.cin.ufpe.br/~lhcl/aer/index.html

Slide 51

Produtividade – Relacionadas a Pontos de Funções

Aplicando a fórmula

PF = PFna x (0.65 + 0.01 x Soma(Fi))

Pfna = 152 ; Soma(Fi) = 45

PF = 152 X (0,65 + 0,01 * 45) PF = 167,20

Auxiliadora Freire

Fonte: Engenharia de Software 6º - 8º Edição / ©Ian Sommerville 2000-2007 Engenharia de Softawre 3º Edição / Roger Pressman Engenharia de Software 1º Edição / Ariadne Carvalho http://www.cin.ufpe.br/~lhcl/aer/index.html

Slide 52

Produtividade – Relacionadas a Pontos de Funções

Pessoas-mês = 3 Custo = $10 PF = 167,20

Produtividade = 167,20/3 = 55,7 Custo = 167,20 * 10 = $ 1.672,00

Auxiliadora Freire

Fonte: Engenharia de Software 6º - 8º Edição / ©Ian Sommerville 2000-2007 Engenharia de Softawre 3º Edição / Roger Pressman Engenharia de Software 1º Edição / Ariadne Carvalho http://www.cin.ufpe.br/~lhcl/aer/index.html

Slide 53