O documento discute técnicas para estimar o custo de projetos de software, incluindo a Análise de Pontos de Função. Este método mede o tamanho de aplicações através da contagem de características do software. O documento também aborda frameworks, que fornecem estruturas reutilizáveis para desenvolvimento de software, e padrões de projeto, que promovem a reutilização através de soluções comuns a problemas recorrentes.
2. Ponto de Função
O que fazer quando o preço de um
projeto deve estar abaixo da
concorrência e ao mesmo tempo não
se pode correr o risco de ter um
grande prejuízo?
3. Ponto de Função
Para tentar resolver este problema
algumas técnicas foram criadas e a
mais conhecida é a Análise de Pontos
de Função da IFPUG.
4. Ponto de Função
O que é?
É a medida do tamanho das aplicações
de computados e os projetos que os
constroem.
Como Funciona?
Esta técnica é baseada na contagem
matemática de características do
software.
6. Ponto de Função
Características:
É independente da linguagem utilizada,
da metodologia de desenvolvimento, da
tecnologia ou da capacidade de
desenvolvimento.
Não mede o tempo de construção do
software ou produtividade.
É calculado levando em consideração a
funcionalidade do sistema.
7. Ponto de Função
Cálculo
Identificar ALIs, AIEs, EEs, SEs e CEs
Classificar quanto à complexidade: Simples,
Média ou Complexa
Cálculo de PFBruto
Determinação do FA (Fator de Ajuste) através do
NI (Níveis de Influência)
Cálculo de PFAjustado
8. Ponto de Função
Vantagem
Maior “precisão” no custeio do produto.
Técnica para estimativas de custo e recursos para o
desenvolvimento e manutenção de softwares;
Unidade de medida para comparação;
Implantação de um programa de métricas
Desvantagem
Tempo;
Trabalho.
9. Ponto de Função
Certificação:
◦ CFPS - Certified Function Point Specialist
- é a certificação conferida pelo
International Function Point Users Group
às pessoas aprovadas no exame de
certificação CFPS.
◦ Custo: $250,00;
◦ Tempo: 1 ano e reavaliada anualmente
por até 3 anos;
12. Frameworks
Técnica da orientação a objetos,
voltada para a reutilização que se
beneficia de três características das
linguagens de programação orientada
a objetos:
◦ Abstração;
◦ Polimorfismo;
◦ Herança.
13. Frameworks
Pode ser visto como o esqueleto –
template – de uma aplicação.
São compostos de pontos fixos e
pontos extensíveis.
14. Frameworks
Benefícios:
◦ Melhora a modularização;
◦ Aumenta a reutilização;
◦ Extensibilidade;
◦ Inversão de controle.
15. Padrões de Projeto
Os padrões descrevem maneiras
comuns de fazer as coisas e são
coletados por pessoas que identificam
temas repetidos em projetos.
16. Padrões de Projeto
Facilitam a reutilização de sistemas e
arquiteturas bem sucedidas.
Reduz o custo da manutenção de
software.
17. Padrões de Projetos e
Framework
Frameworks devem ser construídos
fazendo uso dos padrões de projeto.
Padrões de projeto melhoram a
documentação de frameworks.
Um Framework utilizam vários
padrões.