O 'método COCOMO' (ou COnstructive COst MOdel) é um modelo de estimativa do tempo de desenvolvimento de um software. Criado por Barry Boehm. É baseado no estudo de sessenta e três projetos. Os programas examinaram de 2.000 a 100.000 linhas de código em linguagens de programação de Assembly a PL/I.
COCOMO consiste em três implementações:
Básico
É um modelo estático que calcula o esforço de desenvolvimento de software e seu tempo de desenvolvimento, em função do tamanho de linhas de códigos desenvolvidas.
E = ab(KLOC)bb
D = cb(E)db
P = E / D
Onde E é o esforço aplicado pela pessoa no mês, D é o tempo de desenvolvimento em meses cronológicos, KLOC é o número calculado de linhas de código para o projeto (expressado em milhares), e P é o número das pessoas necessário. Os coeficientes ab, bb, cb e db são dados na seguinte tabela:
Projeto de Software ab bb cb db
Orgânico 2.4 1.05 2.5 0.38
Semi-Destacado 3.0 1.12 2.5 0.35
Embutido 3.6 1.20 2.5 0.32
Cocomo básico é bom por ser rápido em estimativas e custos de software, mas sua exatidão é limitada por causa de sua falta de fatores para explicar as diferenças entre ferramentas, qualidade de pessoal e experiência, uso de ferramentas modernas e técnicas, e outros atributos de projeto que influenciam nos custos de software.
Pode-se conseguir um software interativo auxiliar na estimativa de custos e prazos de projetos de sistemas. A partir de um conjunto de atributos, premissas e modos de desenvolvimento o COCOMO estima os prazos, custos e recursos necessários para cada etapa do ciclo de vida do produto.
[1]
Intermediário
Calcula o esforço de desenvolvimento de software em função do tamanho do programa, que inclui custo, avaliação subjetiva do produto, hardware, pessoal e atributos de projeto.
E = ai(KLOC)(bi).EAF
Onde E é o esforço aplicado em pessoas por mês, KLOC é o número de linhas de código (expressado em milhares) para o projeto e EAF é o fator calculado acima. Os coeficientes ai e o bi são dados na próxima tabela.
Projeto de Software ai bi
Início (orgânico) 3.2 1.05
Meio (semidestacado) 3.0 1.12
Fim (embutido) 2.8 1.50
O método intermediário é uma extensão do método básico, mas com mais categorias de controle como: Atributos do produto, Atributos de hardware, Atributos pessoais, Atributos do projeto.
Avançado
São incorporadas características da versão intermediária com uma avaliação de impacto de custo em cada passo de todo o projeto.
Veja também