1. Qualidade de
Software
Aula 05 - QS - COCOMO
Prof. Ms. Luiz Alberto
Contato: lasf.bel@gmail.com
Prof. Luiz Alberto -Aula 05 - QS - COCOMO
Estimativa de Esforço
• É difícil fazer uma estimativa precisa de esforço
de desenvolvimento
– Os requisitos podem ser de alto nível, incompletos ou
imprecisos
– Não se conhece bem o ambiente no qual o software irá
operar (hardware, usuários, etc.)
• Apesar das dificuldades, as empresas precisam
estimar esforço e custos
– 1 –
Prof. Luiz Alberto -Aula 05 - QS - COCOMO
Razões para se medir o software:
• Indicar a qualidade do produto
• Avaliar a produtividade dos que desenvolvem o
produto
• Determinar os benefícios derivados de novos
métodos e ferramentas de engenharia de software
• Formar uma base para as estimativas
• Ajudar na justificativa de aquisição de novas
ferramentas ou de treinamentos adicionais
– 2 – Prof. Luiz Alberto -Aula 05 - QS - COCOMO
• Custo: real R$
• Prazo: inteiro semanas
• Tamanho ou porte : inteiro unidade
• Esforço: inteiro pessoas/mês
• Linhas de Código: inteiro unidade
• Velocidade de Execução: inteiro segundos
• Tamanho de Memória Utilizada: inteiro KB
• Funcionalidade: inteiro unidade
• Complexidade:
• Eficiência:
• Qualidade:
Medidas de Software
2. Prof. Luiz Alberto -Aula 05 - QS - COCOMO
Métricas para Planejamento e
Gerenciamento
• Objetivos
– Dimensão dos produtos
• Modelos, protótipos, documentos e software
– Esforço de produção
• Pessoas necessárias num período de tempo
– Produtividade
• Quantidade produzida por esforço
– Defeitos
• Número de erros encontrados
– Custo de produção
• Valor do esforço de produção e correção de erros
– 4 – Prof. Luiz Alberto -Aula 05 - QS - COCOMO
Principais Métricas
– 5 –
Prof. Luiz Alberto -Aula 05 - QS - COCOMO
Tamanho = LOC e Ponto-por-
Função
• Métricas relacionadas a tamanho do código
– Linhas de código fonte (LOC ou SLOC)
– Mede todo o esforço necessário para entregar um código correto,
sem erros.
– Depende da linguagem
• Métricas relacionadas a funções
– Determinadas pela funcionalidade do sistema.
– Independente de linguagem
• Em qualquer abordagem é necessário:
– ter experiência
– e utilizar dados históricos
– 6 – Prof. Luiz Alberto -Aula 05 - QS - COCOMO
Modelo COCOMO
• Nos anos 1980, Barry Boehm propôs uma hierarquia de
modelos de estimativa de software denominada
COCOMO (Constructive Cost Model).
– O modelo COCOMO tornou-se um dos modelos de estimativa de
custo de software mais amplamente usados.
• Mais tarde, o modelo COCOMO evoluiu para um modelo
mais abrangente, chamado COCOMO II.
– 7 –
3. Prof. Luiz Alberto -Aula 05 - QS - COCOMO
Modelo COCOMO II
• É uma hierarquia de modelos que tratam das seguintes
áreas:
– Modelo de composição da aplicação
• Usado nos primeiros estágios da engenharia de software
– Modelo do primeiro estágio de projeto
• Usado depois que os requisitos foram estabilizados e a
arquitetura foi estabelecida.
– Modelo para o estágio após a arquitetura
• Usado durante a construção do software.
– 8 – Prof. Luiz Alberto -Aula 05 - QS - COCOMO
Modelo COCOMO II
• Como todos os modelos de estimativa de software, requer
informação de tamanho.
– Três opções:
• Pontos por objeto
• Pontos por função
• Linhas de código-fonte
• Métrica pontos por objeto
– É calculada usando-se a contagem da quantidade de:
– Telas (na interface com o usuário)
– Relatórios
– Componentes que serão necessários pra construir a aplicação.
• – Cada objeto é classificado em três níveis de complexidade.
– 9 –
Prof. Luiz Alberto -Aula 05 - QS - COCOMO
Modelo COCOMO II
• A porcentagem de re-uso é estimada e a contagem de
pontos por objeto é ajustada.
• A produtividade é estimada usando-se:
– A experiência/capacidade do desenvolvedor.
– A maturidade/capacidade do ambiente de desenvolvimento.
• O esforço é estimado usando-se os pontos por objeto e a
produtividade.
E = NOP/PROD
– 10 – Prof. Luiz Alberto -Aula 05 - QS - COCOMO
ponto de objeto
• Cada instância de objeto (por exemplo, uma tela ou um relatório) é
classificada em um dentre três níveis de complexidade (simples,
médio ou difícil) usando critérios sugeridos por Boehm [Boe96].
• Uma vez determinada a complexidade, os números de telas,
relatórios e componentes são ponderados de acordo com a tabela
abaixo:
– 11 –
4. Prof. Luiz Alberto -Aula 05 - QS - COCOMO
Produtividade
• Tabela de produtividade de ponto de aplicação
por desenvolvedor (PROD)
– 12 –