2. Agenda
Visão Geral de COCOMO
Exercício para Aplicação de COCOMO
Estudo de Caso 1: AYK Translator
Estudo de Caso 2: CEF
Conclusão
3. COCOMO – Visão Geral
COCOMO - Constructive Cost Model é
um modelo para estimativa de custos de
projetos de software
O modelo permite a estimativa do custo,
do esforço e de planejar as atividades
de desenvolvimento de um software.
As entradas de COCOMO incluem 4
atributos de produto, 4 atributos de
informática, 5 atributos de pessoais, 3
atributos do projeto.
4. COCOMO – Visão Geral
COCOMO fornece um nível estimado de
esforço homem-mês para o projeto.
Pode ser convertido em valor monetário
se o custo unitário for conhecido.
COCOMO fornece uma boa métrica
para seus custo, esforço, e estimativas
da programação, desde os melhores
casos aos piores casos que podem ser
abordados.
5. COCOMO: Exercício 1
Um sistema de DB para automatização de um projeto
O documento de requisitos necessita de 4 modulos,cujos
tamanho estimado é:
○ Cadastro: 0.6 KDSI
○ Atualizações: 0.6 KDSI
○ Consultar 0.8 KDSI
○ Geração de relatório: 1.0 KDSI
O projeto é julgado como orgânico
Características do projeto:
○ Complexidade elevada
○ Armazenamento elevado
○ Experiência baixa
○ Potencialidades baixas do programador
Outras características julgadas como nominal
Estimativa de pessoas para terminar o projeto
6. COCOMO: Exercício 1
Pessoas = PM (esforço) / TDEV(tempo
de desenvolvimento)
PM = A * (KDSI ^ B) * EAF = 16,35
TDEV = Adur * (KDSI ^ Bdur) * EAF =
6,12
• Pessoas = 2,67
7. COCOMO: Exercício 2
Parâmetros
Projeto complexo, mas conhecido
Tamanho estimado = 96 KDSI
Pouca experiência sobre a aplicação
Conhecimento da linguagem de programação: muito baixo
Tamanho do DB elevado
Metodologia de desenvolvimento: nenhuma
O custo do pessoal é $3K por mês
Pergunta - Usando estimativas intermediárias, valeria a pena
investir:
$100K em metodologias
$120K em treinamento em linguagem de programação
Objetivo: Alcançar o valor nominal para tais características
8. COCOMO: Exercício 2
O esforço é 762 pessoa-mês
Custo em pessoal é $(762 * 3K) = $2286K
Treinamento em Metodologia
Estimativas reduzidas em 70 PM = $210K
Economia é $110K
Treinamento em Ling. De Programação
Estimativas reduzidas em 94 PM = $282K
Economia é $162K
9. COCOMO: Exercício 3
Qual analista você preferiria para seu
projeto?
Um analista hábil com experiência de 4-5
sobre a aplicação
Um grande analista, mas com nenhum
conhecimento da aplicação
10. COCOMO: Exercício 3
Supondo que sua estimativa inicial era
de 1000 horas de trabalho
A nova estimativa será:
EST = 1000 * M1 * M2 *… * Mn
Opção 1:
1000 * 1 * 1 = 1000 horas de trabalho
Opção 2:
1000 * 0.71 * 1.22 = 866 horas de trabalho
11. Estudo de Caso 1
AYK Translator – Tradutor de Linguagens
Empresa: General Dynamics
Framework para migrar arquitetura sistemas
de software legados para uma arquitetura de
padrão aberto (OSA)
12. Estudo de Caso 1
Objetivo:
Uma análise de custo e beníficios será executada
para mostrar a eficácia do tradutor de código
automático.
Mostrar como o tamanho da aplicação afeta na
economia de custo associados com o esforço da
conversão
13. Estudo de Caso 1
Visão Geral do Assembly-to-C Translator (ACT)
A ferramenta basea-se na tradução de AYK em código C/C++
A arquitetura do ACT consiste em 4 componentes:
○ GUI
○ Front-end Parser
○ Analisador/Optimizador
○ Gerador de código Back-end
O ATC foi projetado para preservar a arquitetura legada
O ATC preserva todos os cabeçalhos, comentário, e labels do
software legado
A lista de saída inclui instruções iniciais + código traduzido
A documentação anterior é re-aproveitada
Casos de testes pré-existentes podem ser usados
14. Estudo de Caso 1
Análise do custo/ beneficio usando COCOMO 2
Os três fatores que afetam a estimativa para
SLOC adaptado:
DM - Porcentagem de modificação de arquitetura
“0%”
CM - Porcentagem de código modificado “100%”
IM - Porcentagem de integração requerida “100%
15. A convenção de COCOMO II envolve estimar
a porcentagem do código que é traduzido
automaticamente (AT) , e o valor da
produtividade (ATPROD).
No estudo de caso, 80 por cento do código
eram traduzidos automaticamente, a ATPROD
foi determinado em 2400 e a taxa de
produtividade em 1200 SLOC/PM .
Estudo de Caso 1
18. Estudo de Caso 2 : COCOMO
na tomada de decisões
Investimentos e Casos de Negócios
Orçamentos e Cronogramas
Análise de Trade-offs
Riscos de Custo
Desenvolvimento vs. Reuso
Substituição de Software Legado
Linhas de Produto
Melhoramento de Processo
21. Definição das Abordagens
Estimativas realizadas Fórmula base /descrição Fórmula aplicada
Tamanho APF Indicativa (Proposta
Nesma)
35 PF por arquivo lógico
interno
15 PF por arquivo de
interface externa
Esforço Média de dados internos H/M = (PF * 14,5)/168
Prazo COCOMO básico orgânico Prazo = 2.5 * (H/M)^0,38
Equipe COCOMO básico orgânico Equipe = esforço/prazo
Custo média de custos internos
percentuais de esforço de
técnicos e gerentes dentro
da metodologia
custo hora gerencial *
esforço gerencial (%) +
custo hora técnico *
esforço técnico (%)
23. Conclusão
Para atender todas as demandas de
2004 seriam necessários 3.169
homens-mês, o que significa que, no
pior caso, teriam que ser contratadas
264 pessoas por mês.
24. Bibliografia
Calazans, Angélica Toffano Seidel e Oliveira, Marcelo Antonio Lopes de.
Uso das ferramentas APF e COCOMO para estimativa da capacidade
produtiva da TI. III Simpósio Brasileiro de Qualidade de Software. 2004
Disponível em:
http://www.sbc.org.br/bibliotecadigital/download.php?paper=253
Acessado em: 19/06/07
Barry W. Boehm, Chris Abts, A. Winsor, Sunita Chulani, Bradford K. Clark,
Ellis Horowitz, Ray Madachy, Donald Reifer. Bert Steece. Software Cost
Estimation with COCOMO II. Prentice Hall, July 2000.
Cap 2.6 USING COCOMO II FOR SOFTWARE DECISIONS pp. 59-68
AYK Translator - Reusing Legacy Software with
Tomorrow’s Technology
SPM07. Exercises on COCOMO