Anda di halaman 1dari 19

1 Introduo Bem vindo ao curso de Mtricas de Software com nfase em Pontos por Funo.

. Este livro texto ir ajud-lo a realizar todas as atividades delineadas pelo curso. importante ressaltar que o curso em questo tem durao de 8 horas, iremos trabalhar durante 6 horas de forma assncrona e 2 horas de forma sncrona para a realizao de um chat. Durante o curso todos os alunos tero um contato real com as tcnicas embutidas no processo de contagem por pontos por funo. Neste material eu irei contar os pontos de um projeto de software. Saliento que o projeto foi confeccionado seguindo os conceitos da orientao a objeto e da orientao a processo. Porm antes de entrarmos de cabea na teoria de pontos por funo, necessrio que tenhamos noo sobre a importncia de se estimar o tamanho e, conseqentemente, o custo de um projeto de software. Para isto, redigi trs artigos sobre o assunto. Programadores sabem estimar? Artigo que retrata que a maioria dos programadores no possui a mnima noo sobre estimativas. Veja o texto no link: http://engenhariasoftware.wordpress.com/2008/05/28/programadores-sabemestimar/ As empresas de software planejam e controlam a sua produo? Uma empresa de software que possui um processo de produo institucionalizado consegue realizar estimativas com uma certa exatido. Todas estas empresas implementaram o seu PCP (Planejamento e Controle da Produo). O texto em questo apresenta, justamente, um framework para construir um PCP em uma empresa de produo de software. Vale a pena dar uma olhada (http://engenhariasoftware.wordpress.com/2008/06/06/as-empresas-de-softwareplanejam-e-controlam-producao/) possvel comprar a implementao de 1000 pontos por funo para um projeto de software? Voc sabe o que representa, para voc ou para sua empresa, um ponto por funo? Quais so as tcnicas embutidas em um processo de contagem? O artigo apresentado no link em questo d algumas pistas sobre a contagem de pontos por funo. Acredito que grande parte das perguntas sero respondidas durante a execuo deste curso (http://engenhariasoftware.wordpress.com/2008/06/18/e-possivel-comprar-aimplementacao-de-1000-pontos-por-funcao-para-um-projeto-de-software/)

Realizada a leitura dos artigos iremos apresentar, formalmente, os conceitos sobre pontos por funo no prximo captulo.

2 Formalizao dos conceitos de pontos por funo. Antes de iniciar o conceito a formalizao conceitual sobre pontos por funo, vamos realizar uma reflexo do que seja uma funo. A idia de "funo" foi introduzida por Leibniz em 1694, para designar as vrias variveis geomtricas associadas com uma reta ou curva. Funes relacionadas curvas so chamadas de funes diferenciveis. Para este tipo de funes, pode-se falar em limites e derivadas; ambos sendo medida da alterao nos valores de sada associados variao dos valores de entrada, formando a base do clculo infinitesimal. A palavra funo foi usada por Euler, em meados do sculo XVIII, para descrever uma expresso envolvendo vrios parmetros; i.e:y = F(x). Este fato ampliou a definio de funes, e os matemticos foram capazes de estudar "estranhos" objetos tais como funes que no so diferenciveis em qualquer de seus pontos. A computao utiliza o termo funo para designar uma rotina. Uma rotina pode ser encarada como um bloco de linhas de comandos que possui: variveis de entrada; processamento das variveis; sada: apresentao das variveis para um usurio ou para outra funo.

Um software geralmente aglomera vrias funes, elas na maioria das vezes esto organizadas em arquivos. A teoria de pontos por funo tem como objetivo atribuir pontos s funes, funes mais complexas recebem mais pontos, funes menos complexas recebem menos pontos. Simples, no??? Com certeza voc deve estar perguntando: Como determinar a complexidade das funes? Quantos pontos atribuir as funes mais complexas? Quantas pontos meu software ir possuir (lembre-se que estamos trabalhando com estimativas, estimar significa prever o tamanho, o custo e o esforo de alguma coisa que ser construda) ? Vamos comear a responder estas questes. A complexidade das funes programadas no software est, intimamente, ligada a: Quantidade de arquivos que a funo deve manipular. Quanto mais arquivos, maior a sua complexidade, mais trabalho, mais linhas de cdigo para serem desenvolvidas. Quantidade de campos que estes arquivos possuem. Arquivos com muitos campos necessitam de mais linhas de cdigo, conseqente mais esforo dos programadores no desenvolvimento das rotinas (funes). Alm da quantidade de campos, os arquivos de dados podem possuir tuplas (registros) diferenciadas, isto acontecia muito com quem programava em Cobol nas dcadas de 1970 e 1980. Lembre-se que

nesta poca o espao para armazenamento de uma informao em disco era muito caro. Fatos como estes levavam aos programadores a estruturarem tuplas diferenciadas para o mesmo arquivo. A tabela a seguir prov um exemplo real:
Cdigo (inteiro) 1 2 3 4 5 6 Nome (espao reservado 114 caracteres) Pedro de Alcntara Francisco Antnio Joo Carlos Xavier de Paula Miguel Rafael Joaquim Jos Gonzaga Pascoal Cipriano Serafim de Bragana e Bourbon Jos Augusto Fabri Jos da Silva Pedro Augusto de Souza Joo Jos da Silva Maria Emlia Aladim

Tabela 1 - Forma de organizao de um registro de um arquivo

Na Tabela 1 possvel verificar que nosso querido D. Pedro I, cliente de uma determinada organizao, utilizou 144 caracteres para armazenar o seu nome (confira e verifique se no errei na contagem). Os demais clientes no utilizam cerca de 40 caracteres. Fatos assim levavam aos programadores a organizar os registro de maneira diferenciada nas suas aplicaes, neste caso teramos duas formas de organizao dos registros para a tabela em questo, uma para atender nosso cliente especial, com seus 18 nomes (144 caracteres) e outra para atender os demais clientes (40 caracteres). Quantidade de arquivos de aplicaes externas: Para acessar o arquivo de uma aplicao externa, voc deve responder algumas questes: Estou acessando um software legado? Qual o formato deste arquivo? Qual a estrutura fsica delineada para o arquivo? Ser necessrio converter as informaes para ter acesso ao arquivo? Todas as questes citadas envolvem itens de complexidade no desenvolvimento das funes. Quantidade de interfaces utilizadas para realizar a manuteno dos arquivos. Quantidade de relatrios (sadas) solicitada pelo cliente. Quantidade de consultas.

Com base nos itens citados, perfeitamente possvel mapear os pontos por funo por meio do documento de projeto de software. justamente isto que Caper Jones e o International Function Point Users Group propem. O International Function Point Users Group define que a contagem de pontos por funo de um projeto de software passa pela contagem dos seguintes itens (a composio textual abaixo foi retirada na ntegra de Dekkers (2008)): 1. Arquivo Lgico Interno (ALI): Um ALI uma entidade lgica e persistente, a respeito da qual dados sero mantidos. Os ALIs baseiam-se em requisitos lgicos dos usurios e so independentes da implementao ou meios de armazenamento, tais como tabelas ou bancos de dados. Um ALI contado com base em uma

avaliao do nmero de campos de dados no recursivos do usurio e do nmero de tipos de elementos de registros lgicos nele contidos. Em um projeto de software necessrio analisar cada ALI, individualmente, e determinar sua complexidade de acordo com Tabela 2.
TER 1 TER 2 TER 3 TER ou mais TED 1 a 19 Baixa Baixa Mdia 20 a 50 Baixa Mdia Alta mais que 50 Mdia Alta Alta

Tabela 2 Tabela utilizada para determinar a complexidade de um ALI e de um AIE. TER Tipo de Elemento de Registro: a forma na qual os registros esto organizados em uma tabela de dados, por exemplo: A Tabela 1 possui duas formas de organizar, neste caso o TER igual a 2. TED Tipo de Elemento de Dados: Quantidade de campos que a tabela possui.

Exemplo: Vamos analisar, por meio da Tabela 3, a complexidade do ALI que armazena os dados de um determinado cliente.
Campo cdigo nome rua numero cidade uf cep pais cpf rg e-mail homePage telefone celular Fax dataNasc

Tabela 3 - Estrutura do Arquivo Lgico Interno de Clientes de uma determinada Aplicao

possvel constatar a existncia de 16 tipos de elementos de dados TEDs (ou campos). Nosso tipo de elemento de registro (TER) ser 1, pois no iremos estruturar o arquivo em vrias tuplas como delineado na Tabela 1. A propsito, na maioria das vezes nosso TER ser sempre 1, pois so raras as vezes que tenho que estruturar vrios

modelos de tuplas em um nico arquivo. Lembre-se que o armazenamento de uma informao, atualmente muito barato. De posse destes fatos possvel afirmar que a complexidade de nosso ALI baixa (vide Tabela 2). 2. Arquivo de Interface Externa (AIE): Um AIE uma entidade lgica e persistente que requerida para referncia ou validao pelo software que est em desenvolvimento, mas que mantido por outro aplicativo de software. (Isto , um arquivo de interface externa deve ser um arquivo lgico interno para um outro aplicativo). De forma semelhante a um ALI, um AIE avaliado com base no nmero de campos de dados no recursivos do usurio e no nmero de tipos de elementos de registros lgicos. Arquivos de interface externa tambm so partes dos requisitos lgicos dos usurios. Em um projeto de software necessrio analisar cada AIE, individualmente, e determinar sua complexidade de acordo com Tabela 2 (a mesma do ALI). 3. Entrada Externa Input Extern (EE - IE): Uma entrada externa um processo lgico do negcio que mantm os dados em um ou mais arquivos lgicos internos, ou um processo de controle que direciona o software para atender os requisitos de negcio do usurio. Uma entrada externa contada com base no nmero de campos de dados do usurio envolvidos e na soma dos ALI e AIE participantes do processo. Um exemplo de EE seria incluir empregado em um aplicativo de recursos humanos. Em um projeto de software necessrio analisar cada EE, individualmente, e determinar sua complexidade de acordo com Tabela 4.
Tabela 2 TAR 0 - 1 TAR 2 - 3 TAR (+) que 3 TED 1a4 Baixa Baixa Mdia 5 a 15 Baixa Mdia Alta mais que 15 Mdia Alta Alta

Tabela 4 - Tabela utilizada para determinar a complexidade de uma EE. TED Tipo de Elemento de Dados. TAR Tipo de Arquivos Referenciado: Quantos arquivos necessrios para efetuar a manuteno de dados.

Exemplo: Vamos analisar, por meio da Figura 1, da Tabela 5 e da Tabela 6, a complexidade do EE que possibilita a manuteno dos dados de Laboratrio em um Software para Controle de Clnica Mdica.

Figura 1 Entrada Externa: Cadastrar Laboratrio - Software para Controle de Clnica Mdica Campo Cdigo Nome Telefone Numero Bairro Cep codCidade Tabela 5 Dados Inseridos pelo Operador para Cadastrar Laboratrios campo Cdigo Nome Uf Tabela 6 Dados Consultados na Tabela de Cidades e utilizados no Cadastro de Laboratrios

Ao analisar a Figura 1 possvel verificar que para cadastrar um determinado laboratrio necessrio acessar o arquivo de dados de cidades, neste caso teremos 2 TARs e 10 TEDs (7 de laboratrios e 3 de cidades) para determinar a complexidade da EE em questo. Estes valores mapeiam a complexidade mdia na Tabela 4. 4. Sada Externa Output Extern (SE - OE): Uma sada externa um processo lgico do negcio que gera dados para um usurio ou para outro aplicativo externo ao software. Exemplos tpicos de sadas externas incluem relatrios de usurios, disquetes ou fitas para a Receita Federal. As sadas externas tambm fazem parte dos requisitos lgicos dos usurios. Em um projeto de software necessrio analisar cada SE, individualmente, e determinar sua complexidade de acordo com Tabela 7.

TAR 0 - 1 TAR 2 - 3 TAR (+) que 3

TED 1a5 Baixa Baixa Mdia

6 a 19 Baixa Mdia Alta

mais que 19 Mdia Alta Alta

Tabela 7 Tabela utilizada para determinar a complexidade de uma SE. TED Tipo de Elemento de Dados. TAR Tipo de Arquivos Referenciado: Quantos arquivos so necessrios para executar o processo de impresso de um relatrio.

Exemplo: Vamos analisar, por meio da Figura 2, da Tabela 8, da Tabela 9, da Tabela 10 e da Tabela 11 a complexidade da SE que possibilita a impresso do relatrio de Vendas por Clientes em Software para Controle de Vendas de Produtos.

Figura 2 Sada Externa: Emitir Relatrio de Vendas por Cliente Software de Controle de Vendas de Produtos Campo codigo nf codcliente data valortotal pago Tabela 8 Dados da Tabela Vendas Impressos no Relatrio de Vendas por Cliente Campo codigo nome e-mail

telefone celular Tabela 9 Dados da Tabela Clientes Impressos no Relatrio de Vendas por Cliente

Campo codigo codvenda codproduto quantidade Tabela 10 Dados da Tabela Itens Impressos no Relatrio de Vendas por Cliente Campo codigo descricao Tabela 11 Dados da Tabela Produtos Impressos no Relatrio de Vendas por Cliente

Ao analisar as informaes relacionadas a Sada Externa em questo possvel perceber que temos 4 TARs e 18 TEDs, mapeado a complexidade alta na Tabela 7

5. Consulta Externa (CE): Uma consulta externa o ltimo tipo de funo lgica de usurio contada atravs de pontos de funo. Uma CE consiste em um par gatilhoresposta (ou pergunta-resposta) atravs do qual a pergunta ou solicitao de dados entra no aplicativo vinda de fora (tipicamente a partir de um usurio ou de outro aplicativo), os dados so recuperados para atender solicitao e enviados para fora. Mais uma vez, as Consultas Externas fazem parte dos requisitos lgicos dos usurios de um aplicativo de software. Na contagem de uma CE, em um projeto de software, necessrio analisar a complexidade da entrada e a complexidade da sada, selecionando a maior delas. Na analise das CE necessrio utilizar a Tabela 4 e a Tabela 7. Exemplo: : Vamos analisar, por meio da Figura 3, da Tabela 12, da Tabela 13, da Tabela 14 e da Tabela 15 a complexidade do CE que possibilita consultar os Laboratrio Habilitados a realizar Exames em um Software para Controle de Clnica Mdica.

Figura 3 Consulta Externa Consultar Laboratrio Habilitados a realizar Exames - Software para Controle de Clnica Mdica Campo codigo nome Tabela 12 Dados de Exames apresentados ao operador aps a CE Campo codigo nome Tabela 13 Dados de Laboratrios apresentados ao operador aps a CE Campo codLaboratorio codExame Tabela 14 Dados utilizados na busca dos laboratrios habilitados a realizar o exame informaes utilizadas tanto na entrada como na sada. Campo codigo Tabela 15 Cdigo do Exame: Entrada informada pelo Operador objetivo encontrar os laboratrios aptos a realizar o exame solicitado.

Ao analisar os artefatos que configuram a consulta externa em questo possvel verificar que:

A complexidade da entrada possui os seguintes valores: 3 TARs (exames, laboratrios e labExames) e 3 TEDs (cdigo do exame: Tabela 15 codLaboratorio e codExame: Tabela 14). Consultando a Tabela 4 a complexidade da entrada qualificada como baixa. Os valores de complexidade encontrados para sadas so: 3 TARs (exames, laboratrios e labExames) e 7 TEDs (cdigo do exame: Tabela 15 codLaboratorio e codExame: Tabela 14 codigo e nome: Tabela 13 e codigo e nome: Tabela 12). consultando a Tabela 7 a complexidade para sada mdia.

Com base no item 5, seleciono a maior delas, neste caso a mdia. Por fim, ressalto que cada tipo de funo (ALI, AIE, EE, SE, CE) foi avaliado, recebendo complexidade Baixa, Mdia ou Alta, utilizando um mtodo direto (delineado no Manual de Prticas de Contagem). A Tabela 16 do IFPUG resume o nmero de pontos de funo no ajustados atribudos a cada tipo de funo.
Pesos dada complexidade Tipo da Funo Baixa Mdia Alta Entrada Externa X3 X4 X6 Sada Externa X4 X5 X7 Consulta Externa X3 X4 X6 Arquivo Lgico Interno X7 X 10 X 15 Arquivo de Interface Externa X5 X7 X 10 Total de pontos por funo inferidos nos exemplos Complexidades encontradas nos exemplos desta seo 1 mdia 1 - alta 1 - mdia 1 - baixa 0
Pontos Por funo mapeados

4* 7 4 7 0 22

Tabela 16 Resumo da Contagem de pontos por Funo. *multiplicao de 1 por 4 (complexidade mdia)

10

3 Contando pontos por funo em um projeto de software Este captulo apresentar a contagem de pontos por funo em um projeto de software. Para facilitar nossa contagem, gostaria que todos acessassem a planilha localizada no link: http://br.geocities.com/gutofabri/fpaCocomo.xls Para realizar a contagem necessrio que tenhamos um projeto de software documentado, este captulo utilizar as especificaes do projeto de software de vendas de produtos. O projeto em questo foi desenvolvido em 1994 para uma loja de produtos de limpeza. A linguagem utilizada, na poca, foi Cobol. Saliento que tal software ainda continua em operao na loja em questo. Os artefatos (ou documentos) utilizados para esta contagem so: o diagrama de entidade e relacionamento (vide Figura 4) e modelo funcional do software (vide Figura 5).

Figura 4 Diagrama de Entidade e Relacionamento de um Software para Controle de Vendas de Produtos

11

Figura 5 Modelo Funcional de um Software para Controle e Vendas de Produtos.

Na Figura 5, importante salientar que o nmero frente de alguns fluxos representa a quantidade de campos (TED) que iro ser tratados pelo processo. Exemplo: Processo Vender produtos ir tratar 3 campos da tabela clientes, 5 campos da tabela de produtos, 7 campos da tabela de vendas, totalizando assim 15 campos. Neste caso a EE possui 15 campos e 3 TAR, isto na Tabela 4 representa a complexidade mdia. A contagem dos pontos por funo ser apresentada na Tabela 17. A primeira coluna da tabela foca o elemento de contagem. A segunda apresenta a identificao do elemento dentro do projeto de software. A terceira mapeia a quantidade de TEDs encontrados no elemento de contagem. A quarta coluna apresenta a quantidade de TERs, lembre-se que na maioria das vezes esta quantidade ser sempre 1. O tipo de arquivo referenciado apresentado na quinta coluna. A complexidade qualitativa encontrada para cada elemento de contagem mapeada na coluna 6. A tabela de complexidade utilizada para

12

qualificar os elementos de contagem, em baixo, mdio ou alto, apresentada na coluna 7. Por fim, a coluna 8 apresenta algumas informaes teis para o entender o processo de contagem (a leitura desta coluna de fundamental importncia).
Elemento de Contagem ALI (vide Figura 4) Nome do Elemento no Projeto do Software Clientes Vendas Itens Produtos TED 16 7 4 8 TER 1 1 1 1 TAR Complex.

Tb. Complex. Tabela 2

Justificativas (se julgar necessrio)

Baixa Baixa Baixa Baixa

AIE (processo em azul na Figura 5)

Consulta a SPC

11

Baixa

Tabela 2

Nesta funcionalidade o operador solicita a busca dos dados do cliente. De posse destes dados efetuada a consulta online no arquivo do SCP. As especificaes para TED e para TER foram determinadas pelo SPC A quantidade de TED foi capturada no nmero que vem a frente do nome do processo O nmero a frente de alguns fluxos representa a quantidade de campos (TED) que iro ser tratados pelo processo. Exemplo: Processo Vender produtos ir tratar 3 campos da tabela clientes, 5 campos da tabela de produtos, 7 campos da tabela de vendas, totalizando assim 15 campos. Neste caso a EE possui 15 campos e 3 TAR, isto na Tabela 4 representa a complexidade mdia.

EE (processos em amarelo na Figura 5)

Cadastrar Clientes Cadastrar Produtos Vender Produtos Digitar Itens da Venda


Emitir Relatrio de Clientes em Dbito

15 8 15 4
13

1 1 3 1
2

Baixa Baixa Mdia Baixa Mdia Mdia Alta Alta Baixa Baixa Baixa Baixa -

Tabela 4

SE (processos em verde na Figura 5)

Emitir Relatrio de Produtos Mais Vendidos Emitir Relatrio de Vendas por Clientes Emitir Relatrio de Vendas por Data Emitir Relatrio de Produtos em Ordem Alfabtica Emitir Relatrio de Produtos em Ordem Numrica Emitir Relatrio de Clientes em Ordem Alfabtica Emitir Relatrio de Clientes em Ordem Numrica -

11 17 18 8 8 15 15 -

2 4 4 1 1 1 1 -

Tabela 7

CE (no se aplica neste caso)

Tabela 4 e Tabela 7

Tabela 17 Contando pontos por funo em um projeto de software orientada a processo. Legenda: ALI: Arquivo Lgico Interno. EE: Entrada Externa. SE: Sada Externa. CE: Consulta Externa. TED: Tipo de Elemento de Dados. TER: Tipo de Elemento de Registro. TAR: Tipo de Arquivo Referenciado. Complex: Complexidade. Tb. Complex: Tabela de Complexidade.

De posse da Tabela 17 possvel utilizar a planilha fpaCocomo.xls para finalizar a contagem dos pontos por funo. Nota: Na planilha necessrio digitar somente as informaes que esto mapeadas em azul (vide Figura 6).

13

Figura 6 Utilizao da Planilha fpaCocomo.xls em um projeto de software OP.

De posse do total de pontos por funo, em nosso caso 86, possvel transformar esta medida em nmeros de linha de cdigo (loc line of code) a ser implementada. Para executar esta operao necessrio utilizar a tabela de converso. Obtenha esta tabela no junto ao texto: possvel comprar a implementao de 1000 pontos por funo para um projeto de software? (http://engenhariasoftware.wordpress.com/2008/06/18/e-possivel-comprar-aimplementacao-de-1000-pontos-por-funcao-para-um-projeto-de-software/) Se voc for desenvolver o software em Cobol ento necessrio multiplicar o nmero de pontos por funo encontrado, 86, por, 107 (vide Figura 7). Total de linhas de cdigo a ser implementadas software: 9202.

Figura 7 Exemplo de Utilizao da Tabela de Converso

14

Por fim, saliento que os nveis de influncia no sero tratados, formalmente, neste curso. Fator este que me levou a totaliz-lo 35, na planilha fpaCocomo.xls, em sua somatria. Se desejar, no chat podemos comentar um pouco sobre este tpico. 4 Contando pontos por funo em um projeto de software orientado a objetos Nesta seo iremos apresentar o mapeamento dos pontos por funo em um projeto de software orientado a objetos. Irei utilizar os mesmos requisitos do projeto descrito na seo anterior, com uma diferena: irei trabalhar com o diagrama de classes (vide Figura 8) e o diagrama de caso de uso (Figura 9).

Figura 8 Diagrama de Classes de um Software de Vendas de Produtos

15

Figura 9 Diagrama de Caso de Uso para um Software de Vendas de Produtos

Para realizar a contagem dos pontos por funo no projeto OO vou utilizar uma rplica da Tabela 17 (vide Tabela 18).

16

Elemento de Contagem

Nome do Elemento no Projeto do Software Cidades

TED

TER

TAR

Complex.

Tb. Complex.

Baixa

Clientes

14

Baixa

ALI

Vendas

Baixa

Tabela 2

Itens

Baixa

Produtos

Baixa

AIE

Consulta a SPC

11

Baixa

Tabela 2

Cadastrar Cidades Cadastrar Clientes Cadastrar Produtos Vender Produtos EE (processos em amarelo na Figura 5) Digitar Itens da Venda

4 15 8 15

1 1 1 3

Baixa Baixa Baixa Mdia Tabela 4

Baixa

Justificativas (se julgar necessrio) A quantificao e a qualificao dos ALIs esto baseados no diagrama de classes do projeto. Lembrando que o diagrama de classe no pode ser comparado, literalmente, ao diagrama de entidade e relacionamento (DER). O DER deve alicerar os dados tratados pelos mtodos das classes. Ao analisar o diagrama de classes proposto possvel delinear o diagrama de entidade e relacionamento estabelecido na Figura 10. O acesso a arquivo externo representado, no diagrama de caso de uso, pelo ator SPC. As quantificaes estabelecidas para TER e TED foram efetuadas aps a consulta a este rgo. Todas EEs foram inferidas no diagrama de caso de uso. Nota-se que em tal diagrama no esto explicitados a quantidade de TEDs e TARs relacionada a cada elemento do projeto. Neste caso, para mapear tais informaes fui obrigado a utilizar os layouts das telas advindos do modelo de interface.

SE (processos em verde na Figura 5)

Emitir Relatrio de Cidades em Ordem Alfabtica Emitir Relatrio de Cidades em Ordem Numrica Emitir Relatrio de Clientes em Dbito Emitir Relatrio de Produtos Mais Vendidos Emitir Relatrio de Vendas por Clientes Emitir Relatrio de Vendas por Data Emitir Relatrio de Produtos em Ordem Alfabtica Emitir Relatrio de Produtos em Ordem Numrica Emitir Relatrio de Clientes em Ordem Alfabtica Emitir Relatrio de Clientes em Ordem Numrica

4 4 13 11 17 18 8 8 15 15

1 1 2 2 4 4 1 1 1 1

Baixa Baixa Mdia Mdia Alta Alta Baixa Baixa Baixa Baixa Tabela 7 Todas SEs foram inferidas no diagrama de caso de uso. Nota-se que em tal diagrama no esto explicitados a quantidade de TEDs e TARs relacionada a cada elemento do projeto. Neste caso, para mapear tais informaes fui obrigado a utilizar os layouts dos relatrios advindos do modelo de interface.

Tabela 18 Contando pontos por funo em um projeto Orientado a Objetos

17

Figura 10 Inferida a partir do diagrama de classes apresentado na Figura 8

De posse da Tabela 18 possvel utilizar a planilha fpaCocomo.xls para finalizar a contagem dos pontos por funo.

Figura 11 - Utilizao da Planilha fpaCocomo.xls em um projeto de software OO.

18

5 Concluso Para efetuar a contagem de pontos por funo em um projeto necessrio que a modelagem do software esteja documentada. Para ter a noo exata de quanto representa um ponto por funo para voc ou para sua empresa, implemente o software modelado neste livro texto, anote a quantidade de horas e verifique quantas linhas de cdigo foram gerada. Com certeza esta ser a primeira experincia de sua base de conhecimento. Referncias Bibliogrficas Dekkers. C. A. Desmistificando Pontos por Funo. Disponvel para download em http://www.bfpug.com.br/Artigos/ArtigoDekkersDesmistificando.htm. Acessado em junho de 2008.

19

Anda mungkin juga menyukai