Escolar Documentos
Profissional Documentos
Cultura Documentos
SCE 186 - Engenharia de Software Profs. Jos Carlos Maldonado e Elisa Yumi Nakagawa 2o semestre de 2002 Material elaborado pela Prof. Sandra C.P.F. Fabbri (DC/UFScar)
Sumrio: I) PF Viso Geral PF Documentao p/ clculo Componentes Lgicos ALI - Arq. Lgico Interno AIE - Arq. Interface Ext. EE - Entrada Externa SE - Sada Externa CE - Consulta Externa PF Bruto PF Ajustado II) COCOMO Modelos
PF - Pontos de Funo
(mtrica)
2
Tipos de Proj
I) PF
Componentes L gicos ALI - Arq. L gico Interno AIE - Arq. Interface Ext. EE - Entrada Externa SE - Sada Externa CE - Consulta Externa PF Bruto PF Ajustado II) COCOMO Modelos
%
Os conceitos de Pontos de Funo foram introduzidos por Allan J. Albrecht, em uma conferncia do GUIDE Grupo de Usurios IBM, em 1979. Mais tarde, esses conceitos foram refinados em uma metodologia formal e em 1984 foram publicados para domnio pblico.
3
Tipos de Proj
#
"
I) PF
$ # " !
Componentes L gicos ALI - Arq. L gico Interno AIE - Arq. Interface Ext. EE - Entrada Externa SE - Sada Externa CE - Consulta Externa PF Bruto PF Ajustado II) COCOMO Modelos
Arquivos Externos Arquivos Internos Entradas Externas Sadas Externas Consultas Externas Avaliao das 14 caractersticas e determinao do nvel de influncia
Fator de Ajuste
4
Tipos de Proj
I) PF
Os pontos de funo brutos refletem especificamente a contagem da funcionalidade que ser fornecida ao usurio pela aplicao.
Arquivos Externos Arquivos Internos Entradas Externas Sadas Externas Consultas Externas Avaliao das 14 caractersticas e determinao do nvel de influncia
Componentes L gicos ALI - Arq. L gico Interno AIE - Arq. Interface Ext. EE - Entrada Externa SE - Sada Externa CE - Consulta Externa PF Bruto PF Ajustado II) COCOMO Modelos
#
"
Fator de Ajuste
5
Tipos de Proj
I) PF
%
Componentes L gicos ALI - Arq. L gico Interno AIE - Arq. Interface Ext. EE - Entrada Externa SE - Sada Externa CE - Consulta Externa PF Bruto PF Ajustado II) COCOMO Modelos
#
"
6
Tipos de Proj
I) PF
Componentes L gicos ALI - Arq. L gico Interno AIE - Arq. Interface Ext. EE - Entrada Externa SE - Sada Externa CE - Consulta Externa PF Bruto PF Ajustado II) COCOMO Modelos
Item de dados Cdigo-cliente Nome-cliente Razo-social Tipo-cliente Territrio Endereo Bairro CEP Cidade CGC Inscrio-estadual Contato-1 Telefone-1 Contato-2 Telefone-2
Clientes tamanho 6 12 30 2 3 30 12 8 12 12 12 20 10 20 10
tipo Numrico Alfa Alfa Numrico Alfa Alfa Alfa Numrico Alfa Numrico Numrico Alfa Numrico Alfa Numrico
$ # " !
7
Tipos de Proj
Relao de Clientes Cdigo Nome ........... ........... ........... ........... Razo Social Tipo ........... ........... ........... ...........
Data __/__/__
#
Componentes L gicos ALI - Arq. L gico Interno AIE - Arq. Interface Ext. EE - Entrada Externa SE - Sada Externa CE - Consulta Externa PF Bruto PF Ajustado II) COCOMO Modelos
Territrio CGC Inscr. Est. Contato ........... ........... ........... ........... ........... ........... ........... ...........
Total de Clientes __
8
Tipos de Proj
Incluso de Clientes Cdigo [ ] Nome [ ] Razo Social [ ] Tipo [ ] Territrio [ ] cgc [ ] Inscrio Estadual [ ] Endereo [ ] Bairro [ ] CEP [ ]Cidade [ ] Contato-1 [ ] Telefone [ ] Contato-2 [ ] Telefone [ ]
9
Tipos de Proj
Consulta - Cadastro de Clientes Cdigo do Cliente [ ] Nome [ ] Tipo [ ] CGC [ ] Endereo [ ] CEP [ ] Contato-1 [ ] Total compra ano [ ] Razo social [ ] Territrio [ ] Inscrio Estadual [ ] Bairro [ ] Cidade [ ] Telefone [ ] Total compra ms atual [ ]
10
Tipos de Proj
Histrico de Clientes item de dados tamanho Cdigo-cliente 6 Produto-1-mais-comprado-94 12 Valor-compra-produto-1-94 12 Preo-medio-prod-1-94 12 Produto-2-mais-comprado-94 12 Valor-compra-produto-2-94 12 Preo-mdio-prod-2-94 12 Produto-3-mais-comprado-94 12 Valor-compra-produto-3-94 12 Preo-mdio-prod-3-94 12 Total-compra-ano-anterior 12 Total-compra-ano 12 Total-compra-ms-atual 12 Total-compra-ms-ano-94 12
Tipo Numrico Numrico Numrico Numrico Numrico Numrico Numrico Numrico Numrico Numrico Numrico Numrico Numrico Numrico
11
Tipos de Proj
Para o clculo dos Pontos de Funo no Ajustados a seguinte tabela deve ser preenchida:
Componentes Lgicos Complexidade Funcional Total Complexidade Total tipo funo
'
Componentes Lgicos
Sumrio: I) PF Viso Geral PF Documentao p/ clculo Componentes Lgicos ALI - Arq. Lgico Interno AIE - Arq. Interface Ext. EE - Entrada Externa SE - Sada Externa CE - Consulta Externa PF Bruto PF Ajustado II) COCOMO Modelos
Complexidade Funcional
Total Complexidade
Entradas Externas
Sadas Externas
Consultas Externas
Total de pontos de funo no ajustados 13
Tipos de Proj
14
Tipos de Proj
Tipos de Proj
Observao: Pode haver mais de uma aplicao includa no escopo de um nico projeto. Nesse caso, todas as fronteiras devem ser identificadas.
16
Tipos de Proj
Componentes Lgicos
Complexidade Funcional
Total Complexidade
Entradas Externas
Sadas Externas
Consultas Externas
17
Tipos de Proj
EE
Fronteira da Aplicao
SE
ALI
CE
Um Arquivo Lgico Interno (ALI) um grupo de dados logicamente relacionados, identificados e modificados pelo usurio e mantidos dentro das fronteiras da aplicao que est sendo contada.
18
Tipos de Proj
Para identificar arquivos como sendo Arquivos Lgicos Internos, todas as Internos questes seguintes devem ser respondidas afirmativamente:
O grupo de dados reflete os requisitos funcionais definidos pelo usurio? O grupo de dados armazenado dentro da fronteira da aplicao? O grupo de dados alterado dentro da fronteira da aplicao? O grupo de dados alterado atravs de processos dessa aplicao? O grupo de dados no foi contado como Arquivo de Interface Externa nessa aplicao?
1 1 1 1 1
19
Tipos de Proj
Podem ser considerados ALI: cadastro de clientes, cadastro de produtos, cadastro de funcionrios, etc. No so considerados ALI: arquivos temporrios, arquivos de classificao, arquivos includos por motivos de tecnologia, etc.
3 3 3 2 2 2
20
Tipos de Proj
COMPLEXIDADE DE ARQUIVO LGICO INTERNO A complexidade de Arquivo Lgico Interno calculada a partir: da quantidade de Dados Elementares Referenciados (DER) da quantidade de Registros Lgicos Referenciados (RLR)
21
Tipos de Proj
Como contar DER ? Contar um DER para: cada campo do ALI. campos repetitivos que so idnticos em formato e existem para permitir mltiplas ocorrncias de um mesmo dado.
5 5 5
Por exemplo, se um ALI possui 12 campos para venda mensal, conta-se como apenas 1 DER .
22
Tipos de Proj
23
Tipos de Proj
1 a 19 simples simples
6 ou mais mdia
24
Tipos de Proj
Total Complexidade 21 0 0
EXEMPLO
25
Tipos de Proj
Exemplo
Clientes
Customer Number AN91 AW52 BD22 CE76 Name Atwater Nelson Alliance West Betodial Carson Enterprise Address 215 Watkins 266 Ralston 542 Prairie 96 Prospect City Oakdale Allanson Oakdale Bishop State IN IN IN IL Zip Code 48101 48102 48101 61354 Balance $347 $49 $57 $425 Credit Limit $700 $400 $400 $900 Sales Rep Number 04 07 07 11
26
Tipos de Proj
Complexidade Funcional
Total Complexidade
Sadas Externas
27
Tipos de Proj
EE SE
Externa
ALI
CE
AIE
Um Arquivo de Interface Externa (AIE) um grupo de dados logicamente relacionados, utilizados no sistema que est sendo analisado, mas que mantido fora da fronteira da aplicao que est sendo contada.
28
Para identificar arquivos como sendo Arquivos de Interface Externa, todas as Externa questes devem ser verdadeiras:
O grupo de dados armazenado fora da fronteira da aplicao. O grupo de dados no alterado pela aplicao que est sendo contada. O grupo de dados contado como ALI em outra aplicao. O grupo de dados no foi contado como ALI nessa aplicao.
A A A
29
Tipos de Proj
COMPLEXIDADE DE ARQUIVO DE INTERFACE EXTERNA A complexidade de Arquivo de Interface Externa tambm calculada a partir:
da quantidade de Dados Elementares Referenciados (DER) da quantidade de Registros Lgicos Referenciados (RLR)
C C
As regras de contagem so as mesmas aplicadas aos ALI, assim como o quadro para a determinao da complexidade
30
Tipos de Proj
Componentes Lgicos
Complexidade Funcional
Total Complexidade
x 5= x 7= x 10 =
10 0 0
10
EXEMPLO
31
Tipos de Proj
Complexidade Funcional
Total Complexidade
Consultas Externas
32
Tipos de Proj
EE SE
Fronteira da Aplicao
Entradas Externas
ALI
CE
AIE
Uma Entrada Externa (EE) qualquer funo ou transao que leva dados ou informaes de controle de fora para dentro da fronteira da aplicao. Geralmente esses dados so usados para atualizar informaes internas da aplicao.
33
Tipos de Proj
Para identificar um dado como sendo uma Entrada Externa, deve-se analisar dados Externa ou informaes de controle que vm de fora da fronteira da aplicao. As questes seguintes devem ser respondidas afirmativamente:
O dado recebido de fora da fronteira da aplicao? O dado armazenado em um Arquivo Lgico Referenciado e manipulado atravs de um processo da aplicao?
F F
34
Tipos de Proj
35
Tipos de Proj
Tipos de Proj
37
Tipos de Proj
DER ALR 0 ou 1 2
3 ou mais mdia
38
Tipos de Proj
Componentes Lgicos
Complexidade Funcional
Total Complexidade
EXEMPLO
x 3= x 4= x 6=
12 8 6 26
39
Tipos de Proj
Exemplo
EE podem ser dados de negcio, dados de controle, entre outros. Dados de negcio: Nome do Cliente, Endereo, Telefone, etc. Dados de Controle: So os elem. de dados que invocam uma transao ou mudam o comportamento da aplicao. Cada check box representa um elemento de dado. Os radio buttons da lista de classificao de clientes bem como os do formato da hora representam um elemento de dado.
40
Exemplo
A tela a seguir usada para adicionar um novo cliente a uma aplicao. O boto OK e o boto Next ambos adicionam um novo clienta base de dados.
1) Qtos elementos de dados existem nessa tela de entrada? 2) Se essa tela atualiza um arq. Lgico, qtos PF essa tela representa? 3) Qtos elementos de dados representa o nmero do telefone? 4) O boto Cancel contado como um elemento de dado?
41
Complexidade Funcional
Total Complexidade
Entradas Externas
Consultas Externas
42
Tipos de Proj
EE
Fronteira da Aplicao
SE CE
Sadas Externas
ALI
AIE
informaes de controle para fora da aplicao que est sendo contada. So transaes que extraem informaes do sistema para outros aplicativos.
43
Tipos de Proj
observar os dados ou informaes de controle que esto sendo enviados para fora da fronteira e as seguintes regras devem ser respondidas afirmativamente.
A funo ou transao envia dados ou informaes de controle, para fora da fronteira da aplicao? O dado ou informao de controle enviado atravs de um processo da aplicao?
44
Tipos de Proj
Exemplos Sadas Externas: relatrio com relao de clientes, transferncia de dados para outra aplicao, fatura de um cliente, etc. No so consideradas Sadas Externas : menus de navegao, telas de auxlio, telas de consulta, etc.
45
Tipos de Proj
COMPLEXIDADE DA SADA EXTERNA A complexidade de Sada Externa calculada a partir: da quantidade de Dados Elementares Referenciados (DER) da quantidade de Arquivos Lgicos Referenciados (ALI ou AIE)
46
Tipos de Proj
Tipos de Proj
48
Tipos de Proj
Como contar ALR ? Contar um ALR para cada ALI ou AIE lido durante o processamento de sada Externa
49
Tipos de Proj
DER ALR 0 ou 1 2
4 ou mais mdia
50
Tipos de Proj
Componentes Lgicos
Complexidade Funcional
Complexidade
EXEMPLO
x 4= x 5= x 7=
8 0 0 8
51
Tipos de Proj
Exemplo
Tipos de Proj
Exemplo
Se alguns dos dados fossem representados pela tabela abaixo, haveria apenas 2 elementos de dados: user session e day of week
53
Tipos de Proj
Vanilla
hocolate trawberry istachio Other otal
Jan 80 75 30 8 12 205
Feb 85 80 35 9 13 222
Mar 85 70 35 9 13 212
Apr 90 83 40 9 13 235
Sep 90 80 40 9 14 233
Oct 84 70 34 8 13 209
Nov 75 69 25 8 13 190
Dec 70 65 20 7 12 174
54
Complexidade Funcional
Total Complexidade
Entradas Externas
Sadas Externas
55
Tipos de Proj
EE
Fronteira da Aplicao
SE CE
AIE
Tipos de Proj
deve-se observar onde ocorrem as solicitaes de recuperao de informao na aplicao. As questes seguintes devem ser respondidas afirmativamente.
A solicitao de consulta deve entrar na aplicao. Os resultados de sada devem ser disponibilizados para fora das fronteiras da aplicao. O processo resulta em recuperao de dados. O processo no atualiza um Arquivo Lgico Interno (ALI).
57
Tipos de Proj
consulta ao cadastro de clientes, telas de logon com funes de segurana, telas de menu se solicitadas pelo usurio, tela de menu que prov seleo de tela e consulta de dados.
menus de navegao, telas de consulta, tela de menu que s prove seleo de telas, tela de logon que s prov segurana da aplicao.
58
Tipos de Proj
COMPLEXIDADE DE CONSULTA EXTERNA A complexidade da Consulta Externa calculada a partir: da quantidade de Dados Elementares Referenciados (DER) da quantidade de Arquivos Lgicos Referenciados (ALI ou AIE) para a parte da entrada e da sada. sada Deve-se considerar a maior das duas complexidades funcionais (de entrada e de sada) da consulta como a complexidade final da consulta
59
W W
Tipos de Proj
Dados Elementares Referenciados (DER) para a parte da entrada da consulta externa um campo no repetitivo, identificado pelo usurio e que aparece em uma consulta externa Arquivos Lgicos Referenciados (ALR) para a parte de entrada da consulta externa um arquivo lido quando a consulta externa processada
Y Y
60
Tipos de Proj
61
Tipos de Proj
Contar a quantidade de Arquivos Lgicos Referenciados (ALR) na lgica de processamento da Consulta Externa
62
Dados Elementares Referenciados (DER) para a parte de sada da consulta externa um campo no repetitivo, identificado pelo usurio e que aparece em uma consulta externa Arquivos Lgicos Referenciados (ALR) para a parte de sada da consulta externa um arquivo lido quando a consulta externa processada
g f
63
Tipos de Proj
Contar um DER:
cada campo no repetitivo, identificado pelo usurio que aparece na parte da sada da consulta. um campo lgico armazenado como mltiplos campos, mas requerido como uma nica informao.
Exemplo: uma data, que armazenada separada em trs campos diferentes como dia, ms e ano.
p i i
64
Tipos de Proj
No contar DER:
Literais. Literais incluem o nome do relatrio, nome da tela, cabealhos de colunas e nome de campos. No contar nmero de pginas ou campos automticos do sistema.
Exemplo: nmero de pginas, comando de paginao como anterior, campo de data ou hora.
s r
65
Tipos de Proj
Contar a quantidade de Arquivos Lgicos Referenciados (ALR) na lgica de processamento da Consulta Externa
66
Tipos de Proj
Tipos de Proj
3 ou mais mdia
68
Tipos de Proj
Componentes Lgicos
Complexidade Funcional
Total Complexidade
EXEMPLO
x 3= x 4= x 6=
6 8 0 14
69
Tipos de Proj
Exemplo
Ao clicar no boto
Tela 1
70
Tipos de Proj
Tela 2
Exemplo
Pergunta: Quantas consultas externas representam: o boto Cust Customer: JobList Edit Customer
71
Tipos de Proj
Total Complexidade 21 0 0 10 0 0 12 8 6 8 0 0 6 8 0
Documentao p/ clculo Componentes Lgicos ALI - Arq. Lgico Interno AIE - Arq. Interface Ext. EE - Entrada Externa SE - Sada Externa CE - Consulta Externa PF Bruto PF Ajustado II) COCOMO Modelos
10
Entradas Externas
26
Sadas Externas
Consultas Externas
2 Mdia 0 Complexa
14
79
72
Tipos de Proj
Arquivos Externos Arquivos Internos Entradas Externas Sadas Externas Consultas Externas
73
Tipos de Proj
Arquivos Externos Arquivos Internos Entradas Externas Sadas Externas Consultas Externas
74
Tipos de Proj
PF - Fator de Ajuste
Sumrio: I) PF Viso Geral PF Documentao p/ clculo Componentes Lgicos ALI - Arq. Lgico Interno AIE - Arq. Interface Ext. EE - Entrada Externa SE - Sada Externa CE - Consulta Externa PF Bruto PF Ajustado II) COCOMO Modelos
Assim que o total de pontos de funo no ajustados for obtido, o fator de ajuste deve ser determinado. O clculo do fator de ajuste representa a funcionalidade geral da aplicao provida ao usurio pela aplicao e obtido atravs da anlise de 14 Caractersticas Gerais do Sistema.
75
Tipos de Proj
PF - Fator de Ajuste
Sumrio: I) PF Viso Geral PF Documentao p/ clculo Componentes Lgicos ALI - Arq. Lgico Interno AIE - Arq. Interface Ext. EE - Entrada Externa SE - Sada Externa CE - Consulta Externa PF Bruto PF Ajustado II) COCOMO Modelos
8. Os arquivos so atualizados on-line? 9. Entradas, sadas, arquivos e consultas so complexos? 10. O processamento interno complexo? 11. O cdigo projetado para ser reusval? 12. A converso e a instalao esto incudas no projeto? 13. O sistema projetado para mltiplas instalaes em diferentes organizaes? 14. A aplicao projetada de forma a facilitar mudanas e o uso pelo usurio?
76
Tipos de Proj
PF - Fator de Ajuste
Sumrio: I) PF Viso Geral PF Documentao p/ clculo Componentes Lgicos ALI - Arq. Lgico Interno AIE - Arq. Interface Ext. EE - Entrada Externa SE - Sada Externa CE - Consulta Externa PF Bruto PF Ajustado II) COCOMO Modelos
w w v
Caractersticas Gerais do Sistema O nvel de influncia de cada uma das caractersticas varia de zero at cinco:
Nenhuma influncia (0), Influncia mnima (1) Influncia moderada (2), Influncia mdia (3) Influncia significante (4), Influncia forte (5).
Quando totalizados, os nveis podem alterar a contagem de pontos de funo numa amplitude de 35% at +35%. O valor final do fator de ajuste pode variar de 0,65 at 1,35.
77
Tipos de Proj
PF - Fator de Ajuste
Sumrio: I) PF Viso Geral PF Documentao p/ clculo Componentes Lgicos ALI - Arq. Lgico Interno AIE - Arq. Interface Ext. EE - Entrada Externa SE - Sada Externa CE - Consulta Externa PF Bruto PF Ajustado II) COCOMO Modelos
Clculo do Fator de Ajuste 1 - Atribuir peso de 1 a 5 para cada uma das 14 caractersticas gerais do sistema 2 - Calcular o nvel de influncia (NI) atravs da soma dos pesos de cada uma das 14 caractersticas 3- Calcular o Fator de Ajuste (FA) atravs da equao : FA= (NI * 0,01) +0,65 4 - Clculo do Pontos de Funo Ajustados: FPA= PFBrutos * FA
78
Tipos de Proj
PF - Fator de Ajuste
Sumrio: I) PF Viso Geral PF Documentao p/ clculo Componentes Lgicos ALI - Arq. Lgico Interno AIE - Arq. Interface Ext. EE - Entrada Externa SE - Sada Externa CE - Consulta Externa PF Bruto PF Ajustado II) COCOMO Modelos
i=1
(Fi)
Tipos de Proj
Sumrio: I) PF Viso Geral PF Documentao p/ clculo Componentes Lgicos ALI - Arq. Lgico Interno AIE - Arq. Interface Ext. EE - Entrada Externa SE - Sada Externa CE - Consulta Externa PF Bruto PF Ajustado II) COCOMO Modelos
Modelo COCOMO
(para Estimativa)
80
Tipos de Proj
Tipos de Modelos
Sumrio: I) PF Viso Geral PF Documentao p/ clculo Componentes Lgicos ALI - Arq. Lgico Interno AIE - Arq. Interface Ext. EE - Entrada Externa SE - Sada Externa CE - Consulta Externa PF Bruto PF Ajustado II) COCOMO Modelos
x
81
Tipos de Proj
Classes de Projetos
Sumrio: I) PF Viso Geral PF Documentao p/ clculo Componentes Lgicos ALI - Arq. Lgico Interno AIE - Arq. Interface Ext. EE - Entrada Externa SE - Sada Externa CE - Consulta Externa PF Bruto PF Ajustado II) COCOMO Modelos
Semi-Separado
Embutido
82
Tipos de Proj
Exemplo
Sumrio: I) PF Viso Geral PF Documentao p/ clculo Componentes Lgicos ALI - Arq. Lgico Interno AIE - Arq. Interface Ext. EE - Entrada Externa SE - Sada Externa CE - Consulta Externa PF Bruto PF Ajustado II) COCOMO Modelos
Tipos de Proj
Atributos do Produto: complexidade, confiabilidade exigida tamanho do banco de dados Atributos do Hardware: restries de desempenho, restries de memria, etc. Atributos Pessoais: capacidade, experincia Atributos de projeto: uso de ferramentas, mtodos, etc.
Cada atributo ponderado numa escala de 6 pontos e, atravs de tabelas publicadas por Boehm, obtm-se o FAE, que varia de 0.9 a 1.14.
84
Tipos de Proj
Exemplo
Sumrio: I) PF Viso Geral PF Documentao p/ clculo Componentes Lgicos ALI - Arq. Lgico Interno AIE - Arq. Interface Ext. EE - Entrada Externa SE - Sada Externa CE - Consulta Externa PF Bruto PF Ajustado II) COCOMO Modelos Tipos de Proj
Exemplo de aplicao do COCOMO Utilizando-se os dados obtidos atravs da Estimativa LOC, o Modelo Bsico e Semi-separado, tem-se: E = A (KLOC) eB E = 3.0 (KLOC) exp1,12 = 3.0 (33.3)1,12 = 152 pessoas-mes T = C (E) eD T = 2.5 (E) exp0.35 = 2.5 (152)0.35 = 14.5 meses
Com esses valores possvel N = E/T determinar um nmero = 152/14.5 recomendado de pessoas = 11 pessoas
85