Baixe o app para aproveitar ainda mais
Prévia do material em texto
O homem não pode controlar o que não pode medir. O desenvolvimento do software, sob o aspecto gerencial, precisa ser medido. Vamos apresentar os principais conceitos envolvidos na medição do software. Quando temos interesse em saber o crescimento, a idade ou melhorar na qualidade de alguma coisa devemos estabelecer “conceitos” que nos ajudem a verificar esta evolução. E sobre estes conceitos são feitas medidas que permitem comparar situações. É comum na engenharia, dado um objetivo fazermos medidas. Assim, por exemplo, após se definir o que é corrente elétrica pode-se definir uma forma de medir e a partir daí pode-se comparar a intensidade de corrente elétrica em diversos circuitos. Mas, quando o que se quer medir não é bem definido é comum confundirmos este conceito com a própria medida. Por exemplo, pé direto: define-se que é a distância entre um plano inferior (piso) e um plano superior (Teto). E ao se pedir qual o pé direito de um cômodo, apresenta-se a medida entre os dois planos, por exemplo, 3 metros. Assim se pede “qual o pé direito do cômodo?" Resposta: 3 metros. Na prática assume-se a definição comum. Mas, se o objetivo entrar com um eletrodoméstico de 2,80 metros e no cômodo existe uma viga com 60 cm para baixo o real pé direito é de 2,40metros e o eletrodoméstico não poderá ser colocado no cômodo apesar dos 3 metros entre planos. Assim, deve-se procurar identificar o que se deseja para a partir daí se definir claramente o que medir. O conceito que se deseja estabelecer é o que chamamos de uma métrica. Abordagens Iniciais Para poder comparar coisas o homem tem necessidade de medir. Para saber, por exemplo, se uma pessoa é mais alta que outra podemos colocá-las lado a lado e verificar quem é mais alto. Esta forma de comparar exige que tenhamos as pessoas presentes o que não é prático. Também é comum dizer que uma pessoa é alta, ou baixa. Mas não se sabe o quanto é alto ou baixa, e fica-se dependendo da noção de altura do observador. É comum, ao se perguntar por uma localidade, se receber como resposta que é perto ou longe. Dependendo de quem responde pode-se estar falando de uns poucos quarteirões ou de alguns quilômetros. Os exemplos acima mostram que há necessidade de se estabelecer alguns conceitos que criem um referencial comum para podermos comparar “coisas” ou processos. Quando temos interesse em saber o crescimento, a idade ou melhorar na qualidade de alguma coisa devemos estabelecer “conceitos” que nos ajudem a verificar esta evolução. Uma medida direta é feita no processo ou produto de forma direta. A indireta é feita por medidas que serão usadas em cálculos para se calcular a medida final. Exemplo de especificação de uma métrica para o software: Segundo a métrica: qual o grau de complexidade ciclomática do trecho de programa ao lado: Medidas Indiretas e Medida da Funcionalidade Esta aula apresenta as regras de contagem de APF, baseadas no Function Point Counting Pratices Manual – Release 4.1.1, publicado pelo IFPUG, em 1999. Para se fazer a contagem, o IFPUG definiu um processo que deve ser seguido. O processo de contagem é mostrado na imagem. O objetivo é contar as funcionalidades do software, ainda no inicio do projeto. Análise de Ponto Função (APF) determina um número real a partir de entradas, saídas, consultas, interfaces externas e arquivos lógico. A imagem exemplifica esses elementos. A contagem simples, associada ao peso, devido a complexidade do software dos elementos acima, produze um número que mede a funcionalidade sem nenhum ajuste. É o total de pontos, função não ajustado. Muitas empresas trabalham apenas com esse número, como vimos na aula 3. Medidas Indiretas e Medida da Funcionalidade Processo De Contagem O processo de contagem, definido pelo IPFUG, é feito em sete passos, conforme mostrado na imagem: Vamos estudar nesta aula, e na próxima os passos mostrados na imagem. O processo de contagem é feito em sete passos. Nesta aula, vamos aprender como desenvolver os passos 1, 2 e 3. Observe que na aula passada você aprendeu como se determina o fator de ajuste que corresponde ao passo 6 da imagem e, na próxima aula, vamos desenvolver sobre o passo 4, 5 e 7. Medidas Indiretas e Medida da Funcionalidade Determinar o tipo de Contagem (passo 1) Medidas Indiretas e Medida da Funcionalidade Identificar O Escopo Da Contagem E A Fronteira Da Aplicação (Passo 2) A identificação do escopo visa definir a abrangência da contagem estipulando, se a contagem vai se referir a um ou mais sistemas, ou a apenas parte de um sistema. No escopo da contagem de uma aplicação podem-se considerar todas as funcionalidades disponíveis, ou algumas funcionalidades específicas. A fronteira da aplicação estabelece o limite do estar sendo contada, indicando o limite entre a aplicação e os demais usuários. A fronteira é definida, estabelecendo um limite lógico entre a aplicação que está sendo contada o usuário e as outras aplicações. Medidas Indiretas e Medida da Funcionalidade Contagem Das Funções De Dados (Passo3) As funções de dados são funcionalidades fornecidas ao usuário para as necessidades de dados. São chamados de Arquivos Lógicos Internos(ALI) e Interface Externa (AIE). Arquivo não significa um arquivo físico, no sentido tradicional , mas refere-se a um grupo de dados logicamente relacionado e reconhecido pelo usuário. O IFPUG complementou os procedimentos e regras do CPM 4.1.1 com um nova seção denominada "Práticas de Contagem", onde situações como dados de código, dados compartilhados e outros casos devem ser avaliados A imagem é do COM 4.1.1 e mostra como deve ser feita a contagem e o que deve ser considerado: Medidas Indiretas e Medida da Funcionalidade Prática De Contagem ALI E AIE As transações existentes devem ser para manutenção de dados e os dados de código não devem ser consideradas como processos elementares, nem os dados de código contados. Como exemplos de um ou mais ALIs , dependendo da visão do usuário , têm-se : (IFPUG,1999) dados da aplicação (arquivos mestres como cadastro de clientes ou funcionários); arquivos de dados de segurança da aplicação; arquivos de dados de auditoria; arquivos de mensagem de auxílio; arquivos de mensagens de erro; arquivo de cópia de segurança- considerado somente se for solicitado pelo usuário para atender requisitos da aplicação; arquivo que sofra manutenção por mais de uma aplicação. Não são considerados como ALI: Arquivos temporários. Arquivos de trabalho. Arquivos de classificação. Arquivos de cópia de segurança requerido pelo CPD. Arquivos introduzidos somente por causa da tecnologia usada. Ex.: Arquivos de parâmetro para um software WFL, JCL etc. Operações de junção e projeção. Arquivos de índices alternativos. São considerados AIE , conforme a visão do usuário (IFPUG,1999): Dados de referência (dados externos usados pela aplicação ,mas que não são usados para manutenção em ALI). Arquivos de mensagens de auxílio.Arquivos de mensagens de erro. Não são considerados AIE: Dados recebidos de outra aplicação, usados para adicionar, alterar ou remover dados em um ALI. Dados cuja manutenção é feita pela aplicação que está sendo avaliada, mas que são acessados e utilizados por outra aplicação. Dados formatados e processados para uso por outra aplicação. Primeiro passo: Determinar o escopo da contagem. Foi dito pelo usuário que receberia a informação de alunos de outro sistema, portanto, estamos considerando o Usuário com arquivo de interface externa. Segundo passo: O sistema é novo e vamos fazer a contagem para desenvolvimento. Não existe migração de dados ou projetos auxiliares na implantação: Processos básicos do usuário são para a manutenção de arquivo de empréstimos, autores e livros Terceiro passo: Determinação das contribuições dos ALI. A Classe livro é de persistência e constitui um ALI = temos um registro lógico e quatro itens de dados: entrando na tabela, temos que é de complexidade: simples A classe autor é um ALI, com um registro lógico e dois itens de dados: na tabela de complexidade é simples. A classe autoria relaciona autor com livro, portanto tem um registro lógico e como já contamos os itens de relacionamento, vamos considerar um item de dados. A classe empréstimo associa um elemento externo com o livro. Nesse caso, só contamos o número de livro em livro. Temos um registro lógico e dois itens de dados, portanto verificamos na tabela que é simples: Temos quatro ALI simples, consultando a tabela de contribuição temos 7 PF por ALI, portanto contribui com 4* 7 PF = 28 PF. Considerando os AIE, temos um registro com 4 itens, portanto simples, contribuindo com mais 5 PF; A contribuição dos ALI e AIE são de 28 + 5= 32 PF não ajustados Contagem das funções transacionais As funcionalidades do sistema, para o usuário, são apresentadas na forma de funções. São elas que manuseiam os dados. As funções são classificadas quanto a relação de uso em de Entrada externas, Saídas e Consultas externas. Existem muitas dúvidas e divergências quanto a forma de contar essa funções. Uma consulta é uma entrada? É uma saída? Para criar um parâmetro de referência, na classificação das funções, o IFPUG criou uma tabela que resume os objetivos primários de cada tipo de função transacional e a identificação é feita por este objetivo. Definição: Um processo elementar é a menor unidade de atividade significativa para o usuário final e tem as características: - Deve ser completo em si mesmo. - Deve deixar a aplicação em um estado consistente. Entradas Externas Determinação da complexidade da Entrada externa Cada EE deve ser classificada conforme sua complexidade funcional relativa que é baseada no número de Arquivos Referenciados (ALI e AIE) e no número de itens de dados (ID). Consultas Externas Consultas Externas Princípios e conceitos da Governança Corporativa O cálculo dos pontos de função não ajustados: É feito da seguinte forma: para cada um dos cinco tipos de função (ALI, AIE , EE, SE e CE), verifica-se a complexidade e o peso multiplicado pelo número de elementos contados em uma mesma complexidade. O total é chamado de pontos de função (TPF). Cálculo de Pontos de Função para um projeto de desenvolvimento O projeto de desenvolvimento apresenta três componentes em termos de funções : Funcionalidades da aplicação, incluídas pelos usuários como requisitos – "Compreendem as funções usadas depois da instalação do sistema. Elas existem para satisfazer as necessidades de saída do negócio do usuário." (IFPUG,1999) Funcionalidades de conversão, incluídas pelos usuários como requisitos – "Compreendem funcionalidades providas somente na instalação do sistema. Elas existem para converter dados ou proporcionar outros requisitos estabelecidos pelo usuário e necessários à conversão." (IFPUG,1999) Valor do fator de ajuste da aplicação – "Compreende a determinação das 14 características gerais do sistema em desenvolvimento, para avaliar a complexidade funcional da aplicação". (IFPUG,1999) As estimativas de custos e prazos em software não são ciência exata, mas temos necessidades de diminuir, em nível de erro, das nossas estimativas. Existem muitos aspectos que podem influenciar nas estimativas. Um erro na estimativa pode comprometer o projeto e ser desastroso para os desenvolvedores. Os submodelos são: A– Um modelo de Composição de aplicação. B – Um modelo de projeto preliminar. C – Um modelo de Reuso. D – Um modelo de pós-arquitetura Conclusão Estimativas – Outros modelos e uso de PF Esse modelo é um modelo dinâmico de múltiplas variáveis que pressupõem a distribuição do esforço ao longo da existência de um projeto de desenvolvimento. Foi construído, analisando-se grandes projetos. O esforço em grandes projetos é caracterizado como mostrado na figura abaixo, reproduzida do professor Pressmam: Figura 3.10 Distribuição do esforço - grandes fases. (Fonte: Software Cost Estimating and Life Cycle Control, IEEE Computer Society Press, 1908, p. 15. Reproduzidocom autorização.) Essa figura mostra curvas clássicas que foram apresentadas por Lorde Rayleigh e forma compilados por Norden, por isto a curva é chamada de curva Rayleigh-Nortem. Estimativas de projetos orientado a objetos O software orientado a objetos deve ter outra abordagem: 1- Desenvolver estimativas, usando decomposição de esforço, análise FP que seja aplicável a aplicações convencionais. 2- Desenvolver casos, usos e determine uma contagem. Reconhecer que o número de casos e uso podem modificar à medida que se desenvolve o projeto. 3- A partir do modelo de análise, determinar o número de classes-chave. 4- Categorizar o tipo de interface para aplicação, para as classes de apoio. -Multiplicar o número de classes chaves pelo multiplicador, para obter uma estimativa para o número de classes de apoio. 5- Multiplicar o número total de classes (chave e apoio) pelo número médio de unidades de trabalho por classes. Autores, como Lorenz, sugerem entre 15 a 29 pessoas dia por classe. 6- Fazer a verificação cruzada em estimativas baseadas em classes, multiplicando o número médio de unidades por caso e uso. Estimativas com métodos ágeis Um projeto usando um processo de desenvolvimento ágil e feito como um conjunto de cenários de usuários. É possível desenvolver uma estimativa com razoável significado com os seguintes passos: 1- Cada cenário de usuário é considerado separadamente para a estimativa. 2- O cenário é composto de um conjunto de funções e tarefas de engenharia de software. 3 a- Cada tarefa é estimada separadamente. 3 b- O tamanho do cenário pode ser estimado em LOC, PF ou alguma outra medida orientada a volume 4.a- As estimativas de cada tarefa são somadas para criar uma estimativa de cenário 4.b- O volume de esforço é estimado para cenário é traduzido para esforço baseado em dados históricos 5- As estimativas de esforço para todos os cenários que devem implementar um incremento de software são somadas para definir a estimativa para o incremento. Normalmente, a duração do desenvolvimento de um incremento é da ordem de 3-6 semanas;a estimativa serve para garantir que o número de cenários a ser incluído no incremento esteja de acordo com os recursos disponíveis. Estimativa usando Caso e USO PCU – Pontos por Caso de Uso – Foram criados por Gustav Karner, em 1993 como uma adaptação específica dos Pontos de Função para medir o tamanho de projetos de software orientados a objeto. Explora o modelo e descrição do caso de uso, substituindo algumas características técnicas proposta pelos Pontos de Função. É um método simples e de fácil utilização, mas ainda esta em fase de pesquisas e não existem regras de contagem padronizadas. Tem-se estudado a aplicação em conjunto da PCU e APF, tentando explorar a relação entre elas existente. (EDMÉIA,2004). Estimativas usando ponto função A estimativa de tamanho de um projeto de software é uma atividade crítica, pois, tem um impacto, tanto na solução técnica apresentada, como no gerenciamento do projeto de software, devendo ser efetuada não somente no início do projeto, mas durante o ciclo de vida do projeto. Uma pesquisa realizada pela Secretaria de Política de Informática – SEPIN , em 2001, indicou que a utilização da APF vem crescendo no Brasil, conforme mostra a tabela 2.1: Métricas primitivas utilizadas para medir a qualidade dos processos de software Fonte: SEPIN , 2005. Estimativas usando ponto função Considerando que a APF é uma das técnicas funcionais mais antigas que possui um dos grupos de usuários mais bem estruturados e atuantes e que a partir de 2002 passou a condição de padrão internacional, através da norma ISO/IEC 20926. A técnica pode ser considerada como uma das melhores alternativas de medição de tamanho do projeto de software. APF serve como um instrumento para acompanhar estimativas de custo e recursos requeridos para o desenvolvimento e manutenção de software. Sistema de manutenção de clientes Determinar o tamanho funcional do sistema de manutenção Entidades e funções do processo de manutenção de clientes: A tecnologia usada no sistema para manutenção de cliente será de implementação em um site (processamento nas nuvens), usando a linguagem PHP (com suporte a objetos), envolvendo 3 camadas : camada de dados , camada de aplicação e camada de apresentação. Determinar o tamanho funcional do sistema de manutenção Para estimar o tamanho, será feita uma contagem estimativa, segundo o modelo que estudamos nas aulas anteriores - IFPUG. Vamos usar o processo de contagem, conforme preconiza o manual do IFPUG, para determinar o número de pontos por função de um projeto de software. Conclusão Introdução A APF (Análise de Ponto de Função) tem o seu uso aceito pela maioria das empresas, pois, estabelece um padrão e uniformidade de contagem, quando se usa o manual de contagem. Isso favorece o uso pelas empresas. Além disso, não tem os inconvenientes que as contagens de LOC apresentam. Trabalhar com a funcionalidade, liberta o profissional que faz orçamentos, de aspectos que só serão definidos na fase de desenho do software e esta é uma vantagem importante. Imagine você ter que decidir, usando a contagem de número de linhas de código se ainda nem decidiu que linguagem irá utilizar. Outro aspecto importante é que o de processo de desenvolvimento seja qualquer um. As empresas, hoje, buscam padronizar o seu processo de desenvolvimento ou mais de um, dependendo do tipo de produto que pretendem utilizar. No nível três do CMM, que é uma referência mínima para as empresas que desejam trabalhar com qualidade, o processo é estabelecido e os profissionais treinados no processo. Custo de um PF para a empresa Em empreendedorismo, você deve aprender que as empresas têm dois tipos de custo, o fixo e o variado. O custo total da empresa, em um determinado período ou para uma determinada produção, é a soma dos dois custos. Na empresa que trabalha com ponto função, deve-se determinar o valor em termos monetários para o total de PF produzido em um determinado período. Vamos supor, para efeitos didáticos, que uma empresa entregou no prazo de um mês 180,2 PF. E essa mesma empresa tem um custo total de R$ 27580,00. Assim o custo dessa empresa, por ponto função é de: R$ 27580,00/ 180,2 PF O Valor, para fins de controle e orçamentos, é de um custo de: 1515,38 O valor calculado acima, pode ter sido determinado, em determinadas condições, com um valor de aluguel, um nível de salário e outros aspectos que podem ser alterados, portanto, deve ser revisto periodicamente como, por exemplo, mensalmente e informado para os gestores. Nesse mês (ou período), segundo o cálculo acima, o nosso custo será de 1515,38/PF. Também, se pode determinar o “BREAK EVENT POINT”, ou ponto de equilíbrio, em termos de PF, determinar o número de PF que se deve produzir para a empresa iniciar a dar lucro. Veja o gráfico abaixo: Pode-se determinar o número de PF que a empresa deve produzir para iniciar a sua fase de lucro. A importância de uma base estatística de projetos É preciso que se mantenha uma base estatística de projetos realizados e que a tomada de registros para esta base estatística esteja adequada aos processos de desenvolvimento da empresa e a metodologia usada em cada etapa, ou template estabelecido. Nesse caso, vamos supor que nossa empresa tem registrado por projeto, dividido por caso e uso, as fases e registrando os respectivos custos por etapa podemos identificar % de utilização valor total para cada fase. A importância de uma base estatística de projetos Veja ao lado o registro para um caso e uso: Dessa forma registrando – se, para cada caso e uso, esses dados, podemos estabelecer um % de utilização médio para a empresa. Você poderia ficar preocupado com aspectos como complexidade ou característica do software, mas isto já esta resolvido. Esses aspectos foram considerados, quando se fez a análise de ponto função. Também, determina-se a média de implementar um ponto função, no caso estamos considerando a unidade como dias, do caso e uso, registrado acima, obtém o número de horas pelo total de PF temos: 234 horas/ 180,2 PF = 1,30 horas /PF O mesmo para o custo por PF: R$ 6834/180,2 = R$ 37,93 /PF Tabela de distribuição dos pontos funções Depois de um determinado período de observação, pode-se determinar uma tabela de distribuição dos pontos funções como abaixo: Atenção Essas tabelas devem ser periodicamente ajustadas para refletirem a realidade da empresa, de modo que a base estatística deve ser ampliada. Conclusão A organização de parâmetros de decisão, ao longo do processo, é fundamental para se gerar um sistema confiável de estimativas e de controle gerencial, para o acompanhamento de projetos, em termos de custo e prazo. Introdução Definir um conjunto de dados que permita se ter gerencia do processo e do produto é importante, mas precisamos aprender a trabalhar com estes dados. Suponha que estamos falando de uma empresa com um tempo de vida curto e que entre outros dados registrou-se os apresentados na tabela abaixo: Podemos colocar estas informações em um gráfico para determinarmos novos esforços para uma determinada quantidade de PF. Assim o gráfico não é continuo e apresenta os seguintes pontos. Pode-se também tirar da tabela q gráfico que mostra o grau de erro da estimativa em relação ao realizado, em ponto função. Verificou-se uma tendência linear de45 graus o que mostra que a estimativa está muito próxima da realizada, com pequenas diferenças. Os projetos da nossa empresa são relativamente pequenos e estasdistorções são absorvidas na margem de segurança que a empresa dá em seus orçamentos. Estes dados, entretanto podem nos levar a sérios prejuízos se não forem tratados tecnicamente. Os pontos (ou falta deles) podem nos levar a uma serie de suposições. Se assumimos que o comportamento é próximo de linear, devemos saber que esta simplificação poderá nos custar caro, pois dificilmente temos este tipo de comportamento. Na nossa tabela temos ainda poucos dados para definirmos o grau de incerteza e definir por uma das curvas. Quando estimados utilizando estas curvas introduzimos riscos nas nossas estimativas, para valores que ainda não constam na tabela, ou estão fora do intervalo existente até o momento. Observe que para um número menor de PF usar a tendência linear nos leva a estimar valores de forma mais alta que da forma exponencial, invertendo-se a tendência a partir do momento que os projetos se tornam significativos. Interpolação Considere que temos um levantamento de um produto com 230 PFA e devemos usar a tabela para definir o esforço necessário. Se analisarmos a tabela não temos como obter a informação diretamente, pois nenhum projeto até o momento tem 230PFA. Para isto precisamos deduzir um valor a partir dos dados da tabela, chama-se de interpolação. Dados pontuais Através da interpolação, pode-se construir uma função que se ajuste nestes dados pontuais, representando a continuidade desejada. Outra aplicação da interpolação é a aproximação de funções complexas por funções mais simples. Suponha que tenhamos uma função, mas que seja complicada demais para que seja possível avaliá-la de forma eficiente. Podemos, então, escolher alguns dados pontuais da função complicada e tentar interpolá-los com uma função mais simples. Obviamente, quando utilizamos a função mais simples para calcular novos dados, normalmente não se obtém o mesmo resultado da função original, mas dependendo do domínio do problema e do método de interpolação utilizado, o ganho de simplicidade pode compensar o erro. Funções O desenho mostra que ao se conhecer poucos pontos temos uma série de funções que podem se ajustar. O problema da interpolação consiste em substituir funções intricadas por um conjunto de funções mais simples, de tal forma que muitas operações comuns como a diferenciação e a integração, possam ser realizadas mais facilmente. A interpolação consiste basicamente em encontrar uma função que seja a expressão lógica de determinados pontos de uma função desconhecida, ou seja, conhecendo-se (x1 , y1), (x2 , y2).....(xn , yn) de uma função desconhecida poderemos calcular o valor numérico intermediário da função num ponto não tabelado com certo grau de erro. Pontos de amarração Os pontos de amarração são os pontos em que a função substituta conterá da função tabela, no qual será construída uma função para um respectivo intervalo. Para se fazer escolha de uma infinidade de funções que venham assumir determinados pontos faz-se na verdade a escolha de uma função onde se possa trabalhar com simplicidade, deste modo a função mais simples um polinômio. Antes de prosseguir leia o texto “A Interpolação polinomial”. Erros das estimativas interpoladas Uma vez que entendemos que a partir de uma tabela, em geral, não vamos conseguir obter uma função que modele o fenômeno de maneira exata mas somente uma de uma forma aproximada, surge outro problema: como escolher o tipo de função que aproxima o fenômeno? Em outras palavras: que tipo de interpolação devemos fazer? Veja que o fato da aproximação ser razoável (boa) ou não para modelar o fenômeno estudado dependerá da resposta a esta pergunta. Por outro lado, a pista para esta resposta deve estar contida na tabela. Os pontos listados na tabela podem mostrar uma tendência que devemos respeitar se desejamos que a função de interpolação represente de forma razoável o fenômeno estudado. A interpolação consiste basicamente em encontrar uma função que seja a expressão lógica de determinados pontos de uma função desconhecida, ou seja, conhecendo-se (x1 , y1), (x2 , y2).....(xn , yn) de uma função desconhecida poderemos calcular o valor numérico intermediário da função num ponto não tabelado com certo grau de erro. Assim o erro em um ponto qualquer é o módulo de f(x) – G(x). Existem vários processos matemáticos para tratar a interpolação e o seu erro. De uma maneira simplista podemos definir uma curva, no nosso gráfico, que seja limite para considerarmos o erro. A medida que aumentamos nossa base estatística podemos ir aproximando as duas curvas limites (mínimo e Máximo) pra perto da estimativa diminuindo a faixa de erro. Conclusão As interpolações de dados devem ser feitos com muita técnica, ao se estimar uma valor, estamos assumindo um risco. Pode-se aprofundar a teoria matemática. Existe teoria, com métodos bem estabelecidos para se trabalhar com segurança. O nível de erro não deve ser desprezado, pois pode levar a altos prejuízos, quando se tem uma base de dados com pouca informação. O trabalho para produzir , atualizar, testar e gerar a documentação pode ser feita na empresa interessada ou contratada de uma outra empresa. Em qualquer das duas situações o controle da produtividade, prazos e qualidade precisam ser estabelecidos. Assim, as características de acompanhamento que vamos desenvolver para uma empresa externa, devem ser usada na empresa que não contrata com o mesmo ou um pouco menos de rigor. O trabalho de software, quando se trata de empresa externa deve levar em consideração o risco que a empresa contratante deseja correr. Em termos de risco o contratante visa minimizá-lo. Se uma empresa contratante não se importa com o risco como principio do contrato, pode fazer a contratação por homem hora ou transferir o risco para o fornecedor com outro tipo de contratação. No relacionamento são muitos os fatores que introduzem riscos no estabelecimento do relacionamento de contratante e contratado, alias estes riscos já existem quando se atua com profissionais dentro da própria empresa. Concorrências públicas e contratação usando PF São fatores de risco para a determinação do trabalho os seguintes fatos, entre outros: Assim as divergências entre fornecedor e cliente tendem a se agravar. O estabelecimento de um fator de medida comum aceito por fornecedor e cliente já é o inicio do estabelecimento de uma forma de contratação que minimize estes conflitos. Neste caso PF é uma medida que vem se tornado padrão de negociação. Esta modalidade o risco é totalmente transferido para o fornecedor. O contratante negocia com o contratado um preço e as formas de pagamento. O contratante estabelece os pontos de avaliação e pagamento do projeto. Neste caso precisa-se de uma unidade que permita medir o quanto já foi feito do trabalho. O contratado procura estabelecer controles para evitar os riscos, principalmente os introduzidos por mudança de requisitos. A mudança de um requisito implica em uma nova negociação. Muitas vezes se estabelece aditivos contratuais para estas modificações ( ou preços diferenciados). Assim PF se aplica para medir o tamanho do projeto, e principalmente para acompanhar o projeto e liberar o pagamento por fase do projeto. É comum trabalhar-se com distribuições percentuais do total de PF estimado para o projeto estabelecidos entre o contratante e contratado para se controlar o projeto (pagamento, avaliação...). As tabelas abaixo mostram estas formas de distribuição: Nesse caso, para um projeto de R$ 200 000,00 ao se terminar a análisede requisitos deverá ser pago o valor de 20 %, portanto, R$ 40 000,00. Em outra situação que detalha um outro ciclo de vida para um projeto de R$ 100000,00. Esta estipulado que se pagará R$ 10 000,00 no final do levantamento de Dados., conforme mostrado na tabela abaixo: Na aula anterior vimos que podemos estabelecer um valor de custo da empresa por PF. Mas o preço de venda da empresa poderá ter valores diferenciados dependendo do tipo de profissional envolvido ou mesmo do grau de risco que o fornecedor esta assumindo. A determinação do preço por ponto função é certamente um dos mais importantes aspectos para o fornecedor. Pode-se criar uma tabela de valores, para fases do ciclo de vida do projeto, estes valores podem facilmente serem obtidos por engenharia reversa. Neste modelo o fornecedor paga por elementos do projeto. Um elemento é uma tela, um relatório, tabela, caso e uso, linhas de código alteradas, store procedure ou um ponto função. Este modelo é intermediário entre a contratação por homem hora e o preço fixo. Neste modelo a produtividade é um risco do fornecedor, se o contrato é feito por ponto função, o prazo, e o recurso dependem do fornecedor. Por outro lado a modificação de requisitos e os pedidos do contratante são transformados em PF, portanto o risco de aumento é do contratante. Como a Análise de Ponto Função é um método padrão de contagem, as empresas e profissionais de todo o mundo acompanham a padronização de contagem proposta pelo IFPUG faz com que se estabeleça uma referencia para criar uma unidade de contratação - O PF. Assim busca-se consistência e uniformidade na aplicação deste padrão que tem sido a base de contratação das empresas públicas e privadas. A lei 8666 determina que se estabeleça a análise de serviço e se contrate o menor preço. Neste caso as concorrências de contratação de software tem estabelecido condições de participação baseada em Ponto Função, Tomamos como exemplo a concorrência do Banco central. Aconselhamos que leia o edital, onde estabelece-se o total do contrato para os serviços (item 4) conforme você pode ver clicando aqui.
Compartilhar