FI-TI – Profa. Liliam Sakamoto – Resumo - Métricas para ... · PDF...

2
FI-TI – Profa. Liliam Sakamoto – Resumo - Métricas para medição de sistemas LOC - Loc (Lines of code), métrica usada para medir o tamanho de um programa ou sistema usando o número de linhas de código. KLOC - KLOC é um acrônimo para Kilo Lines of Code (em português, mil linhas de código), é uma medida para tamanho de grandes programas. - É utilizada também como medida de referência comparativa para erros em sistemas, servindo como base para homologação ou aceitação de projetos (Ex: aceita-se até "x" erros por KLOC para aprovar um sistema e colocá-lo em produção). - Um exemplo de de cálculo do tamanho de um software por Kloc: - (KlocOtimista * 4 + KlocEsperado + KlocPessimista)/6 COCOMO - O método COCOMO (ou COnstructive COst MOdel) é um modelo de estimativa do tempo de desenvolvimento de um produto. - 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 possui 3 implementações: - Básica - Intermediária - Avançada Modelo Básico - E: Esforço estimado em pessoas-mês - ab * KLOC bb - Projeto orgânico: ab=2,4 e bb=1,05 - Projeto semi-destacado: ab=3 e bb=1,12 - Projeto embutido: ab=3,6 e bb=1,2 - D: tempo de desenvolvimento recomendado em meses cronológicos - D = cb*E db - cb=2,5 - Projeto orgânico: db=0,38 - Projeto semi-destacado: db=0,35 - Projeto embutido: db=0,32 - P: Número de pessoas recomendado - P=E/D - 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. Exemplo de aplicação: - KLOC pessimista: 30 - KLOC esperado: 20 - KLOC otimista: 16 - KLOC = (16*4 + 20 + 30) / 6 = 19 - Semi-destacado - E = 3 * 191,12 = 81,15 pessoas-mês

Transcript of FI-TI – Profa. Liliam Sakamoto – Resumo - Métricas para ... · PDF...

Page 1: FI-TI – Profa. Liliam Sakamoto – Resumo - Métricas para ... · PDF fileFI-TI – Profa. Liliam Sakamoto – Resumo - Métricas para medição de sistemas LOC - Loc (Lines of code),

FI-TI – Profa. Liliam Sakamoto – Resumo - Métricas para medição de sistemas LOC

- Loc (Lines of code), métrica usada para medir o tamanho de um programa ou sistema usando o número de linhas de código.

KLOC

- KLOC é um acrônimo para Kilo Lines of Code (em português, mil linhas de código), é uma

medida para tamanho de grandes programas.

- É utilizada também como medida de referência comparativa para erros em sistemas, servindo como base para homologação ou aceitação de projetos (Ex: aceita-se até "x" erros por KLOC para aprovar um sistema e colocá-lo em produção).

- Um exemplo de de cálculo do tamanho de um software por Kloc:

- (KlocOtimista * 4 + KlocEsperado + KlocPessimista)/6

COCOMO

- O método COCOMO (ou COnstructive COst MOdel) é um modelo de estimativa do tempo de desenvolvimento de um produto.

- 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 possui 3 implementações:

- Básica

- Intermediária

- Avançada

Modelo Básico

- E: Esforço estimado em pessoas-mês

- ab * KLOCbb

- Projeto orgânico: ab=2,4 e bb=1,05

- Projeto semi-destacado: ab=3 e bb=1,12

- Projeto embutido: ab=3,6 e bb=1,2

- D: tempo de desenvolvimento recomendado em meses cronológicos

- D = cb*Edb

- cb=2,5

- Projeto orgânico: db=0,38

- Projeto semi-destacado: db=0,35

- Projeto embutido: db=0,32

- P: Número de pessoas recomendado

- P=E/D

- 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.

Exemplo de aplicação:

- KLOC pessimista: 30

- KLOC esperado: 20

- KLOC otimista: 16

- KLOC = (16*4 + 20 + 30) / 6 = 19

- Semi-destacado

- E = 3 * 191,12 = 81,15 pessoas-mês

Page 2: FI-TI – Profa. Liliam Sakamoto – Resumo - Métricas para ... · PDF fileFI-TI – Profa. Liliam Sakamoto – Resumo - Métricas para medição de sistemas LOC - Loc (Lines of code),

FI-TI – Profa. Liliam Sakamoto – Resumo - Métricas para medição de sistemas - D = 2,5 * 81,150,35 = 11,64 meses

- P = 81,15 / 11,64 = 7 pessoas

Resumo COCOMO BÁSICO

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

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(LOC)(bi).EAF

Onde E é o esforço aplicado em pessoas por mês, LOC é o número de linhas de código 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

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.

Exercício 1: Método KLOC - (KlocOtimista * 4 + KlocEsperado + KlocPessimista)/6

Cenário a:

- KLOC pessimista: 40

- KLOC esperado: 20

- KLOC otimista: 15

Cenário b:

- KLOC pessimista: 80

- KLOC esperado: 50

- KLOC otimista: 45

Cenário c:

- KLOC pessimista: 90

- KLOC esperado: 64

- KLOC otimista: 17

Exercício 2: Calcular E, D e P do método COCOMO Básico para os cenários acima.